protected function getCollectionGlobalSettings()
{
-
$options = [];
foreach ($this->entry->getPageData()->override_settings as $setting) {
if (!$setting['key']) {
$options = $this->getCollectionGlobalSettings();
$res = [];
+ $updatedPublications = [];
foreach ($data->publications as $publication) {
$fbid = $publication['fluidbook'];
- if ($publication['dir']) {
+ if (isset($publication['dir']) && $publication['dir']) {
$options['dir'] = $publication['dir'];
} else {
$metadata = $ws->getMetadata($fbid);
- $options['dir'] = $metadata->export->install_hosting->{$data->version}->dir ?? Str::slug($metadata->title);
+ $publication['dir'] = $options['dir'] = $metadata->export->install_hosting->{$data->version}->dir ?? Str::slug($metadata->title);
}
$res['Fluidbook #' . $fbid] = $ws->installBookOnHosting($fbid, $options, $data->version);
+ $updatedPublications[] = $publication;
}
+ $this->entry->publications = $updatedPublications;
+ $this->entry->saveQuietly();
return $res;
}
$this->addField('type', SelectFromArray::class, __('Type'), ['column' => true, 'options' => ['export' => __('Export'), 'scorm_multilang' => __('SCORM multilingue')]]);
$this->addField('locale_switch', Checkbox::class, __('Permettre le changement de langue'), ['when' => ['type' => 'scorm_multilang'], 'default' => true]);
$this->addField('version', FluidbookExportVersion::class, __('Version'), ['when' => ['type' => 'export']]);
- $this->addField('publications', BunchOfFieldsMultiple::class, __('Publications'), ['bunch' => CollectionPublication::class]);
+ $this->addField('publications', BunchOfFieldsMultiple::class, __('Publications'), ['bunch' => CollectionPublication::class, 'edit_label' => '%fluidbook > %dir']);
$this->addField('override_settings', BunchOfFieldsMultiple::class, __('Redéfinir les paramètres lors de l\'export'), ['bunch' => Fluidbook_Setting::class]);
}