17 require_once
"./Services/Language/classes/class.ilObjLanguage.php";
18 require_once
"./classes/class.ilObjectGUI.php";
30 $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,
false);
31 $_GET[
"sort_by"] =
"language";
43 if (!$rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
45 $this->ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
49 if ($ilSetting->get(
"lang_ext_maintenance") ==
"1")
51 $ilToolbar->addButton($lng->txt(
"refresh_languages"),
52 $this->ctrl->getLinkTarget($this,
"confirmRefresh"));
56 $ilToolbar->addButton($lng->txt(
"refresh_languages"),
57 $this->ctrl->getLinkTarget($this,
"refresh"));
61 $ilToolbar->addButton($lng->txt(
"check_languages"),
62 $this->ctrl->getLinkTarget($this,
"checkLanguage"));
65 if ($rbacsystem->checkAccess(
"write",$this->object->getRefId()))
67 if ($ilSetting->get(
"lang_ext_maintenance") ==
"1")
69 $ilToolbar->addButton($lng->txt(
"disable_ext_lang_maint"),
70 $this->ctrl->getLinkTarget($this,
"disableExtendedLanguageMaintenance"));
74 $ilToolbar->addButton($lng->txt(
"enable_ext_lang_maint"),
75 $this->ctrl->getLinkTarget($this,
"enableExtendedLanguageMaintenance"));
79 include_once(
"./Services/Language/classes/class.ilLanguageTableGUI.php");
81 $tpl->setContent($ltab->getHTML());
89 $this->lng->loadLanguageModule(
"meta");
93 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
99 $key = $langObj->install();
103 $lang_installed[] = $key;
109 if (isset($lang_installed))
111 if (count($lang_installed) == 1)
113 $this->data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
117 foreach ($lang_installed as $lang_key)
119 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
121 $this->data = implode(
", ",$langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
126 $this->data = $this->lng->txt(
"languages_already_installed");
138 $this->lng->loadLanguageModule(
"meta");
142 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
148 $key = $langObj->install();
152 $lang_installed[] = $key;
158 $key = $langObj->install(
'local');
162 $local_installed[] = $key;
168 if (isset($lang_installed))
170 if (count($lang_installed) == 1)
172 $this->data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
176 foreach ($lang_installed as $lang_key)
178 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
180 $this->data = implode(
", ",$langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
184 if (isset($local_installed))
186 if (count($local_installed) == 1)
188 $this->data .=
" " . $this->lng->txt(
"meta_l_" . $local_installed[0]) .
" " . $this->lng->txt(
"local_language_file") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
192 foreach ($local_installed as $lang_key)
194 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
196 $this->data .=
" " . implode(
", ",$langnames) .
" " . $this->lng->txt(
"local_language_files") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
201 $this->data .=
" " . $this->lng->txt(
"local_languages_already_installed");
213 $this->lng->loadLanguageModule(
"meta");
217 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
224 if (!($sys_lang = $langObj->isSystemLanguage()))
225 if (!($usr_lang = $langObj->isUserLanguage()))
227 $key = $langObj->uninstall();
229 $lang_uninstalled[] = $key;
235 if (isset($lang_uninstalled))
237 if (count($lang_uninstalled) == 1)
239 $this->data = $this->lng->txt(
"meta_l_".$lang_uninstalled[0]).
" ".$this->lng->txt(
"uninstalled");
243 foreach ($lang_uninstalled as $lang_key)
245 $langnames[] = $this->lng->txt(
"meta_l_".$lang_key);
248 $this->data = implode(
", ",$langnames).
" ".$this->lng->txt(
"uninstalled");
253 $this->data = $this->lng->txt(
"cannot_uninstall_systemlanguage");
257 $this->data = $this->lng->txt(
"cannot_uninstall_language_in_use");
261 $this->data = $this->lng->txt(
"languages_already_uninstalled");
273 $this->data = $this->lng->txt(
"languages_updated");
285 $this->data = $this->lng->txt(
"selected_languages_updated");
286 $lng->loadLanguageModule(
"meta");
292 if ($langObj->isInstalled() ==
true)
294 if ($langObj->check())
296 $langObj->flush(
'keep_local');
298 $langObj->setTitle($langObj->getKey());
299 $langObj->setDescription($langObj->getStatus());
301 $langObj->optimizeData();
303 if ($langObj->isLocal() ==
true)
305 if ($langObj->check(
'local'))
307 $langObj->insert(
'local');
308 $langObj->setTitle($langObj->getKey());
309 $langObj->setDescription($langObj->getStatus());
311 $langObj->optimizeData();
315 $this->data .=
"<br />". $lng->txt(
"meta_l_".$langObj->getKey());
330 $this->lng->loadLanguageModule(
"meta");
332 require_once
'./Services/User/classes/class.ilObjUser.php';
336 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
339 if (count(
$_POST[
"id"]) != 1)
341 $this->ilias->raiseError($this->lng->txt(
"choose_only_one_language").
"<br/>".$this->lng->txt(
"action_aborted"),$this->ilias->error_obj->MESSAGE);
348 if ($newUserLangObj->isUserLanguage())
350 $this->ilias->raiseError($this->lng->txt(
"meta_l_".$newUserLangObj->getKey()).
" ".$this->lng->txt(
"is_already_your").
" ".$this->lng->txt(
"user_language").
"<br/>".$this->lng->txt(
"action_aborted"),$this->ilias->error_obj->MESSAGE);
353 if ($newUserLangObj->isInstalled() ==
false)
355 $this->ilias->raiseError($this->lng->txt(
"meta_l_".$newUserLangObj->getKey()).
" ".$this->lng->txt(
"language_not_installed").
"<br/>".$this->lng->txt(
"action_aborted"),$this->ilias->error_obj->MESSAGE);
359 $curUser->setLanguage($newUserLangObj->getKey());
363 $this->data = $this->lng->txt(
"user_language").
" ".$this->lng->txt(
"changed_to").
" ".$this->lng->txt(
"meta_l_".$newUserLangObj->getKey()).
".";
374 $this->lng->loadLanguageModule(
"meta");
378 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
381 if (count(
$_POST[
"id"]) != 1)
383 $this->ilias->raiseError($this->lng->txt(
"choose_only_one_language").
"<br/>".$this->lng->txt(
"action_aborted"),$this->ilias->error_obj->MESSAGE);
390 if ($newSysLangObj->isSystemLanguage())
392 $this->ilias->raiseError($this->lng->txt(
"meta_l_".$newSysLangObj->getKey()).
" is already the system language!<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
395 if ($newSysLangObj->isInstalled() ==
false)
397 $this->ilias->raiseError($this->lng->txt(
"meta_l_".$newSysLangObj->getKey()).
" is not installed. Please install that language first.<br>Action aborted!",$this->ilias->error_obj->MESSAGE);
400 $this->ilias->setSetting(
"language", $newSysLangObj->getKey());
403 $this->ilias->ini->setVariable(
"language",
"default",$newSysLangObj->getKey());
404 $this->ilias->ini->write();
406 $this->data = $this->lng->txt(
"system_language").
" ".$this->lng->txt(
"changed_to").
" ".$this->lng->txt(
"meta_l_".$newSysLangObj->getKey()).
".";
419 $this->data = $this->
object->checkAllLanguages();
427 $this->ctrl->redirect($this,
"view");
444 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
446 $tabs_gui->addTarget(
"settings",
447 $this->ctrl->getLinkTarget($this,
"view"), array(
"view",
""),
"",
"");
450 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
452 $tabs_gui->addTarget(
"perm_settings",
453 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
459 $next_class = $this->ctrl->getNextClass($this);
460 $cmd = $this->ctrl->getCmd();
465 case 'ilpermissiongui':
466 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
468 $ret =& $this->ctrl->forwardCommand($perm_gui);
491 $ilSetting->set(
"lang_ext_maintenance", 1);
492 $ilCtrl->redirect($this,
"view");
502 $ilSetting->set(
"lang_ext_maintenance", 0);
503 $ilCtrl->redirect($this,
"view");
510 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
512 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
513 $conf_screen->setHeaderText($lng->txt(
"lang_refresh_confirm"));
514 $conf_screen->addItem(
"d",
"d", $lng->txt(
"lang_refresh_confirm_info"));
515 $conf_screen->setCancel($lng->txt(
"cancel"),
"view");
516 $conf_screen->setConfirm($lng->txt(
"ok"),
"refresh");
518 $this->tpl->setContent($conf_screen->getHTML());
527 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
530 $lng->loadLanguageModule(
"meta");
531 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
533 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
534 $conf_screen->setHeaderText($lng->txt(
"lang_refresh_confirm_selected"));
538 $conf_screen->addItem(
"id[]", $id, $lng->txt(
"meta_l_".$lang_title));
540 $conf_screen->addItem(
"d",
"d", $lng->txt(
"lang_refresh_confirm_info"));
541 $conf_screen->setCancel($lng->txt(
"cancel"),
"view");
542 $conf_screen->setConfirm($lng->txt(
"ok"),
"refreshSelected");
543 $this->tpl->setContent($conf_screen->getHTML());
555 "install" => array(
"name" =>
"install",
"lng" =>
"install"),
556 "installLocal" => array(
"name" =>
"installLocal",
"lng" =>
"install_local"),
557 "uninstall" => array(
"name" =>
"uninstall",
"lng" =>
"uninstall"),
558 "refresh" => $ilSetting->get(
"lang_ext_maintenance") ==
"1" ?
559 array(
"name" =>
"confirmRefreshSelected",
"lng" =>
"refresh") :
560 array(
"name" =>
"RefreshSelected",
"lng" =>
"refresh"),
561 "setSystemLanguage" => array(
"name" =>
"setSystemLanguage",
"lng" =>
"setSystemLanguage"),
562 "setUserLanguage" => array(
"name" =>
"setUserLanguage",
"lng" =>
"setUserLanguage")