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