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());
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) {
607 $this->tpl->setContent(
"<pre>" .
$res .
"</pre>");
615 include_once(
"./Services/Language/classes/class.ilLangDeprecated.php");
618 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)
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.
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
redirection script todo: (a better solution should control the processing via a xml file)
foreach($_POST as $key=> $value) $res