17 require_once
"./Services/Language/classes/class.ilObjLanguage.php";
18 require_once
"./Services/Object/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");
288 $refreshed = array();
292 if ($langObj->refresh())
294 $refreshed[] = $langObj->getKey();
295 $this->data .=
"<br />". $lng->txt(
"meta_l_".$langObj->getKey());
310 $this->lng->loadLanguageModule(
"meta");
312 require_once
'./Services/User/classes/class.ilObjUser.php';
316 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
319 if (count(
$_POST[
"id"]) != 1)
321 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language").
"<br/>".$this->lng->txt(
"action_aborted"),$this->
ilias->error_obj->MESSAGE);
328 if ($newUserLangObj->isUserLanguage())
330 $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);
333 if ($newUserLangObj->isInstalled() ==
false)
335 $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);
339 $curUser->setLanguage($newUserLangObj->getKey());
343 $this->data = $this->lng->txt(
"user_language").
" ".$this->lng->txt(
"changed_to").
" ".$this->lng->txt(
"meta_l_".$newUserLangObj->getKey()).
".";
354 $this->lng->loadLanguageModule(
"meta");
358 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
361 if (count(
$_POST[
"id"]) != 1)
363 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language").
"<br/>".$this->lng->txt(
"action_aborted"),$this->
ilias->error_obj->MESSAGE);
370 if ($newSysLangObj->isSystemLanguage())
372 $this->
ilias->raiseError($this->lng->txt(
"meta_l_".$newSysLangObj->getKey()).
" is already the system language!<br>Action aborted!",$this->
ilias->error_obj->MESSAGE);
375 if ($newSysLangObj->isInstalled() ==
false)
377 $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);
380 $this->
ilias->setSetting(
"language", $newSysLangObj->getKey());
383 $this->
ilias->ini->setVariable(
"language",
"default",$newSysLangObj->getKey());
384 $this->
ilias->ini->write();
386 $this->data = $this->lng->txt(
"system_language").
" ".$this->lng->txt(
"changed_to").
" ".$this->lng->txt(
"meta_l_".$newSysLangObj->getKey()).
".";
399 $this->data = $this->
object->checkAllLanguages();
407 $this->ctrl->redirect($this,
"view");
424 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
426 $tabs_gui->addTarget(
"settings",
427 $this->ctrl->getLinkTarget($this,
"view"), array(
"view",
""),
"",
"");
430 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
432 $tabs_gui->addTarget(
"perm_settings",
433 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
439 $next_class = $this->ctrl->getNextClass($this);
440 $cmd = $this->ctrl->getCmd();
445 case 'ilpermissiongui':
446 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
448 $ret =& $this->ctrl->forwardCommand($perm_gui);
471 $ilSetting->set(
"lang_ext_maintenance", 1);
472 $ilCtrl->redirect($this,
"view");
482 $ilSetting->set(
"lang_ext_maintenance", 0);
483 $ilCtrl->redirect($this,
"view");
490 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
492 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
493 $conf_screen->setHeaderText($lng->txt(
"lang_refresh_confirm"));
494 $conf_screen->addItem(
"d",
"d", $lng->txt(
"lang_refresh_confirm_info"));
495 $conf_screen->setCancel($lng->txt(
"cancel"),
"view");
496 $conf_screen->setConfirm($lng->txt(
"ok"),
"refresh");
498 $this->tpl->setContent($conf_screen->getHTML());
507 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
510 $lng->loadLanguageModule(
"meta");
511 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
513 $conf_screen->setFormAction($ilCtrl->getFormAction($this));
514 $conf_screen->setHeaderText($lng->txt(
"lang_refresh_confirm_selected"));
518 $conf_screen->addItem(
"id[]", $id, $lng->txt(
"meta_l_".$lang_title));
520 $conf_screen->addItem(
"d",
"d", $lng->txt(
"lang_refresh_confirm_info"));
521 $conf_screen->setCancel($lng->txt(
"cancel"),
"view");
522 $conf_screen->setConfirm($lng->txt(
"ok"),
"refreshSelected");
523 $this->tpl->setContent($conf_screen->getHTML());
535 "install" => array(
"name" =>
"install",
"lng" =>
"install"),
536 "installLocal" => array(
"name" =>
"installLocal",
"lng" =>
"install_local"),
537 "uninstall" => array(
"name" =>
"uninstall",
"lng" =>
"uninstall"),
538 "refresh" => $ilSetting->get(
"lang_ext_maintenance") ==
"1" ?
539 array(
"name" =>
"confirmRefreshSelected",
"lng" =>
"refresh") :
540 array(
"name" =>
"RefreshSelected",
"lng" =>
"refresh"),
541 "setSystemLanguage" => array(
"name" =>
"setSystemLanguage",
"lng" =>
"setSystemLanguage"),
542 "setUserLanguage" => array(
"name" =>
"setUserLanguage",
"lng" =>
"setUserLanguage")
refreshSelectedObject()
update selected languages
installObject()
install languages
refreshObject()
update all installed languages
setSystemLanguageObject()
set the system language
setUserLanguageObject()
set user language
getTabs(&$tabs_gui)
get tabs public
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
static _lookupTitle($a_id)
lookup object title
confirmRefreshSelectedObject()
disableExtendedLanguageMaintenanceObject()
Disable extended language maintenance.
installLocalObject()
Install local language modifications.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
ilObjLanguageFolderGUI($a_data, $a_id, $a_call_by_reference)
Constructor.
Class ilObjectGUI Basic methods of all Output classes.
redirection script todo: (a better solution should control the processing via a xml file) ...
prepareOutput()
prepare output
viewObject()
show installed languages
enableExtendedLanguageMaintenanceObject()
Enable extended language maintenance.
uninstallObject()
uninstall language
static refreshAll()
Refresh all installed languages.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static refreshPlugins($a_lang_keys=null)
checkLanguageObject()
check all languages
Class ilObjLanguageFolderGUI.
Confirmation screen class.