ILIAS  release_8 Revision v8.24
ilAdvancedMDRecordTranslationGUI Class Reference

Class ilAdvancedMDRecordTranslationGUI @ilCtrl_isCalledBy ilAdvancedMDRecordTranslationGUI: ilAdvancedMDSettingsGUI. More...

+ Inheritance diagram for ilAdvancedMDRecordTranslationGUI:
+ Collaboration diagram for ilAdvancedMDRecordTranslationGUI:

Protected Member Functions

 translations ()
 
 saveTranslations ()
 
- Protected Member Functions inherited from ilAdvancedMDTranslationGUI
 setTabs (string $active_tab)
 
 translations ()
 
 addTranslations (ilPropertyFormGUI $form=null)
 show translation creation form More...
 
 initCreateTranslationForm ()
 
 addToolbarLanguageCreation ()
 
 getAvailableLanguagesOptions ()
 
 saveAdditionalTranslations ()
 

Additional Inherited Members

- Public Member Functions inherited from ilAdvancedMDTranslationGUI
 __construct (ilAdvancedMDRecord $record)
 
 executeCommand ()
 Execute command and save parameter record id. More...
 
- Protected Attributes inherited from ilAdvancedMDTranslationGUI
const CMD_DEFAULT = 'translations'
 
const CMD_ADD_TRANSLATION = 'addTranslations'
 
const CMD_SAVE_ADDITIONAL_TRANSLATIONS = 'saveAdditionalTranslations'
 
ilCtrl $ctrl
 
ilGlobalTemplateInterface $tpl
 
ilToolbarGUI $toolbar
 
ilTabsGUI $tabs
 
ilLanguage $language
 
RequestInterface $request
 
ilLogger $logger
 
ilAdvancedMDRecord $record
 

Detailed Description

Member Function Documentation

◆ saveTranslations()

ilAdvancedMDRecordTranslationGUI::saveTranslations ( )
protected
Todo:
use kindlyTo for input parameters

Definition at line 30 of file class.ilAdvancedMDRecordTranslationGUI.php.

30 : void
31 {
32 $languages = (array) ($this->request->getParsedBody()['active_languages'] ?? []);
33 $default = (string) $this->request->getParsedBody()['default'];
34
35 if (!in_array($default, $languages)) {
36 $this->tpl->setOnScreenMessage('failure', $this->language->txt('err_check_input'), true);
37 $this->tpl->setOnScreenMessage('info', $this->language->txt('md_adn_int_error_no_default'), true);
38 $this->ctrl->redirect($this, self::CMD_DEFAULT);
39 }
40
41 $translations = ilAdvancedMDRecordTranslations::getInstanceByRecordId($this->record->getRecordId());
42 foreach ($translations->getTranslations() as $translation) {
43 if (!in_array($translation->getLangKey(), $languages)) {
44 $translation->delete();
45 }
46 }
47 foreach ($languages as $lang_key) {
48 if (!$translations->isConfigured($lang_key)) {
49 $translations->addTranslationEntry($lang_key);
50 }
51 }
52
53 $this->record->setDefaultLanguage($default);
54 $this->record->update();
55
56 $this->tpl->setOnScreenMessage('success', $this->language->txt('settings_saved'), true);
57 $this->ctrl->redirect($this, self::CMD_DEFAULT);
58 }

References ILIAS\Repository\ctrl(), ilAdvancedMDRecordTranslations\getInstanceByRecordId(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

+ Here is the call graph for this function:

◆ translations()

ilAdvancedMDRecordTranslationGUI::translations ( )
protected
Returns
void

Reimplemented from ilAdvancedMDTranslationGUI.

Definition at line 12 of file class.ilAdvancedMDRecordTranslationGUI.php.

12 : void
13 {
14 $this->setTabs(self::CMD_DEFAULT);
15
16 $language_table = new ilAdvancedMDRecordLanguageTableGUI(
17 $this->record,
18 $this,
19 self::CMD_DEFAULT
20 );
21 $language_table->init();
22 $language_table->parse();
23
24 $this->tpl->setContent($language_table->getHTML());
25 }

References ilAdvancedMDTranslationGUI\setTabs().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: