ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAdvancedMDRecordTranslationGUI Class Reference

Class ilAdvancedMDRecordTranslationGUI 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.

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

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  }
+ Here is the call graph for this function:

◆ translations()

ilAdvancedMDRecordTranslationGUI::translations ( )
protected

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

References ilAdvancedMDTranslationGUI\setTabs().

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  }
+ Here is the call graph for this function:

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