17require_once
"./Services/Language/classes/class.ilObjLanguage.php";
18require_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";
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
Search for deprecated lang vars.
Class ilObjLanguageFolderGUI.
__construct($a_data, $a_id, $a_call_by_reference)
Constructor.
checkLanguageObject()
check all languages
getTabs()
get tabs @access public
disableLanguageDetectionObject()
Disable language detection.
confirmUninstallChangesObject()
confirmRefreshSelectedObject($a_ids=array())
setSystemLanguageObject()
set the system language
installLocalObject()
Install local language modifications.
installObject()
install languages
enableLanguageDetectionObject()
Enable language detection.
refreshSelectedObject()
update selected languages
uninstallChangesObject()
Uninstall local changes in the database.
executeCommand()
execute command
viewObject()
show installed languages
setUserLanguageObject()
set user language
refreshObject()
update all installed languages
downloadDeprecatedObject()
Download deprecated lang entries.
listDeprecatedObject()
Download deprecated lang entries.
getAdminTabs()
administration tabs show only permissions and trash folder
uninstallObject()
uninstall language
static refreshPlugins($a_lang_keys=null)
static refreshAll()
Refresh all installed languages.
static _getLastLocalChange($a_key)
get the date of the last local change
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
prepareOutput($a_show_subobjects=true)
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
static _lookupTitle($a_id)
lookup object title
static _getObjectsByType($a_obj_type="", $a_owner="")
Get objects by type.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
redirection script todo: (a better solution should control the processing via a xml file)
foreach($_POST as $key=> $value) $res