*/
trait PublicationSettings
{
+ /**
+ * @return array[]
+ */
+ public static function getDownloadVersions()
+ {
+ return [
+ 'online' => ['label' => __('Version online - Version par défaut'), 'default' => true],
+ 'sharepoint' => ['label' => __('Version Sharepoint - Version par défaut'), 'default' => false],
+ 'scorm' => ['label' => __('Version SCORM - Version par défaut'), 'default' => false],
+ 'win_inss_html' => ['label' => __('Version offline - Executable Windows'), 'default' => false],
+ 'win_ins_html' => ['label' => __('Version offline - Installeur Auto-executable Windows'), 'default' => false],
+ 'win_exe_html' => ['label' => __('Version offline - ZIP Windows'), 'default' => false],
+ 'mac_exe_html' => ['label' => __('Version offline - Exécutable Mac OS X'), 'default' => false],
+ 'win_cd_html' => ['label' => __('Version offline - CD-ROM / Clé USB'), 'default' => false],
+ 'win_html' => ['label' => __('Version offline - HTML (Non adaptée à l\'installation sur un serveur web)'), 'default' => false],
+ 'precompiled' => ['label' => __('Version precompilée'), 'default' => false],
+ ];
+ }
+
public function setSettingsFields()
{
$acceptImages = ['.svg', '.jpg', '.jpeg', '.png', '.gif'];
]);
$this->addField('section_downloads', FormSection::class, $this->__('Versions disponibles au téléchargement'));
- $this->addField('download_online', Checkbox::class, $this->__('Version online - Version par défaut'), [
- 'v2' => '{"type":"boolean","editable":true,"default":true,"label":"\\u00a7!\\u00a7Version online - Version par d\\u00e9faut!\\u00a7!","grade":3}',
- 'default' => true,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_sharepoint', Checkbox::class, $this->__('Version Sharepoint - Version par défaut'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version Sharepoint - Version par d\\u00e9faut!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_scorm', Checkbox::class, $this->__('Version SCORM - Version par défaut'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version SCORM - Version par d\\u00e9faut!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_win_inss_html', Checkbox::class, $this->__('Version offline - Executable Windows'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - Executable Windows!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_win_ins_html', Checkbox::class, $this->__('Version offline - Installeur Auto-executable Windows'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - Installeur Auto-executable Windows!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_win_exe_html', Checkbox::class, $this->__('Version offline - ZIP Windows'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - ZIP Windows!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_mac_exe_html', Checkbox::class, $this->__('Version offline - Exécutable Mac OS X'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - Ex\\u00e9cutable Mac OS X!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_win_cd_html', Checkbox::class, $this->__('Version offline - CD-ROM / Clé USB'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - CD-ROM \\/ Cl\\u00e9 USB!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_win_html', Checkbox::class, $this->__('Version offline - HTML (Non adaptée à l\'installation sur un serveur web)'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version offline - HTML (Non adapt\\u00e9e \\u00e0 l\'installation sur un serveur web)!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
- $this->addField('download_precompiled', Checkbox::class, $this->__('Version precompilée'), [
- 'v2' => '{"type":"boolean","editable":true,"default":false,"label":"\\u00a7!\\u00a7Version precompil\\u00e9e!\\u00a7!","grade":3}',
- 'default' => false,
- 'fake' => true,
- 'store_in' => 'settings',
- 'translatable' => false,
- ]);
+
+ foreach (self::getDownloadVersions() as $name=>$downloadVersion) {
+ $this->addField('download_'.$name, Checkbox::class, $downloadVersion['label'], [
+ 'v2' => json_encode(['type'=>'boolean','editable'=>true,'default'=>$downloadVersion['default'],'label'=>$downloadVersion['label'],'grade'=>3]),
+ 'default' => $downloadVersion['default'],
+ 'fake' => true,
+ 'store_in' => 'settings',
+ 'translatable' => false,
+ ]);
+ }
$this->addField('section_elearning', FormSuperSection::class, __('E-Learning'));
$this->addField('section_gamify', FormSection::class, $this->__('Gamification'));