7 define(
"ILIAS_LANGUAGE_MODULE",
"Services/Language");
9 require_once(
"./Services/Object/classes/class.ilObjectGUI.php");
10 require_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();
45 $lng = $DIC->language();
48 $lng->loadLanguageModule(
"administration");
49 $lng->loadLanguageModule(
"meta");
52 $ilCtrl->saveParameter($this,
"view_mode");
56 if (!$this->
id =
$_GET[
'obj_id']) {
61 parent::__construct($a_data, $this->
id,
false,
true);
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);
333 $row[
"translation"] = $translation;
335 $row[
"default"] = $compare_content[
$name];
336 $row[
"default_comment"] = $compare_comments[
$name];
342 $table_gui->setData(
$data);
343 $tpl->setContent($table_gui->getHTML() .
353 $table_gui->writeFilterToSession();
354 $table_gui->resetOffset();
364 $table_gui->resetOffset();
365 $table_gui->resetFilter();
375 $save_array = array();
376 $remarks_array = array();
380 $key = str_replace(
'_POSTDOT_',
'.',
$key);
381 $key = str_replace(
'_POSTSPACE_',
' ',
$key);
387 if (count(
$keys) == 2) {
389 $value = preg_replace(
"/(\015\012)|(\015)|(\012)/",
"<br />", $value);
391 $save_array[
$key] = $value;
394 $remarks_array[
$key] =
$_POST[
$key . $this->lng->separator .
"comment"];
411 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
413 $form->setFormAction($this->ctrl->getFormAction($this));
414 $form->setTitle($this->lng->txt(
"language_import_file"));
415 $form->addCommandButton(
'upload', $this->lng->txt(
"upload"));
421 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepall"),
"keepall");
422 $ro->
setInfo($this->lng->txt(
"language_mode_existing_keepall_info"));
424 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepnew"),
"keepnew");
425 $ro->
setInfo($this->lng->txt(
"language_mode_existing_keepnew_info"));
427 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_replace"),
"replace");
428 $ro->
setInfo($this->lng->txt(
"language_mode_existing_replace_info"));
430 $ro =
new ilRadioOption($this->lng->txt(
"language_mode_existing_delete"),
"delete");
431 $ro->
setInfo($this->lng->txt(
"language_mode_existing_delete_info"));
433 $rg->setValue($this->session[
"import"][
"mode_existing"] ? $this->session[
"import"][
"mode_existing"] :
"keepall");
436 $this->tpl->setContent(
$form->getHTML());
451 $upload = $DIC->upload();
454 if (!$upload->hasUploads()) {
455 throw new ilException($DIC->language()->txt(
"upload_error_file_not_found"));
457 $UploadResult = $upload->getResults()[$_FILES[
'userfile'][
'tmp_name']];
459 $ProcessingStatus = $UploadResult->getStatus();
460 if ($ProcessingStatus->getCode() === ProcessingStatus::REJECTED) {
461 throw new ilException($ProcessingStatus->getMessage());
466 $upload->moveOneFileTo($UploadResult,
'', Location::TEMPORARY, basename($tempfile),
true);
467 $this->
object->importLanguageFile($tempfile,
$_POST[
'mode_existing']);
469 $tempfs = $DIC->filesystem()->temp();
470 $tempfs->delete(basename($tempfile));
473 $this->ctrl->redirect($this,
'import');
476 ilUtil::sendSuccess(sprintf($this->lng->txt(
"language_file_imported"), $_FILES[
'userfile'][
'name']),
true);
477 $this->ctrl->redirect($this,
'import');
486 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
488 $form->setFormAction($this->ctrl->getFormAction($this));
489 $form->setTitle($this->lng->txt(
"language_export_file"));
490 $form->setPreventDoubleSubmission(
false);
491 $form->addCommandButton(
'download', $this->lng->txt(
"download"));
494 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_global"),
"global");
495 $ro->
setInfo($this->lng->txt(
"language_scope_global_info"));
497 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_local"),
"local");
498 $ro->
setInfo($this->lng->txt(
"language_scope_local_info"));
500 if ($this->langmode) {
501 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_added"),
"added");
502 $ro->
setInfo($this->lng->txt(
"language_scope_added_info"));
505 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_unchanged"),
"unchanged");
506 $ro->
setInfo($this->lng->txt(
"language_scope_unchanged_info"));
508 if ($this->langmode) {
509 $ro =
new ilRadioOption($this->lng->txt(
"language_scope_merged"),
"merged");
510 $ro->
setInfo($this->lng->txt(
"language_scope_merged_info"));
514 $rg->setValue($this->session[
"export"][
"scope"] ? $this->session[
"export"][
"scope"] :
"global");
517 $this->tpl->setContent(
$form->getHTML());
529 $filename =
'ilias_' . $this->
object->key .
'_' 531 .
"-" . date(
'Y-m-d')
532 .
".lang." . $this->session[
"export"][
"scope"];
534 $global_file_obj = $this->
object->getGlobalLanguageFile();
537 if (
$_POST[
"scope"] ==
'global') {
538 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
539 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
540 $local_file_obj->setAllValues($this->object->getAllValues());
541 if ($this->langmode) {
542 $local_file_obj->setAllComments($this->object->getAllRemarks());
544 } elseif (
$_POST[
"scope"] ==
'local') {
545 $local_file_obj->setParam(
"based_on", $global_file_obj->getParam(
'version'));
546 $local_file_obj->setAllValues($this->object->getChangedValues());
547 if ($this->langmode) {
548 $local_file_obj->setAllComments($this->object->getAllRemarks());
550 } elseif (
$_POST[
"scope"] ==
'added') {
551 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
552 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
553 $local_file_obj->setAllValues($this->object->getAddedValues());
554 $local_file_obj->setAllComments($this->object->getAllRemarks());
555 } elseif (
$_POST[
"scope"] ==
'unchanged') {
556 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
557 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
558 $local_file_obj->setAllValues($this->object->getUnchangedValues());
559 if ($this->langmode) {
560 $local_file_obj->setAllComments($this->object->getAllRemarks());
562 } elseif (
$_POST[
"scope"] ==
'merged') {
563 $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
564 $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
565 $local_file_obj->setAllValues($this->object->getMergedValues());
566 $local_file_obj->setAllComments($this->object->getMergedRemarks());
578 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
580 $form->setFormAction($this->ctrl->getFormAction($this));
581 $form->setTitle($this->lng->txt(
"language_maintenance"));
582 $form->setPreventDoubleSubmission(
false);
583 $form->addCommandButton(
'maintainExecute', $this->lng->txt(
"language_process_maintenance"));
586 $ro =
new ilRadioOption($this->lng->txt(
"language_load_local_changes"),
"load");
587 $ro->
setInfo(sprintf($this->lng->txt(
"language_load_local_changes_info"), $this->
object->key));
589 $ro =
new ilRadioOption($this->lng->txt(
"language_clear_local_changes"),
"clear");
590 $ro->
setInfo(sprintf($this->lng->txt(
"language_clear_local_changes_info"), $this->
object->key));
592 if ($this->langmode) {
593 $ro =
new ilRadioOption($this->lng->txt(
"language_delete_local_additions"),
"delete_added");
594 $ro->
setInfo(sprintf($this->lng->txt(
"language_delete_local_additions_info"), $this->
object->key));
596 $ro =
new ilRadioOption($this->lng->txt(
"language_remove_local_file"),
"remove_local_file");
597 $ro->
setInfo(sprintf($this->lng->txt(
"language_remove_local_file_info"), $this->
object->key));
599 $ro =
new ilRadioOption($this->lng->txt(
"language_merge_local_changes"),
"merge");
600 $ro->
setInfo(sprintf($this->lng->txt(
"language_merge_local_changes_info"), $this->
object->key));
603 $ro =
new ilRadioOption($this->lng->txt(
"language_save_dist"),
"save_dist");
604 $ro->
setInfo(sprintf($this->lng->txt(
"language_save_dist_info"), $this->
object->key));
606 $rg->setValue($this->session[
"maintain"]);
609 $this->tpl->setContent(
$form->getHTML());
615 if (isset(
$_POST[
"maintain"])) {
619 switch (
$_POST[
"maintain"]) {
624 $orig_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
625 $copy_file = $this->
object->getDataPath() .
'/ilias_' . $this->
object->key .
'.lang';
626 if (@copy($orig_file, $copy_file)) {
627 ilUtil::sendSuccess($this->lng->txt(
"language_saved_dist"),
true);
635 $lang_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang.local';
636 if (is_file($lang_file)
and is_readable($lang_file)) {
637 $this->
object->importLanguageFile($lang_file,
'replace');
638 $this->
object->setLocal(
true);
639 ilUtil::sendSuccess($this->lng->txt(
"language_loaded_local"),
true);
647 $lang_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
648 if (is_file($lang_file)
and is_readable($lang_file)) {
649 $this->
object->importLanguageFile($lang_file,
'delete');
650 $this->
object->setLocal(
false);
651 ilUtil::sendSuccess($this->lng->txt(
"language_cleared_local"),
true);
665 $orig_file = $this->
object->getLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
666 $copy_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang';
668 if (is_file($orig_file)
and is_writable($orig_file)) {
670 @copy($orig_file, $copy_file);
673 $global_file_obj = $this->
object->getGlobalLanguageFile();
674 $global_file_obj->setAllValues($this->object->getMergedValues());
675 $global_file_obj->setAllComments($this->object->getMergedRemarks());
676 $global_file_obj->write();
677 ilUtil::sendSuccess($this->lng->txt(
"language_merged_global"),
true);
684 case "remove_local_file":
685 $lang_file = $this->
object->getCustLangPath() .
'/ilias_' . $this->
object->key .
'.lang.local';
687 if (!is_file($lang_file)) {
688 $this->
object->setLocal(
false);
690 } elseif (@unlink($lang_file)) {
691 $this->
object->setLocal(
false);
692 ilUtil::sendSuccess($this->lng->txt(
"language_local_file_deleted"),
true);
699 $this->ctrl->redirect($this,
"maintain");
710 $translate_key =
"lang_translate_" . $this->
object->key;
715 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"));
717 $translate =
$ilSetting->get($translate_key,
false);
719 require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
721 $form->setFormAction($this->ctrl->getFormAction($this));
722 $form->setTitle($this->lng->txt(
"language_settings"));
723 $form->setPreventDoubleSubmission(
false);
724 $form->addCommandButton(
'settings', $this->lng->txt(
"language_change_settings"));
726 $ci =
new ilCheckboxInputGUI($this->lng->txt(
"language_translation_enabled"),
"translation");
728 $ci->setInfo($this->lng->txt(
"language_note_translation"));
731 $this->tpl->setContent(
$form->getHTML());
742 $total = array(
"module" =>
'',
"all" => 0,
"changed" => 0,
"unchanged" => 0);
743 foreach ($modules as
$module) {
746 $row[
'all'] = count($this->object->getAllValues(array($module)));
747 $row[
'changed'] = count($this->object->getChangedValues(array($module)));
748 $row[
'unchanged'] = $row[
'all'] - $row[
'changed'];
749 $total[
'all'] += $row[
'all'];
750 $total[
'changed'] += $row[
'changed'];
751 $total[
'unchanged'] += $row[
'unchanged'];
754 $total[
'module'] =
"<b>" . $this->lng->txt(
"language_all_modules") .
"</b>";
757 $total[
'unchanged'] =
"<b>" .
$total[
'unchanged'] .
"</b>";
761 include_once
'Services/Table/classes/class.ilTable2GUI.php';
763 $table_gui->setRowTemplate(
"tpl.lang_statistics_row.html",
"Services/Language");
764 $table_gui->setEnableTitle(
false);
765 $table_gui->setEnableNumInfo(
false);
766 $table_gui->setLimit(count(
$data));
769 $table_gui->addColumn(ucfirst($this->lng->txt(
"module")),
"",
"25%");
770 $table_gui->addColumn($this->lng->txt(
"language_scope_global"),
"",
"25%");
771 $table_gui->addColumn($this->lng->txt(
"language_scope_local"),
"",
"25%");
772 $table_gui->addColumn($this->lng->txt(
"language_scope_unchanged"),
"",
"25%");
774 $table_gui->setData(
$data);
776 $this->tpl->setContent($table_gui->getHTML());
793 $this->tabs_gui->setBackTarget(
794 $this->lng->txt(
'back'),
795 $this->ctrl->getLinkTargetByClass(
'ilObjLanguageFolderGUI')
798 $this->tabs_gui->addTab(
800 $this->lng->txt(
"edit"),
801 $this->ctrl->getLinkTarget($this,
"view")
804 $this->tabs_gui->addTab(
806 $this->lng->txt(
'export'),
807 $this->ctrl->getLinkTarget($this,
"export")
810 $this->tabs_gui->addTab(
812 $this->lng->txt(
'import'),
813 $this->ctrl->getLinkTarget($this,
"import")
816 $this->tabs_gui->addTab(
818 $this->lng->txt(
'language_maintain'),
819 $this->ctrl->getLinkTarget($this,
"maintain")
822 $this->tabs_gui->addTab(
824 $this->lng->txt(
'settings'),
825 $this->ctrl->getLinkTarget($this,
"settings")
828 $this->tabs_gui->addTab(
830 $this->lng->txt(
"language_statistics"),
831 $this->ctrl->getLinkTarget($this,
"statistics")
840 $this->tabs_gui->activateTab(
'edit');
843 $this->tabs_gui->activateTab($cmd);
856 $ilLocator = $DIC[
'ilLocator'];
859 parent::addAdminLocatorItems(
true);
862 $this->lng->txt(
"languages"),
863 $this->ctrl->getLinkTargetByClass(
"ilobjlanguagefoldergui",
"")
867 $this->lng->txt(
"meta_l_" . $this->object->getTitle()),
868 $this->ctrl->getLinkTarget($this,
"view")
881 $this->tpl->setHeaderPageTitle($this->lng->txt(
"translation"));
882 $this->tpl->setTitle($this->lng->txt(
"translation") .
" " . $this->lng->txt(
"meta_l_" . $this->object->key));
884 $this->tpl->setTitle($this->lng->txt(
"meta_l_" . $this->object->key));
886 $this->tpl->setTitleIcon(
ilUtil::getImagePath(
"icon_lngf.svg"), $this->lng->txt(
"obj_" . $this->object->getType()));
899 if (!is_array($a_missing) ||
900 !
sizeof($a_missing)) {
904 $res = array(
'<h3>' . $this->lng->txt(
"adm_missing_entries") .
'</h3>',
'<ul>');
906 foreach ($a_missing as $entry) {
907 $ilCtrl->setParameter($this,
"eid", $entry);
908 $res[] =
'<li>' . $entry .
909 ' <a href="' .
$ilCtrl->getLinkTarget($this,
"addNewEntry") .
910 '">' . $this->lng->txt(
"adm_missing_entry_add_action") .
'</a></li>';
911 $ilCtrl->setParameter($this,
"eid",
"");
916 return implode(
"\n",
$res);
930 $tpl->setContent($a_form->getHTML());
944 $ilCtrl->redirect($this,
"view");
947 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
949 $form->setFormAction(
$ilCtrl->getFormAction($this,
"saveNewEntry"));
950 $form->setTitle($this->lng->txt(
"adm_missing_entry_add"));
953 $options = array_combine($mods, $mods);
956 $mod->setOptions(array(
"" => $this->lng->txt(
"please_select")) +
$options);
957 $mod->setRequired(
true);
958 $form->addItem($mod);
961 $id->setValue($a_id);
962 $id->setDisabled(
true);
965 foreach ($this->lng->getInstalledLanguages() as $lang_key) {
966 $trans =
new ilTextInputGUI($this->lng->txt(
"meta_l_" . $lang_key),
"trans_" . $lang_key);
967 if (in_array($lang_key, array(
"de",
"en"))) {
970 $form->addItem($trans);
973 $form->addCommandButton(
"saveNewEntry", $this->lng->txt(
"save"));
974 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
982 $ilDB = $DIC->database();
987 if (
$form->checkInput()) {
988 $mod =
$form->getInput(
"mod");
992 foreach ($this->lng->getInstalledLanguages() as $lang_key) {
993 $trans = trim(
$form->getInput(
"trans_" . $lang_key));
1001 date(
"Y-m-d H:i:s"),
1006 $set =
$ilDB->query(
"SELECT lang_array FROM lng_modules" .
1007 " WHERE lang_key = " .
$ilDB->quote($lang_key,
"text") .
1008 " AND module = " .
$ilDB->quote($mod,
"text"));
1010 $entries = unserialize(
$row[
"lang_array"]);
1011 if (is_array($entries)) {
1012 $entries[
$id] = $trans;
1013 ilObjLanguage::replaceLangModule($lang_key, $mod, $entries);
1018 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1019 $ilCtrl->redirect($this,
"view");
1022 $form->setValuesByPost();
downloadObject()
Download a language file.
This class represents an option in a radio group.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
executeCommand()
execute command
assignObject()
Assign the extended language object.
viewObject()
Show the edit screen.
uploadObject()
Process an uploaded language file.
applyFilterObject()
Apply filter.
static _getRemarks($a_lang_key, $a_all_changed=false)
Get all remarks of a language.
static _isPageTranslation()
Check if the current request is a page translation.
static _getSavedModules()
Get the stored modules from the user session.
getViewTable()
Get the table to view language entries.
addAdminLocatorItems($a_do_not_add_object=false)
Set the locator for admin mode (Overwritten from ilObjectGUI, called by prepareOutput) ...
static _deleteValues($a_lang_key, $a_values=array())
Delete a set of translation in the database.
if(!array_key_exists('StateId', $_REQUEST)) $id
cancelObject()
Cancel the current action.
Class ilObjLanguageExtGUI.
__construct($a_data, $a_id=0, $a_call_by_reference=false)
Constructor.
resetFilterObject()
Reset filter.
exportObject()
Show the screen to export a language file.
static _checkMaintenance()
Permission check for language maintenance (import/export)
static _lookupId($a_key)
Lookup the object ID for a language key.
if($modEnd===false) $module
initAddNewEntryForm($a_id=null)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
importObject()
Show the screen to import a language file.
foreach($_POST as $key=> $value) $res
if(isset($_POST['submit'])) $form
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilObjectGUI Basic methods of all Output classes.
static _getValues( $a_lang_key, $a_modules=array(), $a_topics=array(), $a_pattern='', $a_state='')
Get the translations of specified topics.
getAdminTabs()
Get tabs for admin mode (Overwritten from ilObjectGUI, called by prepareOutput)
This class represents a text property in a property form.
buildMissingEntries(array $a_missing=null)
statisticsObject()
Print out statistics about the language.
settingsObject()
Set the language settings.
setTitleAndDescription()
Set the Title and the description (Overwritten from ilObjectGUI, called by prepareOutput) ...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static _getSavedTopics()
Get the stored topics from the user session.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
saveObject()
Save the changed translations.
static _saveValues($a_lang_key, $a_values=array(), $a_remarks=array())
Save a set of translation in the database.
static ilTempnam($a_temp_path=null)
Returns a unique and non existing Path for e temporary file or directory.
addNewEntryObject(ilPropertyFormGUI $a_form=null)
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
static _getModules($a_lang_key)
Get all modules of a language.
maintainObject()
Process the language maintenance.
getId()
get the language object id (needed for filter serialization)
static replaceLangEntry( $a_module, $a_identifier, $a_lang_key, $a_value, $a_local_change=null, $a_remarks=null)
Replace lang entry.