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());
306 $this->lng->loadLanguageModule(
"meta");
308 require_once
'./Services/User/classes/class.ilObjUser.php';
310 if (!isset(
$_POST[
"id"])) {
311 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
314 if (count(
$_POST[
"id"]) != 1) {
315 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
322 if ($newUserLangObj->isUserLanguage()) {
323 $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);
326 if ($newUserLangObj->isInstalled() ==
false) {
327 $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);
331 $curUser->setLanguage($newUserLangObj->getKey());
335 $this->
data = $this->lng->txt(
"user_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newUserLangObj->getKey()) .
".";
347 $this->lng->loadLanguageModule(
"meta");
349 if (!isset(
$_POST[
"id"])) {
350 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
353 if (count(
$_POST[
"id"]) != 1) {
354 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
361 if ($newSysLangObj->isSystemLanguage()) {
362 $this->
ilias->raiseError($this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
" is already the system language!<br>Action aborted!", $this->
ilias->error_obj->MESSAGE);
365 if ($newSysLangObj->isInstalled() ==
false) {
366 $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);
369 $this->
ilias->setSetting(
"language", $newSysLangObj->getKey());
372 $this->
ilias->ini->setVariable(
"language",
"default", $newSysLangObj->getKey());
373 $this->
ilias->ini->write();
375 $this->
data = $this->lng->txt(
"system_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
".";
387 $this->
data = $this->
object->checkAllLanguages();
395 $this->ctrl->redirect($this,
"view");
411 $this->tabs_gui->addTab(
'settings', $this->lng->txt(
'settings'), $this->ctrl->getLinkTarget($this,
"view"));
415 $this->tabs_gui->addTab(
'perm_settings', $this->lng->txt(
'perm_settings'), $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm"));
424 $next_class = $this->ctrl->getNextClass($this);
425 $cmd = $this->ctrl->getCmd();
428 switch ($next_class) {
429 case 'ilpermissiongui':
430 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
432 $this->tabs_gui->activateTab(
'perm_settings');
433 $this->ctrl->forwardCommand($perm_gui);
437 $this->tabs_gui->activateTab(
'settings');
458 foreach ($languages as
$lang) {
460 if ($langObj->isInstalled() ==
true) {
461 $ids[] = $lang[
"obj_id"];
470 $this->lng->loadLanguageModule(
"meta");
472 if (!empty($a_ids)) {
474 $header = $this->lng->txt(
"lang_refresh_confirm");
475 } elseif (!empty(
$_POST[
"id"])) {
477 $header = $this->lng->txt(
"lang_refresh_confirm_selected");
479 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
484 $some_changed =
false;
485 foreach ($ids as
$id) {
487 $lang_title = $this->lng->txt(
'meta_l_' . $lang_key);
489 if (!empty($last_change)) {
490 $some_changed =
true;
491 $lang_title .=
' (' . $this->lng->txt(
"last_change") .
' ' 494 $conf_screen->addItem(
"id[]", $id, $lang_title);
497 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
499 $header .=
'<br />' . $this->lng->txt(
"lang_refresh_confirm_info");
501 $conf_screen->setHeaderText(
$header);
502 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
503 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"refreshSelected");
504 $this->tpl->setContent($conf_screen->getHTML());
511 if (!isset(
$_POST[
"id"])) {
512 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
515 $this->lng->loadLanguageModule(
"meta");
516 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
518 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
519 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_confirm"));
522 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
524 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
525 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstall");
526 $this->tpl->setContent($conf_screen->getHTML());
534 if (!isset(
$_POST[
"id"])) {
535 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
538 $this->lng->loadLanguageModule(
"meta");
539 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
541 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
542 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_changes_confirm"));
545 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
547 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
548 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstallChanges");
549 $this->tpl->setContent($conf_screen->getHTML());
560 "install" =>
array(
"name" =>
"install",
"lng" =>
"install"),
561 "installLocal" =>
array(
"name" =>
"installLocal",
"lng" =>
"install_local"),
562 "uninstall" =>
array(
"name" =>
"uninstall",
"lng" =>
"uninstall"),
563 "refresh" =>
array(
"name" =>
"confirmRefreshSelected",
"lng" =>
"refresh"),
564 "setSystemLanguage" =>
array(
"name" =>
"setSystemLanguage",
"lng" =>
"setSystemLanguage"),
565 "setUserLanguage" =>
array(
"name" =>
"setUserLanguage",
"lng" =>
"setUserLanguage")
574 $this->
settings->set(
'lang_detection', 0);
584 $this->
settings->set(
'lang_detection', 1);
595 $button->setCaption(
"download");
596 $button->setUrl($this->ctrl->getLinkTarget($this,
"downloadDeprecated"));
597 $this->toolbar->addButtonInstance($button);
599 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
603 foreach (
$d->getDeprecatedLangVars() as
$key => $mod) {
604 $res.= $mod .
"," . $key .
"\n";
607 $this->tpl->setContent(
"<pre>" .
$res .
"</pre>");
615 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
618 foreach (
$d->getDeprecatedLangVars() as
$key => $mod) {
619 $res.= $mod .
"," . $key .
"\n";
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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.
refreshObject()
update all installed languages
setSystemLanguageObject()
set the system language
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
setUserLanguageObject()
set user language
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
listDeprecatedObject()
Download deprecated lang entries.
static _lookupTitle($a_id)
lookup object title
static _getObjectsByType($a_obj_type="", $a_owner="")
Get objects by type.
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
getId()
get object id public
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.
Create styles array
The data for the language used.
enableLanguageDetectionObject()
Enable language detection.
viewObject()
show installed languages
confirmUninstallChangesObject()
uninstallObject()
uninstall language
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())