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