7define(
"ILIAS_LANGUAGE_MODULE",
"Services/Language");
9require_once(
"./Services/Object/classes/class.ilObjectGUI.php");
10require_once(
"Services/Language/classes/class.ilObjLanguageAccess.php");
40 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
false)
43 $ilClientIniFile =
$DIC->clientIni();
44 $ilCtrl =
$DIC->ctrl();
48 $lng->loadLanguageModule(
"administration");
49 $lng->loadLanguageModule(
"meta");
52 $ilCtrl->saveParameter($this,
"view_mode");
56 if (!$this->
id =
$_GET[
'obj_id']) {
64 if (!is_array(
$_SESSION[
'lang_ext_maintenance'])) {
65 $_SESSION[
'lang_ext_maintenance'] = array();
67 $this->session = &
$_SESSION[
'lang_ext_maintenance'];
71 $this->langmode = $ilClientIniFile->readVariable(
"system",
"LANGMODE");
83 require_once(
"Services/Language/classes/class.ilObjLanguageExt.php");
102 $ilHelp =
$DIC->help();
105 $this->ilErr->raiseError($this->lng->txt(
"permission_denied"), $this->ilErr->MESSAGE);
109 $cmd = $this->ctrl->getCmd(
"view") .
"Object";
112 $ilHelp->setScreenIdComponent(
"lng");
132 include_once
'./Services/Language/classes/class.ilLanguageExtTableGUI.php';
134 'langmode' => $this->langmode,
135 'lang_key' => $this->object->key,
153 $comments = $this->
object->getAllRemarks();
157 $compare = $table_gui->getFilterItemByPostVar(
'compare')->getValue();
158 if ($compare == $this->object->key) {
159 $compare_object = $this->
object->getGlobalLanguageFile();
160 $compare_content = $compare_object->getAllValues();
161 $compare_comments = $compare_object->getAllComments();
172 if (
$_GET[
'reset_offset']) {
173 $table_gui->resetOffset();
176 if (!isset($compare_content)) {
194 foreach ($translations as
$name => $translation) {
195 $keys = explode($this->lng->separator,
$name);
196 $db_found[] =
$keys[1];
198 $missing_entries = array_diff($topics, $db_found);
203 $filter_mode = $table_gui->getFilterItemByPostVar(
'mode')->getValue();
204 $filter_pattern = $table_gui->getFilterItemByPostVar(
'pattern')->getValue();
205 $filter_module = $table_gui->getFilterItemByPostVar(
'module')->getValue();
206 $filter_module = $filter_module ==
'all' ?
'' : $filter_module;
207 $filter_modules = $filter_module ? array($filter_module) : array();
208 $filter_identifier = $table_gui->getFilterItemByPostVar(
'identifier')->getValue();
209 $filter_topics = $filter_identifier ? array($filter_identifier) : array();
211 if (!isset($compare_content)) {
221 switch ($filter_mode) {
223 $translations = $this->
object->getChangedValues(
231 $translations = $this->
object->getAddedValues(
239 $translations = $this->
object->getUnchangedValues(
247 $translations = $this->
object->getCommentedValues(
255 $translations = $this->
object->getAllValues(
261 $translations = array_intersect_key($translations, $comments);
265 $translations = $this->
object->getAllValues(
271 $translations = array_intersect_assoc($translations, $compare_content);
275 $translations = $this->
object->getAllValues(
281 $translations = array_diff_assoc($translations, $compare_content);
285 $former_file = $this->
object->getDataPath() .
'/ilias_' . $this->
object->key .
'.lang';
286 if (!is_readable($former_file)) {
288 .
'<br />' . $this->lng->txt(
"language_former_file_description"),
false);
289 $translations = array();
292 $global_file_obj = $this->
object->getGlobalLanguageFile();
294 $former_file_obj->read();
295 $global_changes = array_diff_assoc(
296 $global_file_obj->getAllValues(),
297 $former_file_obj->getAllValues()
299 if (!count($global_changes)) {
300 ilUtil::sendInfo(sprintf($this->lng->txt(
"language_former_file_equal"), $former_file)
301 .
'<br />' . $this->lng->txt(
"language_former_file_description"),
false);
302 $translations = array();
305 $translations = $this->
object->getChangedValues(
311 $translations = array_intersect_key($translations, $global_changes);
316 $translations = $this->
object->getAllValues(
326 foreach ($translations as
$name => $translation) {
327 $keys = explode($this->lng->separator,
$name);
330 $row[
"module"] =
$keys[0];
331 $row[
"topic"] =
$keys[1];
332 $row[
"name"] =
$name;
333 $row[
"translation"] = $translation;
334 $row[
"comment"] = $comments[
$name];
335 $row[
"default"] = $compare_content[
$name];
336 $row[
"default_comment"] = $compare_comments[
$name];
341 if ($changesSuccessBool) {
346 $table_gui->setData(
$data);
347 $tpl->setContent($table_gui->getHTML() .
348 $this->buildMissingEntries($missing_entries));
357 $table_gui->writeFilterToSession();
358 $table_gui->resetOffset();
368 $table_gui->resetOffset();
369 $table_gui->resetFilter();
379 $changesSuccessBool = 0;
381 $save_array = array();
382 $remarks_array = array();
383 foreach (
$_POST as $key => $value) {
386 $key = str_replace(
'_POSTDOT_',
'.', $key);
387 $key = str_replace(
'_POSTSPACE_',
' ', $key);
393 if (count(
$keys) == 2) {
395 $value = preg_replace(
"/(\015\012)|(\015)|(\012)/",
"<br />", $value);
396 $value = str_replace(
"<<",
"«",$value);
397 $value =
ilUtil::stripSlashes($value,
true,
"<strong><em><u><strike><ol><li><ul><p><div><i><b><code><sup><pre><gap><a><img><bdo><br><span>");
398 $save_array[$key] = $value;
401 $remarks_array[$key] =
$_POST[$key . $this->lng->separator .
"comment"];
409 $changesSuccessBool = 1;
421 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
423 $form->setFormAction($this->ctrl->getFormAction($this));
424 $form->setTitle($this->lng->txt(
"language_import_file"));
425 $form->addCommandButton(
'upload', $this->lng->txt(
"upload"));
431 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepall"),
"keepall");
432 $ro->setInfo($this->lng->txt(
"language_mode_existing_keepall_info"));
434 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepnew"),
"keepnew");
435 $ro->setInfo($this->lng->txt(
"language_mode_existing_keepnew_info"));
437 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_replace"),
"replace");
438 $ro->setInfo($this->lng->txt(
"language_mode_existing_replace_info"));
440 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_delete"),
"delete");
441 $ro->setInfo($this->lng->txt(
"language_mode_existing_delete_info"));
443 $rg->setValue($this->session[
"import"][
"mode_existing"] ? $this->session[
"import"][
"mode_existing"] :
"keepall");
446 $this->tpl->setContent($form->getHTML());
461 $upload =
$DIC->upload();
464 if (!$upload->hasUploads()) {
465 throw new ilException(
$DIC->language()->txt(
"upload_error_file_not_found"));
467 $UploadResult = $upload->getResults()[$_FILES[
'userfile'][
'tmp_name']];
469 $ProcessingStatus = $UploadResult->getStatus();
470 if ($ProcessingStatus->getCode() === ProcessingStatus::REJECTED) {
471 throw new ilException($ProcessingStatus->getMessage());
476 $upload->moveOneFileTo($UploadResult,
'', Location::TEMPORARY, basename($tempfile),
true);
477 $this->
object->importLanguageFile($tempfile,
$_POST[
'mode_existing']);
479 $tempfs =
$DIC->filesystem()->temp();
480 $tempfs->delete(basename($tempfile));
481 }
catch (Exception
$e) {
483 $this->ctrl->redirect($this,
'import');
486 ilUtil::sendSuccess(sprintf($this->lng->txt(
"language_file_imported"), $_FILES[
'userfile'][
'name']),
true);
487 $this->ctrl->redirect($this,
'import');
496 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
498 $form->setFormAction($this->ctrl->getFormAction($this));
499 $form->setTitle($this->lng->txt(
"language_export_file"));
500 $form->setPreventDoubleSubmission(
false);
501 $form->addCommandButton(
'download', $this->lng->txt(
"download"));
504 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_global"),
"global");
505 $ro->setInfo($this->lng->txt(
"language_scope_global_info"));
507 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_local"),
"local");
508 $ro->setInfo($this->lng->txt(
"language_scope_local_info"));
510 if ($this->langmode) {
511 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_added"),
"added");
512 $ro->setInfo($this->lng->txt(
"language_scope_added_info"));
515 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_unchanged"),
"unchanged");
516 $ro->setInfo($this->lng->txt(
"language_scope_unchanged_info"));
518 if ($this->langmode) {
519 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_merged"),
"merged");
520 $ro->setInfo($this->lng->txt(
"language_scope_merged_info"));
524 $rg->setValue($this->session[
"export"][
"scope"] ? $this->session[
"export"][
"scope"] :
"global");
527 $this->tpl->setContent($form->getHTML());
539 $filename =
'ilias_' . $this->
object->key .
'_'
541 .
"-" . date(
'Y-m-d')
542 .
".lang." . $this->session[
"export"][
"scope"];
544 $global_file_obj = $this->
object->getGlobalLanguageFile();
547 if (
$_POST[
"scope"] ==
'global') {
548 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
549 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
550 $local_file_obj->setAllValues($this->object->getAllValues());
551 if ($this->langmode) {
552 $local_file_obj->setAllComments($this->object->getAllRemarks());
554 } elseif (
$_POST[
"scope"] ==
'local') {
555 $local_file_obj->setParam(
"based_on", $global_file_obj->getParam(
'version'));
556 $local_file_obj->setAllValues($this->object->getChangedValues());
557 if ($this->langmode) {
558 $local_file_obj->setAllComments($this->object->getAllRemarks());
560 } elseif (
$_POST[
"scope"] ==
'added') {
561 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
562 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
563 $local_file_obj->setAllValues($this->object->getAddedValues());
564 $local_file_obj->setAllComments($this->object->getAllRemarks());
565 } elseif (
$_POST[
"scope"] ==
'unchanged') {
566 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
567 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
568 $local_file_obj->setAllValues($this->object->getUnchangedValues());
569 if ($this->langmode) {
570 $local_file_obj->setAllComments($this->object->getAllRemarks());
572 } elseif (
$_POST[
"scope"] ==
'merged') {
573 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
574 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
575 $local_file_obj->setAllValues($this->object->getMergedValues());
576 $local_file_obj->setAllComments($this->object->getMergedRemarks());
588 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
590 $form->setFormAction($this->ctrl->getFormAction($this));
591 $form->setTitle($this->lng->txt(
"language_maintenance"));
592 $form->setPreventDoubleSubmission(
false);
593 $form->addCommandButton(
'maintainExecute', $this->lng->txt(
"language_process_maintenance"));
596 $ro =
new ilRadioOption($this->lng->txt(
"language_load_local_changes"),
"load");
597 $ro->setInfo(sprintf($this->lng->txt(
"language_load_local_changes_info"), $this->object->key));
599 $ro =
new ilRadioOption($this->lng->txt(
"language_clear_local_changes"),
"clear");
600 $ro->setInfo(sprintf($this->lng->txt(
"language_clear_local_changes_info"), $this->object->key));
602 if ($this->langmode) {
603 $ro =
new ilRadioOption($this->lng->txt(
"language_delete_local_additions"),
"delete_added");
604 $ro->setInfo(sprintf($this->lng->txt(
"language_delete_local_additions_info"), $this->object->key));
606 $ro =
new ilRadioOption($this->lng->txt(
"language_remove_local_file"),
"remove_local_file");
607 $ro->setInfo(sprintf($this->lng->txt(
"language_remove_local_file_info"), $this->object->key));
609 $ro =
new ilRadioOption($this->lng->txt(
"language_merge_local_changes"),
"merge");
610 $ro->setInfo(sprintf($this->lng->txt(
"language_merge_local_changes_info"), $this->object->key));
613 $ro =
new ilRadioOption($this->lng->txt(
"language_save_dist"),
"save_dist");
614 $ro->setInfo(sprintf($this->lng->txt(
"language_save_dist_info"), $this->object->key));
616 $rg->setValue($this->session[
"maintain"]);
619 $this->tpl->setContent($form->getHTML());
625 if (isset(
$_POST[
"maintain"])) {
629 switch (
$_POST[
"maintain"]) {
634 $orig_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
635 $copy_file = $this->
object->getDataPath() .
'/ilias_' . $this->
object->key .
'.lang';
636 if (@copy($orig_file, $copy_file)) {
637 ilUtil::sendSuccess($this->lng->txt(
"language_saved_dist"),
true);
645 $lang_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang.local';
646 if (is_file($lang_file) and is_readable($lang_file)) {
647 $this->
object->importLanguageFile($lang_file,
'replace');
648 $this->
object->setLocal(
true);
649 ilUtil::sendSuccess($this->lng->txt(
"language_loaded_local"),
true);
657 $lang_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
658 if (is_file($lang_file) and is_readable($lang_file)) {
659 $this->
object->importLanguageFile($lang_file,
'delete');
660 $this->
object->setLocal(
false);
661 ilUtil::sendSuccess($this->lng->txt(
"language_cleared_local"),
true);
675 $orig_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
676 $copy_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
678 if (is_file($orig_file) and is_writable($orig_file)) {
680 @copy($orig_file, $copy_file);
683 $global_file_obj = $this->
object->getGlobalLanguageFile();
684 $global_file_obj->setAllValues($this->object->getMergedValues());
685 $global_file_obj->setAllComments($this->object->getMergedRemarks());
686 $global_file_obj->write();
687 ilUtil::sendSuccess($this->lng->txt(
"language_merged_global"),
true);
694 case "remove_local_file":
695 $lang_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang.local';
697 if (!is_file($lang_file)) {
698 $this->
object->setLocal(
false);
700 } elseif (@unlink($lang_file)) {
701 $this->
object->setLocal(
false);
702 ilUtil::sendSuccess($this->lng->txt(
"language_local_file_deleted"),
true);
709 $this->ctrl->redirect($this,
"maintain");
720 $translate_key =
"lang_translate_" . $this->
object->key;
725 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"));
727 $translate =
$ilSetting->get($translate_key,
false);
729 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
731 $form->setFormAction($this->ctrl->getFormAction($this));
732 $form->setTitle($this->lng->txt(
"language_settings"));
733 $form->setPreventDoubleSubmission(
false);
734 $form->addCommandButton(
'settings', $this->lng->txt(
"language_change_settings"));
736 $ci =
new ilCheckboxInputGUI($this->lng->txt(
"language_translation_enabled"),
"translation");
737 $ci->setChecked((
bool) $translate);
738 $ci->setInfo($this->lng->txt(
"language_note_translation"));
741 $this->tpl->setContent($form->getHTML());
752 $total = array(
"module" =>
'',
"all" => 0,
"changed" => 0,
"unchanged" => 0);
753 foreach ($modules as $module) {
755 $row[
'module'] = $module;
756 $row[
'all'] = count($this->object->getAllValues(array($module)));
757 $row[
'changed'] = count($this->object->getChangedValues(array($module)));
758 $row[
'unchanged'] = $row[
'all'] - $row[
'changed'];
759 $total[
'all'] += $row[
'all'];
760 $total[
'changed'] += $row[
'changed'];
761 $total[
'unchanged'] += $row[
'unchanged'];
764 $total[
'module'] =
"<b>" . $this->lng->txt(
"language_all_modules") .
"</b>";
767 $total[
'unchanged'] =
"<b>" .
$total[
'unchanged'] .
"</b>";
771 include_once
'Services/Table/classes/class.ilTable2GUI.php';
773 $table_gui->setRowTemplate(
"tpl.lang_statistics_row.html",
"Services/Language");
774 $table_gui->setEnableTitle(
false);
775 $table_gui->setEnableNumInfo(
false);
776 $table_gui->setLimit(count(
$data));
779 $table_gui->addColumn(ucfirst($this->lng->txt(
"module")),
"",
"25%");
780 $table_gui->addColumn($this->lng->txt(
"language_scope_global"),
"",
"25%");
781 $table_gui->addColumn($this->lng->txt(
"language_scope_local"),
"",
"25%");
782 $table_gui->addColumn($this->lng->txt(
"language_scope_unchanged"),
"",
"25%");
784 $table_gui->setData(
$data);
786 $this->tpl->setContent($table_gui->getHTML());
799 $ilCtrl =
$DIC->ctrl();
800 $cmd = $ilCtrl->getCmd();
803 $this->tabs_gui->setBackTarget(
804 $this->lng->txt(
'back'),
805 $this->ctrl->getLinkTargetByClass(
'ilObjLanguageFolderGUI')
808 $this->tabs_gui->addTab(
810 $this->lng->txt(
"edit"),
811 $this->ctrl->getLinkTarget($this,
"view")
814 $this->tabs_gui->addTab(
816 $this->lng->txt(
'export'),
817 $this->ctrl->getLinkTarget($this,
"export")
820 $this->tabs_gui->addTab(
822 $this->lng->txt(
'import'),
823 $this->ctrl->getLinkTarget($this,
"import")
826 $this->tabs_gui->addTab(
828 $this->lng->txt(
'language_maintain'),
829 $this->ctrl->getLinkTarget($this,
"maintain")
832 $this->tabs_gui->addTab(
834 $this->lng->txt(
'settings'),
835 $this->ctrl->getLinkTarget($this,
"settings")
838 $this->tabs_gui->addTab(
840 $this->lng->txt(
"language_statistics"),
841 $this->ctrl->getLinkTarget($this,
"statistics")
850 $this->tabs_gui->activateTab(
'edit');
853 $this->tabs_gui->activateTab($cmd);
866 $ilLocator =
$DIC[
'ilLocator'];
869 parent::addAdminLocatorItems(
true);
872 $this->lng->txt(
"languages"),
873 $this->ctrl->getLinkTargetByClass(
"ilobjlanguagefoldergui",
"")
877 $this->lng->txt(
"meta_l_" . $this->object->getTitle()),
878 $this->ctrl->getLinkTarget($this,
"view")
891 $this->tpl->setHeaderPageTitle($this->lng->txt(
"translation"));
892 $this->tpl->setTitle($this->lng->txt(
"translation") .
" " . $this->lng->txt(
"meta_l_" . $this->object->key));
894 $this->tpl->setTitle($this->lng->txt(
"meta_l_" . $this->object->key));
896 $this->tpl->setTitleIcon(
ilUtil::getImagePath(
"icon_lngf.svg"), $this->lng->txt(
"obj_" . $this->object->getType()));
907 $ilCtrl =
$DIC->ctrl();
909 if (!is_array($a_missing) ||
910 !
sizeof($a_missing)) {
914 $res = array(
'<h3>' . $this->lng->txt(
"adm_missing_entries") .
'</h3>',
'<ul>');
916 foreach ($a_missing as $entry) {
917 $ilCtrl->setParameter($this,
"eid", $entry);
918 $res[] =
'<li>' . $entry .
919 ' <a href="' . $ilCtrl->getLinkTarget($this,
"addNewEntry") .
920 '">' . $this->lng->txt(
"adm_missing_entry_add_action") .
'</a></li>';
921 $ilCtrl->setParameter($this,
"eid",
"");
926 return implode(
"\n",
$res);
934 $id = trim(
$_GET[
"eid"]);
940 $tpl->setContent($a_form->getHTML());
946 $ilCtrl =
$DIC->ctrl();
954 $ilCtrl->redirect($this,
"view");
957 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
959 $form->setFormAction($ilCtrl->getFormAction($this,
"saveNewEntry"));
960 $form->setTitle($this->lng->txt(
"adm_missing_entry_add"));
963 $options = array_combine($mods, $mods);
966 $mod->setOptions(array(
"" => $this->lng->txt(
"please_select")) + $options);
967 $mod->setRequired(
true);
968 $form->addItem($mod);
970 $id =
new ilTextInputGUI(ucfirst($this->lng->txt(
"identifier")),
"id");
971 $id->setValue($a_id);
972 $id->setDisabled(
true);
975 foreach ($this->lng->getInstalledLanguages() as $lang_key) {
976 $trans =
new ilTextInputGUI($this->lng->txt(
"meta_l_" . $lang_key),
"trans_" . $lang_key);
977 if (in_array($lang_key, array(
"de",
"en"))) {
978 $trans->setRequired(
true);
980 $form->addItem($trans);
983 $form->addCommandButton(
"saveNewEntry", $this->lng->txt(
"save"));
984 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
993 $ilCtrl =
$DIC->ctrl();
997 if ($form->checkInput()) {
998 $mod = $form->getInput(
"mod");
999 $id = $form->getInput(
"id");
1002 foreach ($this->lng->getInstalledLanguages() as $lang_key) {
1003 $trans = trim($form->getInput(
"trans_" . $lang_key));
1011 date(
"Y-m-d H:i:s"),
1016 $set =
$ilDB->query(
"SELECT lang_array FROM lng_modules" .
1017 " WHERE lang_key = " .
$ilDB->quote($lang_key,
"text") .
1018 " AND module = " .
$ilDB->quote($mod,
"text"));
1019 $row =
$ilDB->fetchAssoc($set);
1020 $entries = unserialize($row[
"lang_array"]);
1021 if (is_array($entries)) {
1022 $entries[$id] = $trans;
1023 ilObjLanguage::replaceLangModule($lang_key, $mod, $entries);
1028 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1029 $ilCtrl->redirect($this,
"view");
1032 $form->setValuesByPost();
1043 $f =
$DIC->ui()->factory();
1044 $renderer =
$DIC->ui()->renderer();
1046 return $renderer->render(
$f->messageBox()->success($this->lng->txt(
"language_variables_saved")));
An exception for terminatinating execution or to throw for unit testing.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getSavedTopics()
Get the stored topics from the user session.
static _lookupId($a_key)
Lookup the object ID for a language key.
static _getSavedModules()
Get the stored modules from the user session.
static _checkMaintenance()
Permission check for language maintenance (import/export)
static _isPageTranslation()
Check if the current request is a page translation.
Class ilObjLanguageExtGUI.
executeCommand()
execute command
setTitleAndDescription()
Set the Title and the description (Overwritten from ilObjectGUI, called by prepareOutput)
initAddNewEntryForm($a_id=null)
assignObject()
Assign the extended language object.
applyFilterObject()
Apply filter.
uploadObject()
Process an uploaded language file.
statisticsObject()
Print out statistics about the language.
viewObject($changesSuccessBool=0)
Show the edit screen.
getViewTable()
Get the table to view language entries.
__construct($a_data, $a_id=0, $a_call_by_reference=false)
Constructor.
buildMissingEntries(array $a_missing=null)
saveObject()
Save the changed translations.
cancelObject()
Cancel the current action.
maintainObject()
Process the language maintenance.
importObject()
Show the screen to import a language file.
exportObject()
Show the screen to export a language file.
addAdminLocatorItems($a_do_not_add_object=false)
Set the locator for admin mode (Overwritten from ilObjectGUI, called by prepareOutput)
downloadObject()
Download a language file.
getAdminTabs()
Get tabs for admin mode (Overwritten from ilObjectGUI, called by prepareOutput)
settingsObject()
Set the language settings.
getId()
get the language object id (needed for filter serialization)
resetFilterObject()
Reset filter.
getSuccessMessage()
Get success message after variables were saved.
addNewEntryObject(ilPropertyFormGUI $a_form=null)
static _deleteValues($a_lang_key, $a_values=array())
Delete a set of translation in the database.
static _getModules($a_lang_key)
Get all modules of a language.
static _getRemarks($a_lang_key, $a_all_changed=false)
Get all remarks of a language.
static _saveValues($a_lang_key, $a_values=array(), $a_remarks=array())
Save a set of translation in the database.
static _getValues( $a_lang_key, $a_modules=array(), $a_topics=array(), $a_pattern='', $a_state='')
Get the translations of specified topics.
static replaceLangEntry( $a_module, $a_identifier, $a_lang_key, $a_value, $a_local_change=null, $a_remarks=null)
Replace lang entry.
Class ilObjectGUI Basic methods of all Output classes.
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
This class represents an option in a radio group.
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static ilTempnam($a_temp_path=null)
Returns a unique and non existing Path for e temporary file or directory.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
foreach($_POST as $key=> $value) $res