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)
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);
59 $ilClientIniFile = $DIC[
'ilClientIniFile'];
60 if ($ilClientIniFile->variableExists(
'system',
'LANGUAGE_LOG')) {
62 $download->setUrl($this->ctrl->getLinkTarget($this,
"listDeprecated"));
63 $download->setCaption(
"lng_download_deprecated");
64 $this->toolbar->addButtonInstance($download);
68 if (!$this->
settings->get(
'lang_detection')) {
71 $toggleButton = $DIC->ui()->factory()->button()->toggle(
"", $DIC->ctrl()->getLinkTarget($this,
"enableLanguageDetection"), $DIC->ctrl()->getLinkTarget($this,
"disableLanguageDetection"),
false)
72 ->withLabel($this->lng->txt(
"language_detection"))->withAriaLabel($this->lng->txt(
"lng_enable_language_detection"));
73 $this->toolbar->addComponent($toggleButton);
77 $toggleButton = $DIC->ui()->factory()->button()->toggle(
"", $DIC->ctrl()->getLinkTarget($this,
"enableLanguageDetection"), $DIC->ctrl()->getLinkTarget($this,
"disableLanguageDetection"),
true)
78 ->withLabel($this->lng->txt(
"language_detection"))->withAriaLabel($this->lng->txt(
"lng_disable_language_detection"));
79 $this->toolbar->addComponent($toggleButton);
84 $this->tpl->setContent($ltab->getHTML());
93 $this->lng->loadLanguageModule(
"meta");
95 if (!isset(
$_POST[
"id"])) {
96 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
101 $key = $langObj->install();
104 $lang_installed[] = $key;
110 if (isset($lang_installed)) {
111 if (count($lang_installed) == 1) {
112 $this->data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
114 foreach ($lang_installed as $lang_key) {
115 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
117 $this->data = implode(
", ", $langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
120 $this->data = $this->lng->txt(
"languages_already_installed");
133 $this->lng->loadLanguageModule(
"meta");
135 if (!isset(
$_POST[
"id"])) {
136 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
141 $key = $langObj->install();
144 $lang_installed[] = $key;
150 $key = $langObj->install(
'local');
153 $local_installed[] = $key;
159 if (isset($lang_installed)) {
160 if (count($lang_installed) == 1) {
161 $this->data = $this->lng->txt(
"meta_l_" . $lang_installed[0]) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
163 foreach ($lang_installed as $lang_key) {
164 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
166 $this->data = implode(
", ", $langnames) .
" " . strtolower($this->lng->txt(
"installed")) .
".";
170 if (isset($local_installed)) {
171 if (count($local_installed) == 1) {
172 $this->data .=
" " . $this->lng->txt(
"meta_l_" . $local_installed[0]) .
" " . $this->lng->txt(
"local_language_file") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
174 foreach ($local_installed as $lang_key) {
175 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
177 $this->data .=
" " . implode(
", ", $langnames) .
" " . $this->lng->txt(
"local_language_files") .
" " . strtolower($this->lng->txt(
"installed")) .
".";
180 $this->data .=
" " . $this->lng->txt(
"local_languages_already_installed");
193 $this->lng->loadLanguageModule(
"meta");
195 if (!isset(
$_POST[
"id"])) {
196 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
202 if (!($sys_lang = $langObj->isSystemLanguage())) {
203 if (!($usr_lang = $langObj->isUserLanguage())) {
204 $key = $langObj->uninstall();
206 $lang_uninstalled[] = $key;
214 if (isset($lang_uninstalled)) {
215 if (count($lang_uninstalled) == 1) {
216 $this->data = $this->lng->txt(
"meta_l_" . $lang_uninstalled[0]) .
" " . $this->lng->txt(
"uninstalled");
218 foreach ($lang_uninstalled as $lang_key) {
219 $langnames[] = $this->lng->txt(
"meta_l_" . $lang_key);
222 $this->data = implode(
", ", $langnames) .
" " . $this->lng->txt(
"uninstalled");
224 } elseif ($sys_lang) {
225 $this->data = $this->lng->txt(
"cannot_uninstall_systemlanguage");
226 } elseif ($usr_lang) {
227 $this->data = $this->lng->txt(
"cannot_uninstall_language_in_use");
229 $this->data = $this->lng->txt(
"languages_already_uninstalled");
243 $this->data = $this->lng->txt(
"selected_languages_updated");
244 $this->lng->loadLanguageModule(
"meta");
249 if ($langObj->isInstalled() ==
true) {
250 if ($langObj->check()) {
251 $langObj->flush(
'all');
253 $langObj->setTitle($langObj->getKey());
254 $langObj->setDescription(
'installed');
257 $this->data .=
"<br />" . $this->lng->txt(
"meta_l_" . $langObj->getKey());
275 $this->data = $this->lng->txt(
"languages_updated");
286 $this->data = $this->lng->txt(
"selected_languages_updated");
287 $this->lng->loadLanguageModule(
"meta");
289 $refreshed = array();
292 if ($langObj->refresh()) {
293 $refreshed[] = $langObj->getKey();
294 $this->data .=
"<br />" . $this->lng->txt(
"meta_l_" . $langObj->getKey());
313 $this->lng->loadLanguageModule(
"meta");
315 require_once
'./Services/User/classes/class.ilObjUser.php';
317 if (!isset(
$_POST[
"id"])) {
318 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
321 if (count(
$_POST[
"id"]) != 1) {
322 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
329 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) {
334 $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());
342 $this->data = $this->lng->txt(
"user_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newUserLangObj->getKey()) .
".";
354 $this->lng->loadLanguageModule(
"meta");
356 if (!isset(
$_POST[
"id"])) {
357 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
360 if (count(
$_POST[
"id"]) != 1) {
361 $this->
ilias->raiseError($this->lng->txt(
"choose_only_one_language") .
"<br/>" . $this->lng->txt(
"action_aborted"), $this->
ilias->error_obj->MESSAGE);
368 if ($newSysLangObj->isSystemLanguage()) {
369 $this->
ilias->raiseError($this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
" is already the system language!<br>Action aborted!", $this->
ilias->error_obj->MESSAGE);
372 if ($newSysLangObj->isInstalled() ==
false) {
373 $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);
376 $this->
ilias->setSetting(
"language", $newSysLangObj->getKey());
379 $this->
ilias->ini->setVariable(
"language",
"default", $newSysLangObj->getKey());
380 $this->
ilias->ini->write();
382 $this->data = $this->lng->txt(
"system_language") .
" " . $this->lng->txt(
"changed_to") .
" " . $this->lng->txt(
"meta_l_" . $newSysLangObj->getKey()) .
".";
394 $this->data = $this->
object->checkAllLanguages();
402 $this->ctrl->redirect($this,
"view");
418 $this->tabs_gui->addTab(
'settings', $this->lng->txt(
'settings'), $this->ctrl->getLinkTarget($this,
"view"));
422 $this->tabs_gui->addTab(
'perm_settings', $this->lng->txt(
'perm_settings'), $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"));
431 $next_class = $this->ctrl->getNextClass($this);
432 $cmd = $this->ctrl->getCmd();
435 switch ($next_class) {
436 case 'ilpermissiongui':
437 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
439 $this->tabs_gui->activateTab(
'perm_settings');
440 $this->ctrl->forwardCommand($perm_gui);
444 $this->tabs_gui->activateTab(
'settings');
465 foreach ($languages as
$lang) {
467 if ($langObj->isInstalled() ==
true) {
468 $ids[] = $lang[
"obj_id"];
477 $this->lng->loadLanguageModule(
"meta");
479 if (!empty($a_ids)) {
481 $header = $this->lng->txt(
"lang_refresh_confirm");
482 } elseif (!empty(
$_POST[
"id"])) {
484 $header = $this->lng->txt(
"lang_refresh_confirm_selected");
486 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
491 $some_changed =
false;
492 foreach ($ids as
$id) {
494 $lang_title = $this->lng->txt(
'meta_l_' . $lang_key);
496 if (!empty($last_change)) {
497 $some_changed =
true;
498 $lang_title .=
' (' . $this->lng->txt(
"last_change") .
' ' 501 $conf_screen->addItem(
"id[]", $id, $lang_title);
504 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
506 $header .=
'<br />' . $this->lng->txt(
"lang_refresh_confirm_info");
508 $conf_screen->setHeaderText($header);
509 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
510 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"refreshSelected");
511 $this->tpl->setContent($conf_screen->getHTML());
518 if (!isset(
$_POST[
"id"])) {
519 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
522 $this->lng->loadLanguageModule(
"meta");
523 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
525 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
526 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_confirm"));
529 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
531 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
532 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstall");
533 $this->tpl->setContent($conf_screen->getHTML());
541 if (!isset(
$_POST[
"id"])) {
542 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
545 $this->lng->loadLanguageModule(
"meta");
546 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
548 $conf_screen->setFormAction($this->ctrl->getFormAction($this));
549 $conf_screen->setHeaderText($this->lng->txt(
"lang_uninstall_changes_confirm"));
552 $conf_screen->addItem(
"id[]", $id, $this->lng->txt(
"meta_l_" . $lang_title));
554 $conf_screen->setCancel($this->lng->txt(
"cancel"),
"view");
555 $conf_screen->setConfirm($this->lng->txt(
"ok"),
"uninstallChanges");
556 $this->tpl->setContent($conf_screen->getHTML());
567 "install" => array(
"name" =>
"install",
"lng" =>
"install"),
568 "installLocal" => array(
"name" =>
"installLocal",
"lng" =>
"install_local"),
569 "uninstall" => array(
"name" =>
"uninstall",
"lng" =>
"uninstall"),
570 "refresh" => array(
"name" =>
"confirmRefreshSelected",
"lng" =>
"refresh"),
571 "setSystemLanguage" => array(
"name" =>
"setSystemLanguage",
"lng" =>
"setSystemLanguage"),
572 "setUserLanguage" => array(
"name" =>
"setUserLanguage",
"lng" =>
"setUserLanguage")
581 $this->
settings->set(
'lang_detection', 0);
582 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
591 $this->
settings->set(
'lang_detection', 1);
592 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
602 $button->setCaption(
"download");
603 $button->setUrl($this->ctrl->getLinkTarget($this,
"downloadDeprecated"));
604 $this->toolbar->addButtonInstance($button);
606 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
610 foreach (
$d->getDeprecatedLangVars() as $key => $mod) {
611 $res .= $mod .
"," . $key .
"\n";
614 $this->tpl->setContent(
"<pre>" .
$res .
"</pre>");
622 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
625 foreach (
$d->getDeprecatedLangVars() as $key => $mod) {
626 $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.
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
__construct(Container $dic, ilPlugin $plugin)
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())