4define(
"ILIAS_LANGUAGE_MODULE", 
"Services/Language");
 
    6require_once(
"./Services/Object/classes/class.ilObjectGUI.php");
 
    7require_once(
"Services/Language/classes/class.ilObjLanguageAccess.php");
 
   37        function __construct($a_data, $a_id = 0, $a_call_by_reference = 
false)
 
   42        $lng->loadLanguageModule(
"administration");
 
   43        $lng->loadLanguageModule(
"meta");
 
   46                $ilCtrl->saveParameter($this, 
"view_mode");
 
   50                if (! $this->
id = 
$_GET[
'obj_id'])
 
   56                parent::__construct($a_data, $this->
id, 
false, 
true);
 
   59                if (!is_array(
$_SESSION[
'lang_ext_maintenance']))
 
   61                        $_SESSION[
'lang_ext_maintenance'] = array();
 
   63                $this->session =& 
$_SESSION[
'lang_ext_maintenance'];
 
   67        $this->langmode = $ilClientIniFile->readVariable(
"system",
"LANGMODE");
 
   79                require_once(
"Services/Language/classes/class.ilObjLanguageExt.php");
 
  101             $this->ilErr->raiseError($this->lng->txt(
"permission_denied"),$this->ilErr->MESSAGE);
 
  105                $cmd = $this->ctrl->getCmd(
"view").
"Object";
 
  108                $ilHelp->setScreenIdComponent(
"lng");
 
  128        include_once 
'./Services/Language/classes/class.ilLanguageExtTableGUI.php';
 
  130            'langmode' => $this->langmode,
 
  131            'lang_key'=> $this->object->key,
 
  148        $comments = $this->
object->getAllRemarks();
 
  152        $compare = $table_gui->getFilterItemByPostVar(
'compare')->getValue();
 
  153                if ($compare == $this->object->key)
 
  155                        $compare_object = $this->
object->getGlobalLanguageFile();
 
  156                        $compare_content = $compare_object->getAllValues();
 
  157                        $compare_comments = $compare_object->getAllComments();
 
  169            if (
$_GET[
'reset_offset'])
 
  171                $table_gui->resetOffset();
 
  174                        if (!isset($compare_content))
 
  177                                                                        $compare, $modules, $topics);
 
  183                                                        $this->object->key, $modules, $topics);
 
  187                        foreach($translations as $name => $translation)
 
  189                                $keys = explode($this->lng->separator, $name);
 
  190                                $db_found[] = $keys[1];                         
 
  192                        $missing_entries = array_diff($topics, $db_found);
 
  198            $filter_mode = $table_gui->getFilterItemByPostVar(
'mode')->getValue();
 
  199            $filter_pattern = $table_gui->getFilterItemByPostVar(
'pattern')->getValue();
 
  200            $filter_module = $table_gui->getFilterItemByPostVar(
'module')->getValue();
 
  201            $filter_module = $filter_module == 
'all' ? 
'' : $filter_module;
 
  202            $filter_modules = $filter_module ? array($filter_module) : array();
 
  203                        $filter_identifier = $table_gui->getFilterItemByPostVar(
'identifier')->getValue();
 
  204                        $filter_topics = $filter_identifier ? array($filter_identifier) : array();
 
  206                        if (!isset($compare_content))
 
  209                                                        $compare, $filter_modules, $filter_topics);
 
  214                        switch ($filter_mode)
 
  217                                        $translations = $this->
object->getChangedValues(
 
  218                                                                $filter_modules, $filter_pattern, $filter_topics);
 
  222                                        $translations = $this->
object->getAddedValues(
 
  223                                                                $filter_modules, $filter_pattern, $filter_topics);
 
  227                                        $translations = $this->
object->getUnchangedValues(
 
  228                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  232                    $translations = $this->
object->getCommentedValues(
 
  233                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  237                    $translations = $this->
object->getAllValues(
 
  238                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  240                                        $translations = array_intersect_key($translations, $remarks);
 
  244                    $translations = $this->
object->getAllValues(
 
  245                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  247                                        $translations = array_intersect_assoc($translations, $compare_content);
 
  251                    $translations = $this->
object->getAllValues(
 
  252                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  254                                        $translations = array_diff_assoc($translations, $compare_content);
 
  258                                    $former_file = $this->
object->getDataPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  259                                        if (!is_readable($former_file))
 
  262                                                                                .
'<br />'. $this->lng->txt(
"language_former_file_description") , 
false);
 
  263                        $translations = array();
 
  266                                        $global_file_obj = $this->
object->getGlobalLanguageFile();
 
  268                                        $former_file_obj->read();
 
  269                                        $global_changes = array_diff_assoc(
 
  270                                                                                        $global_file_obj->getAllValues(),
 
  271                                                                                        $former_file_obj->getAllValues());
 
  272                                        if (!count($global_changes))
 
  275                                                                                .
'<br />'. $this->lng->txt(
"language_former_file_description") , 
false);
 
  276                        $translations = array();
 
  279                                        $translations = $this->
object->getChangedValues(
 
  280                                                                $filter_modules, $filter_pattern, $filter_topics);
 
  282                                        $translations = array_intersect_key($translations, $global_changes);
 
  287                                        $translations = $this->
object->getAllValues(
 
  288                                                        $filter_modules, $filter_pattern, $filter_topics);
 
  294                foreach($translations as $name => $translation)
 
  296                        $keys = explode($this->lng->separator, $name);
 
  299            $row[
"module"] = $keys[0];
 
  300            $row[
"topic"] = $keys[1];
 
  301            $row[
"name"] = $name;
 
  302            $row[
"translation"] = $translation;
 
  303            $row[
"comment"] = $comments[$name];
 
  304            $row[
"default"] = $compare_content[$name];
 
  305            $row[
"default_comment"] = $compare_comments[$name];
 
  311        $table_gui->setData(
$data);
 
  312        $tpl->setContent($table_gui->getHTML().
 
  313                        $this->buildMissingEntries($missing_entries));
 
  322        $table_gui->writeFilterToSession();    
 
  323        $table_gui->resetOffset();             
 
  333        $table_gui->resetOffset();                
 
  334        $table_gui->resetFilter();                
 
  344                $save_array = array();
 
  345                $remarks_array = array();
 
  346                foreach (
$_POST as $key => $value)
 
  350                        $key = str_replace(
'_POSTDOT_', 
'.', $key);
 
  351            $key = str_replace(
'_POSTSPACE_', 
' ', $key);
 
  357                        if (count($keys) == 2)
 
  360                                $value = preg_replace(
"/(\015\012)|(\015)|(\012)/",
"<br />",$value);
 
  362                                $save_array[$key] = $value;
 
  365                                $remarks_array[$key] = 
$_POST[$key.$this->lng->separator.
"comment"];
 
  382        require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  384        $form->setFormAction($this->ctrl->getFormAction($this));
 
  385        $form->setTitle($this->lng->txt(
"language_import_file"));
 
  386        $form->addCommandButton(
'upload',$this->lng->txt(
"upload"));
 
  392        $ro = 
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepall"), 
"keepall");
 
  393        $ro->setInfo($this->lng->txt(
"language_mode_existing_keepall_info"));
 
  395        $ro = 
new ilRadioOption($this->lng->txt(
"language_mode_existing_keepnew"), 
"keepnew");
 
  396        $ro->setInfo($this->lng->txt(
"language_mode_existing_keepnew_info"));
 
  398        $ro = 
new ilRadioOption($this->lng->txt(
"language_mode_existing_replace"), 
"replace");
 
  399        $ro->setInfo($this->lng->txt(
"language_mode_existing_replace_info"));
 
  401        $ro = 
new ilRadioOption($this->lng->txt(
"language_mode_existing_delete"), 
"delete");
 
  402        $ro->setInfo($this->lng->txt(
"language_mode_existing_delete_info"));
 
  404        $rg->setValue($this->session[
"import"][
"mode_existing"] ? $this->session[
"import"][
"mode_existing"] : 
"keepall");
 
  407        $this->tpl->setContent($form->getHTML());
 
  419                if (
$_POST[
'cmd'][
'upload'])
 
  421                        $file = $_FILES[
'userfile'][
'tmp_name'].
'x';
 
  424                                                                                 $_FILES[
'userfile'][
'name'],
 
  427                                $this->
object->importLanguageFile(
$file,
$_POST[
'mode_existing']);
 
  432        $this->ctrl->redirect($this, 
'import');
 
  441        require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  443        $form->setFormAction($this->ctrl->getFormAction($this));
 
  444        $form->setTitle($this->lng->txt(
"language_export_file"));
 
  445        $form->setPreventDoubleSubmission(
false);
 
  446        $form->addCommandButton(
'download',$this->lng->txt(
"download"));
 
  449        $ro = 
new ilRadioOption($this->lng->txt(
"language_scope_global"), 
"global");
 
  450        $ro->setInfo($this->lng->txt(
"language_scope_global_info"));
 
  452        $ro = 
new ilRadioOption($this->lng->txt(
"language_scope_local"), 
"local");
 
  453        $ro->setInfo($this->lng->txt(
"language_scope_local_info"));
 
  457            $ro = 
new ilRadioOption($this->lng->txt(
"language_scope_added"), 
"added");
 
  458            $ro->setInfo($this->lng->txt(
"language_scope_added_info"));
 
  461        $ro = 
new ilRadioOption($this->lng->txt(
"language_scope_unchanged"), 
"unchanged");
 
  462        $ro->setInfo($this->lng->txt(
"language_scope_unchanged_info"));
 
  466            $ro = 
new ilRadioOption($this->lng->txt(
"language_scope_merged"), 
"merged");
 
  467            $ro->setInfo($this->lng->txt(
"language_scope_merged_info"));
 
  471        $rg->setValue($this->session[
"export"][
"scope"] ? $this->session[
"export"][
"scope"] : 
"global");
 
  474        $this->tpl->setContent($form->getHTML());
 
  486                $filename = 
'ilias_' . $this->
object->key . 
'_' 
  488        . 
"-" . 
date(
'Y-m-d')
 
  489                . 
".lang.".$this->session[
"export"][
"scope"];
 
  491                $global_file_obj = $this->
object->getGlobalLanguageFile();
 
  494                if (
$_POST[
"scope"] == 
'global')
 
  496            $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
 
  497            $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
 
  498                        $local_file_obj->setAllValues($this->object->getAllValues());
 
  501                                $local_file_obj->setAllComments($this->object->getAllRemarks());
 
  504                elseif (
$_POST[
"scope"] == 
'local')
 
  506                $local_file_obj->setParam(
"based_on", $global_file_obj->getParam(
'version'));
 
  507                        $local_file_obj->setAllValues($this->object->getChangedValues());
 
  510                                $local_file_obj->setAllComments($this->object->getAllRemarks());
 
  513                elseif (
$_POST[
"scope"] == 
'added') 
 
  515                $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
 
  516            $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
 
  517                        $local_file_obj->setAllValues($this->object->getAddedValues());
 
  518                        $local_file_obj->setAllComments($this->object->getAllRemarks());
 
  520                elseif (
$_POST[
"scope"] == 
'unchanged')
 
  522                $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
 
  523            $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
 
  524                        $local_file_obj->setAllValues($this->object->getUnchangedValues());
 
  527                                $local_file_obj->setAllComments($this->object->getAllRemarks());
 
  530                elseif (
$_POST[
"scope"] == 
'merged') 
 
  532                $local_file_obj->setParam(
"author", $global_file_obj->getParam(
'author'));
 
  533            $local_file_obj->setParam(
"version", $global_file_obj->getParam(
'version'));
 
  534                        $local_file_obj->setAllValues($this->object->getMergedValues());
 
  535                        $local_file_obj->setAllComments($this->object->getMergedRemarks());
 
  547        require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  549        $form->setFormAction($this->ctrl->getFormAction($this));
 
  550        $form->setTitle($this->lng->txt(
"language_maintenance"));
 
  551        $form->setPreventDoubleSubmission(
false);
 
  552        $form->addCommandButton(
'maintainExecute',$this->lng->txt(
"language_process_maintenance"));
 
  555        $ro = 
new ilRadioOption($this->lng->txt(
"language_load_local_changes"), 
"load");
 
  556        $ro->setInfo(
sprintf($this->lng->txt(
"language_load_local_changes_info"),$this->object->key));
 
  558        $ro = 
new ilRadioOption($this->lng->txt(
"language_clear_local_changes"), 
"clear");
 
  559        $ro->setInfo(
sprintf($this->lng->txt(
"language_clear_local_changes_info"),$this->object->key));
 
  563            $ro = 
new ilRadioOption($this->lng->txt(
"language_delete_local_additions"), 
"delete_added");
 
  564            $ro->setInfo(
sprintf($this->lng->txt(
"language_delete_local_additions_info"), $this->object->key));
 
  566                        $ro = 
new ilRadioOption($this->lng->txt(
"language_remove_local_file"), 
"remove_local_file");
 
  567                        $ro->setInfo(
sprintf($this->lng->txt(
"language_remove_local_file_info"), $this->object->key));
 
  569                        $ro = 
new ilRadioOption($this->lng->txt(
"language_merge_local_changes"), 
"merge");
 
  570            $ro->setInfo(
sprintf($this->lng->txt(
"language_merge_local_changes_info"), $this->object->key));
 
  573                $ro = 
new ilRadioOption($this->lng->txt(
"language_save_dist"), 
"save_dist");
 
  574                $ro->setInfo(
sprintf($this->lng->txt(
"language_save_dist_info"),$this->object->key));
 
  576        $rg->setValue($this->session[
"maintain"]);
 
  579        $this->tpl->setContent($form->getHTML());
 
  585        if (isset(
$_POST[
"maintain"]))
 
  590        switch (
$_POST[
"maintain"])
 
  596                                $orig_file = $this->
object->getLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  597                                $copy_file = $this->
object->getDataPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  598                                if (@copy($orig_file, $copy_file))
 
  610                $lang_file = $this->
object->getCustLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang.local';
 
  611                if (is_file($lang_file) and is_readable($lang_file))
 
  613                    $this->
object->importLanguageFile($lang_file, 
'replace');
 
  614                    $this->
object->setLocal(
true);
 
  625                $lang_file = $this->
object->getLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  626                if (is_file($lang_file) and is_readable($lang_file))
 
  628                    $this->
object->importLanguageFile($lang_file, 
'delete');
 
  629                    $this->
object->setLocal(
false);
 
  646                $orig_file = $this->
object->getLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  647                $copy_file = $this->
object->getCustLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang';
 
  649                if (is_file($orig_file) and is_writable($orig_file))
 
  652                    @copy($orig_file, $copy_file);
 
  655                    $global_file_obj = $this->
object->getGlobalLanguageFile();
 
  656                    $global_file_obj->setAllValues($this->object->getMergedValues());
 
  657                    $global_file_obj->setAllComments($this->object->getMergedRemarks());
 
  658                    $global_file_obj->write();
 
  668            case "remove_local_file":
 
  669                $lang_file = $this->
object->getCustLangPath() . 
'/ilias_' . $this->
object->key . 
'.lang.local';
 
  671                if (!is_file($lang_file))
 
  673                    $this->
object->setLocal(
false);
 
  676                elseif (@unlink($lang_file))
 
  678                    $this->
object->setLocal(
false);
 
  688        $this->ctrl->redirect($this,
"maintain");
 
  698                $translate_key = 
"lang_translate_". $this->
object->key;
 
  706                $translate = 
$ilSetting->get($translate_key, 
false);
 
  708        require_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  710        $form->setFormAction($this->ctrl->getFormAction($this));
 
  711        $form->setTitle($this->lng->txt(
"language_settings"));
 
  712        $form->setPreventDoubleSubmission(
false);
 
  713        $form->addCommandButton(
'settings',$this->lng->txt(
"language_change_settings"));
 
  715        $ci = 
new ilCheckboxInputGUI($this->lng->txt(
"language_translation_enabled"), 
"translation");
 
  716        $ci->setChecked((
bool) $translate);
 
  717        $ci->setInfo($this->lng->txt(
"language_note_translation"));
 
  720        $this->tpl->setContent($form->getHTML());
 
  731                $total = array(
"module"=>
'',
"all"=>0,
"changed"=>0, 
"unchanged"=>0);
 
  732                foreach($modules as $module)
 
  735                        $row[
'module'] = $module;
 
  736                        $row[
'all'] = count($this->object->getAllValues(array($module)));
 
  737                        $row[
'changed'] = count($this->object->getChangedValues(array($module)));
 
  744                $total[
'module'] = 
"<b>".$this->lng->txt(
"language_all_modules").
"</b>";
 
  745                $total[
'all'] = 
"<b>".$total[
'all'].
"</b>";
 
  746                $total[
'changed'] = 
"<b>".$total[
'changed'].
"</b>";
 
  747                $total[
'unchanged'] = 
"<b>".$total[
'unchanged'].
"</b>";
 
  751                include_once 
'Services/Table/classes/class.ilTable2GUI.php';
 
  753        $table_gui->setRowTemplate(
"tpl.lang_statistics_row.html",
"Services/Language");
 
  754        $table_gui->setEnableTitle(
false);
 
  755        $table_gui->setEnableNumInfo(
false);
 
  756        $table_gui->setLimit(count(
$data));
 
  759        $table_gui->addColumn(ucfirst($this->lng->txt(
"module")), 
"", 
"25%");
 
  760        $table_gui->addColumn($this->lng->txt(
"language_scope_global"), 
"", 
"25%");
 
  761        $table_gui->addColumn($this->lng->txt(
"language_scope_local"), 
"", 
"25%");
 
  762        $table_gui->addColumn($this->lng->txt(
"language_scope_unchanged"), 
"", 
"25%");
 
  764        $table_gui->setData(
$data);
 
  766        $this->tpl->setContent($table_gui->getHTML());
 
  780            $this->tabs_gui->addTarget(
"edit",
 
  781                $this->ctrl->getLinkTarget($this, 
"view"),
 
  782                array(
"",
"view",
"cancel",
"save"));
 
  784            $this->tabs_gui->addTarget(
"export",
 
  785                $this->ctrl->getLinkTarget($this, 
"export"),
 
  786                array(
"export",
"download"));
 
  788            $this->tabs_gui->addTarget(
"import",
 
  789                $this->ctrl->getLinkTarget($this, 
"import"),
 
  790                array(
"import",
"upload"));
 
  792            $this->tabs_gui->addTarget(
"language_maintain",
 
  793                $this->ctrl->getLinkTarget($this, 
"maintain"),
 
  796            $this->tabs_gui->addTarget(
"settings",
 
  797                $this->ctrl->getLinkTarget($this, 
"settings"),
 
  800            $this->tabs_gui->addTarget(
"language_statistics",
 
  801                $this->ctrl->getLinkTarget($this, 
"statistics"),
 
  802                array(
"statistics"));
 
  817            parent::addAdminLocatorItems(
true); 
 
  819            $ilLocator->addItem($this->lng->txt(
"languages"),
 
  820                $this->ctrl->getLinkTargetByClass(
"ilobjlanguagefoldergui", 
""));
 
  822            $ilLocator->addItem($this->lng->txt(
"meta_l_". $this->object->getTitle()),
 
  823                $this->ctrl->getLinkTarget($this, 
"view"));
 
  836           $this->tpl->setHeaderPageTitle($this->lng->txt(
"translation"));
 
  837           $this->tpl->setTitle($this->lng->txt(
"translation"). 
" ".$this->lng->txt(
"meta_l_".$this->object->key));
 
  841           $this->tpl->setTitle($this->lng->txt(
"meta_l_".$this->object->key));
 
  843       $this->tpl->setTitleIcon(
ilUtil::getImagePath(
"icon_lngf.svg"), $this->lng->txt(
"obj_" . $this->object->getType()));
 
  855                if(!is_array($a_missing) ||
 
  861                $res = array(
'<h3>'.$this->lng->txt(
"adm_missing_entries").
'</h3>', 
'<ul>');            
 
  863                foreach($a_missing as $entry)
 
  865                        $ilCtrl->setParameter($this, 
"eid", $entry);
 
  866                        $res[] = 
'<li>'.$entry.
 
  867                                ' <a href="'.$ilCtrl->getLinkTarget($this, 
"addNewEntry").
 
  868                                '">'.$this->lng->txt(
"adm_missing_entry_add_action").
'</a></li>';
 
  869                        $ilCtrl->setParameter($this, 
"eid", 
"");
 
  874                return implode(
"\n", 
$res);
 
  881                $id = trim(
$_GET[
"eid"]);
 
  888                $tpl->setContent($a_form->getHTML());
 
  903                        $ilCtrl->redirect($this, 
"view");
 
  906                include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
  908                $form->setFormAction(
$ilCtrl->getFormAction($this, 
"saveNewEntry"));
 
  909                $form->setTitle($this->lng->txt(
"adm_missing_entry_add"));
 
  912                $options = array_combine($mods, $mods);
 
  915                $mod->setOptions(array(
""=>$this->lng->txt(
"please_select"))+
$options);
 
  916                $mod->setRequired(
true);
 
  917                $form->addItem($mod);
 
  919                $id = 
new ilTextInputGUI(ucfirst($this->lng->txt(
"identifier")), 
"id");
 
  920                $id->setValue($a_id);
 
  921                $id->setDisabled(
true);
 
  924                foreach ($this->lng->getInstalledLanguages() as $lang_key)
 
  926                        $trans = 
new ilTextInputGUI($this->lng->txt(
"meta_l_".$lang_key), 
"trans_".$lang_key);
 
  927                        if(in_array($lang_key, array(
"de", 
"en")))
 
  929                                $trans->setRequired(
true);
 
  931                        $form->addItem($trans);
 
  934                $form->addCommandButton(
"saveNewEntry", $this->lng->txt(
"save"));
 
  935                $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
 
  945                if($form->checkInput())
 
  947                        $mod = $form->getInput(
"mod");
 
  948                        $id = $form->getInput(
"id");
 
  951                        foreach ($this->lng->getInstalledLanguages() as $lang_key)
 
  953                                $trans = trim($form->getInput(
"trans_".$lang_key));
 
  967                                        $set = 
$ilDB->query(
"SELECT lang_array FROM lng_modules".
 
  968                                                " WHERE lang_key = ".
$ilDB->quote($lang_key, 
"text").
 
  969                                                " AND module = ".$ilDB->quote($mod, 
"text"));                                   
 
  971                                        $entries = unserialize(
$row[
"lang_array"]);
 
  972                                        if(is_array($entries))
 
  974                                                $entries[$id] = $trans;                                         
 
  975                                                ilObjLanguage::replaceLangModule($lang_key, $mod, $entries);
 
  981                        $ilCtrl->redirect($this, 
"view");
 
  984                $form->setValuesByPost();
 
sprintf('%.4f', $callTime)
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
An exception for terminatinating execution or to throw for unit testing.
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.
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.
settingsObject()
Set the language settings.
getId()
get the language object id (needed for filter serialization)
resetFilterObject()
Reset filter.
addNewEntryObject(ilPropertyFormGUI $a_form=null)
viewObject()
Show the edit screen.
static _getValues($a_lang_key, $a_modules=array(), $a_topics=array(), $a_pattern='', $a_state='')
Get the translations of specified topics.
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 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.
This class represents an option in a radio group.
This class represents a text property in a property form.
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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 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)
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
if(!is_array($argv)) $options