17 require_once
"./Services/Language/classes/class.ilObjLanguage.php";
18 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
27 public function __construct($a_data, $a_id, $a_call_by_reference)
30 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
31 $_GET[
"sort_by"] =
"language";
32 $this->lng->loadLanguageModule(
'lng');
47 $refresh->setUrl($this->ctrl->getLinkTarget($this,
"confirmRefresh"));
48 $refresh->setCaption(
"refresh_languages");
49 $this->toolbar->addButtonInstance($refresh);
53 $check->setUrl($this->ctrl->getLinkTarget($this,
"checkLanguage"));
54 $check->setCaption(
"check_languages");
55 $this->toolbar->addButtonInstance($check);
58 if (!$this->
settings->get(
'lang_detection')) {
60 $detect->setUrl($this->ctrl->getLinkTarget($this,
"enableLanguageDetection"));
61 $detect->setCaption(
"lng_enable_language_detection");
62 $this->toolbar->addButtonInstance($detect);
65 $detect->setUrl($this->ctrl->getLinkTarget($this,
"disableLanguageDetection"));
66 $detect->setCaption(
"lng_disable_language_detection");
67 $this->toolbar->addButtonInstance($detect);
71 $ilClientIniFile = $DIC[
'ilClientIniFile'];
72 if ($ilClientIniFile->variableExists(
'system',
'LANGUAGE_LOG')) {
74 $download->setUrl($this->ctrl->getLinkTarget($this,
"listDeprecated"));
75 $download->setCaption(
"lng_download_deprecated");
76 $this->toolbar->addButtonInstance($download);
80 $this->tpl->setContent($ltab->getHTML());
89 $this->lng->loadLanguageModule(
"meta");
91 if (!isset(
$_POST[
"id"])) {
92 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
97 $key = $langObj->install();
100 $lang_installed[] =
$key;
106 if (isset($lang_installed)) {
107 if (count($lang_installed) == 1) {
108 $this->
data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
110 foreach ($lang_installed as $lang_key) {
111 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
113 $this->
data = implode(
", ", $langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
116 $this->
data = $this->lng->txt(
"languages_already_installed");
129 $this->lng->loadLanguageModule(
"meta");
131 if (!isset(
$_POST[
"id"])) {
132 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
137 $key = $langObj->install();
140 $lang_installed[] =
$key;
146 $key = $langObj->install(
'local');
149 $local_installed[] =
$key;
155 if (isset($lang_installed)) {
156 if (count($lang_installed) == 1) {
157 $this->
data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
159 foreach ($lang_installed as $lang_key) {
160 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
162 $this->
data = implode(
", ", $langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
166 if (isset($local_installed)) {
167 if (count($local_installed) == 1) {
168 $this->
data .=
" " . $this->lng->txt(
"meta_l_" . $local_installed[0]) .
" " . $this->lng->txt(
"local_language_file") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
170 foreach ($local_installed as $lang_key) {
171 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
173 $this->
data .=
" " . implode(
", ", $langnames) .
" " . $this->lng->txt(
"local_language_files") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
176 $this->
data .=
" " . $this->lng->txt(
"local_languages_already_installed");
189 $this->lng->loadLanguageModule(
"meta");
191 if (!isset(
$_POST[
"id"])) {
192 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
198 if (!($sys_lang = $langObj->isSystemLanguage())) {
199 if (!($usr_lang = $langObj->isUserLanguage())) {
200 $key = $langObj->uninstall();
202 $lang_uninstalled[] =
$key;
210 if (isset($lang_uninstalled)) {
211 if (count($lang_uninstalled) == 1) {
212 $this->
data = $this->lng->txt(
"meta_l_" . $lang_uninstalled[0]) .
" " . $this->lng->txt(
"uninstalled");
214 foreach ($lang_uninstalled as $lang_key) {
215 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
218 $this->
data = implode(
", ", $langnames) .
" " . $this->lng->txt(
"uninstalled");
220 } elseif ($sys_lang) {
221 $this->
data = $this->lng->txt(
"cannot_uninstall_systemlanguage");
222 } elseif ($usr_lang) {
223 $this->
data = $this->lng->txt(
"cannot_uninstall_language_in_use");
225 $this->
data = $this->lng->txt(
"languages_already_uninstalled");
239 $this->
data = $this->lng->txt(
"selected_languages_updated");
240 $this->lng->loadLanguageModule(
"meta");
245 if ($langObj->isInstalled() ==
true) {
246 if ($langObj->check()) {
247 $langObj->flush(
'all');
249 $langObj->setTitle($langObj->getKey());
250 $langObj->setDescription(
'installed');
253 $this->
data .=
"<br />" . $this->lng->txt(
"meta_l_" . $langObj->getKey());
271 $this->
data = $this->lng->txt(
"languages_updated");
282 $this->
data = $this->lng->txt(
"selected_languages_updated");
283 $this->lng->loadLanguageModule(
"meta");
285 $refreshed = array();
288 if ($langObj->refresh()) {
289 $refreshed[] = $langObj->getKey();
290 $this->
data .=
"<br />" . $this->lng->txt(
"meta_l_" . $langObj->getKey());
309 $this->lng->loadLanguageModule(
"meta");
311 require_once
'./Services/User/classes/class.ilObjUser.php';
313 if (!isset(
$_POST[
"id"])) {
314 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
317 if (count(
$_POST[
"id"]) != 1) {
318 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
325 if ($newUserLangObj->isUserLanguage()) {
326 $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);
329 if ($newUserLangObj->isInstalled() ==
false) {
330 $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);
338 $this->
data = $this->lng->txt(
"user_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newUserLangObj->getKey()) .
".";
350 $this->lng->loadLanguageModule(
"meta");
352 if (!isset(
$_POST[
"id"])) {
353 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
356 if (count(
$_POST[
"id"]) != 1) {
357 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
364 if ($newSysLangObj->isSystemLanguage()) {
365 $this->
ilias->raiseError($this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
" is already the system language!<br>Action aborted!", $this->
ilias->error_obj->MESSAGE);
368 if ($newSysLangObj->isInstalled() ==
false) {
369 $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);
372 $this->
ilias->setSetting(
"language", $newSysLangObj->getKey());
375 $this->
ilias->ini->setVariable(
"language",
"default", $newSysLangObj->getKey());
376 $this->
ilias->ini->write();
378 $this->
data = $this->lng->txt(
"system_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
".";
390 $this->
data = $this->
object->checkAllLanguages();
398 $this->ctrl->redirect($this,
"view");
414 $this->tabs_gui->addTab(
'settings', $this->lng->txt(
'settings'), $this->ctrl->getLinkTarget($this,
"view"));
418 $this->tabs_gui->addTab(
'perm_settings', $this->lng->txt(
'perm_settings'), $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
427 $next_class = $this->ctrl->getNextClass($this);
428 $cmd = $this->ctrl->getCmd();
431 switch ($next_class) {
432 case 'ilpermissiongui':
433 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
435 $this->tabs_gui->activateTab(
'perm_settings');
436 $this->ctrl->forwardCommand($perm_gui);
440 $this->tabs_gui->activateTab(
'settings');
463 if ($langObj->isInstalled() ==
true) {
464 $ids[] = $lang[
"obj_id"];
473 $this->lng->loadLanguageModule(
"meta");
475 if (!empty($a_ids)) {
477 $header = $this->lng->txt(
"lang_refresh_confirm");
478 } elseif (!empty(
$_POST[
"id"])) {
480 $header = $this->lng->txt(
"lang_refresh_confirm_selected");
482 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
487 $some_changed =
false;
488 foreach ($ids as
$id) {
490 $lang_title = $this->lng->txt(
'meta_l_' . $lang_key);
492 if (!empty($last_change)) {
493 $some_changed =
true;
494 $lang_title .=
' (' . $this->lng->txt(
"last_change") .
' ' 497 $conf_screen->addItem(
"id[]", $id, $lang_title);
500 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
502 $header .=
'<br />' . $this->lng->txt(
"lang_refresh_confirm_info");
504 $conf_screen->setHeaderText(
$header);
505 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
506 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"refreshSelected");
507 $this->tpl->setContent($conf_screen->getHTML());
514 if (!isset(
$_POST[
"id"])) {
515 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
518 $this->lng->loadLanguageModule(
"meta");
519 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
521 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
522 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_confirm"));
525 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
527 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
528 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstall");
529 $this->tpl->setContent($conf_screen->getHTML());
537 if (!isset(
$_POST[
"id"])) {
538 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
541 $this->lng->loadLanguageModule(
"meta");
542 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
544 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
545 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_changes_confirm"));
548 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
550 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
551 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstallChanges");
552 $this->tpl->setContent($conf_screen->getHTML());
563 "install" => array(
"name" =>
"install",
"lng" =>
"install"),
564 "installLocal" => array(
"name" =>
"installLocal",
"lng" =>
"install_local"),
565 "uninstall" => array(
"name" =>
"uninstall",
"lng" =>
"uninstall"),
566 "refresh" => array(
"name" =>
"confirmRefreshSelected",
"lng" =>
"refresh"),
567 "setSystemLanguage" => array(
"name" =>
"setSystemLanguage",
"lng" =>
"setSystemLanguage"),
568 "setUserLanguage" => array(
"name" =>
"setUserLanguage",
"lng" =>
"setUserLanguage")
577 $this->
settings->set(
'lang_detection', 0);
578 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
587 $this->
settings->set(
'lang_detection', 1);
588 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
598 $button->setCaption(
"download");
599 $button->setUrl($this->ctrl->getLinkTarget($this,
"downloadDeprecated"));
600 $this->toolbar->addButtonInstance($button);
602 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
606 foreach (
$d->getDeprecatedLangVars() as
$key => $mod) {
607 $res .= $mod .
"," . $key .
"\n";
610 $this->tpl->setContent(
"<pre>" .
$res .
"</pre>");
618 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
621 foreach (
$d->getDeprecatedLangVars() as
$key => $mod) {
622 $res .= $mod .
"," . $key .
"\n";
refreshSelectedObject()
update selected languages
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
installObject()
install languages
__construct($a_data, $a_id, $a_call_by_reference)
Constructor.
setLanguage($a_str)
set user language public
refreshObject()
update all installed languages
setSystemLanguageObject()
set the system language
setUserLanguageObject()
set user language
listDeprecatedObject()
Download deprecated lang entries.
static _lookupTitle($a_id)
lookup object title
static _getObjectsByType($a_obj_type="", $a_owner="")
Get objects by type.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
installLocalObject()
Install local language modifications.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Search for deprecated lang vars.
prepareOutput($a_show_subobjects=true)
prepare output
uninstallChangesObject()
Uninstall local changes in the database.
foreach($_POST as $key=> $value) $res
Class ilObjectGUI Basic methods of all Output classes.
redirection script todo: (a better solution should control the processing via a xml file) ...
downloadDeprecatedObject()
Download deprecated lang entries.
enableLanguageDetectionObject()
Enable language detection.
viewObject()
show installed languages
confirmUninstallChangesObject()
uninstallObject()
uninstall language
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
disableLanguageDetectionObject()
Disable language detection.
static refreshAll()
Refresh all installed languages.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getLastLocalChange($a_key)
get the date of the last local change
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
static refreshPlugins($a_lang_keys=null)
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
checkLanguageObject()
check all languages
Class ilObjLanguageFolderGUI.
Confirmation screen class.
confirmRefreshSelectedObject($a_ids=array())