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)
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);
335 $curUser->setLanguage($newUserLangObj->getKey());
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) {
610 $this->tpl->setContent(
"<pre>" .
$res .
"</pre>");
618 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
621 foreach (
$d->getDeprecatedLangVars() as
$key => $mod) {
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
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
redirection script todo: (a better solution should control the processing via a xml file)
foreach($_POST as $key=> $value) $res