Example #1
0
 /**
  * check client db status
  * @param	object	client
  * @return	boolean
  */
 function checkClientDatabase(&$client)
 {
     if (!($arr["status"] = $client->db_exists)) {
         $arr["comment"] = $this->lng->txt("no_database");
         return $arr;
     }
     if (!($arr["status"] = $client->db_installed)) {
         $arr["comment"] = $this->lng->txt("db_not_installed");
         return $arr;
     }
     // TODO: move this to client class!!
     $client->setup_ok = (bool) $client->getSetting("setup_ok");
     //$this->lng->setDbHandler($client->db);
     include_once "./Services/Database/classes/class.ilDBUpdate.php";
     $ilDB = $client->db;
     $this->lng->setDbHandler($client->db);
     $dbupdate = new ilDBUpdate($client->db);
     if (!($arr["status"] = $dbupdate->getDBVersionStatus())) {
         $arr["comment"] = $this->lng->txt("db_needs_update");
         $arr["update"] = true;
         return $arr;
     } else {
         if ($dbupdate->hotfixAvailable()) {
             $arr["status"] = false;
             $arr["comment"] = $this->lng->txt("hotfix_available");
             $arr["update"] = true;
             return $arr;
         } else {
             if ($dbupdate->customUpdatesAvailable()) {
                 $arr["status"] = false;
                 $arr["comment"] = $this->lng->txt("custom_updates_available");
                 $arr["update"] = true;
                 return $arr;
             }
         }
     }
     // check control information
     $cset = $ilDB->query("SELECT count(*) as cnt FROM ctrl_calls");
     $crec = $ilDB->fetchAssoc($cset);
     if ($crec["cnt"] == 0) {
         $arr["status"] = false;
         $arr["comment"] = $this->lng->txt("db_control_structure_missing");
         $arr["update"] = true;
         return $arr;
     }
     //$arr["comment"] = "version ".$dbupdate->getCurrentVersion();
     return $arr;
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $tree, $rbacsystem, $ilias, $lng, $objDefinition, $ilHelp;
     // permission checks
     include_once './Services/MainMenu/classes/class.ilMainMenuGUI.php';
     if (!ilMainMenuGUI::_checkAdministrationPermission()) {
         $ilias->raiseError($this->lng->txt('permission_denied'), $ilias->error_obj->WARNING);
     }
     // check creation mode
     // determined by "new_type" parameter
     $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"];
     if ($new_type != "" && $this->ctrl->getCmd() == "create") {
         $this->creation_mode = true;
     }
     // determine next class
     if ($this->creation_mode) {
         $obj_type = $new_type;
         $class_name = $this->objDefinition->getClassName($obj_type);
         $next_class = strtolower("ilObj" . $class_name . "GUI");
         $this->ctrl->setCmdClass($next_class);
     } elseif ($this->ctrl->getCmdClass() == "ilobjlanguageextgui") {
         $next_class = "ilobjlanguageextgui";
     } else {
         $next_class = $this->ctrl->getNextClass($this);
     }
     if (($next_class == "iladministrationgui" || $next_class == "") && $this->ctrl->getCmd() == "return") {
         // get GUI of current object
         $obj_type = ilObject::_lookupType($this->cur_ref_id, true);
         $class_name = $this->objDefinition->getClassName($obj_type);
         $next_class = strtolower("ilObj" . $class_name . "GUI");
         $this->ctrl->setCmdClass($next_class);
         $this->ctrl->setCmd("view");
     }
     $cmd = $this->ctrl->getCmd("forward");
     //echo "<br>cmd:$cmd:nextclass:$next_class:-".$_GET["cmdClass"]."-".$_GET["cmd"]."-";
     switch ($next_class) {
         default:
             // forward all other classes to gui commands
             if ($next_class != "" && $next_class != "iladministrationgui") {
                 // check db update
                 include_once "./Services/Database/classes/class.ilDBUpdate.php";
                 $dbupdate = new ilDBUpdate($this->ilias->db, true);
                 if (!$dbupdate->getDBVersionStatus()) {
                     ilUtil::sendFailure($this->lng->txt("db_need_update"));
                 } else {
                     if ($dbupdate->hotfixAvailable()) {
                         ilUtil::sendFailure($this->lng->txt("db_need_hotfix"));
                     }
                 }
                 $class_path = $this->ctrl->lookupClassPath($next_class);
                 // get gui class instance
                 include_once $class_path;
                 $class_name = $this->ctrl->getClassForClasspath($class_path);
                 if ($next_class == "ilobjrolegui" || $next_class == "ilobjusergui" || $next_class == "ilobjroletemplategui" || $next_class == "ilobjstylesheetgui") {
                     if ($_GET["obj_id"] != "") {
                         $this->gui_obj = new $class_name("", $_GET["obj_id"], false, false);
                         $this->gui_obj->setCreationMode(false);
                     } else {
                         $this->gui_obj = new $class_name("", $this->cur_ref_id, true, false);
                         $this->gui_obj->setCreationMode(true);
                     }
                 } else {
                     if ($objDefinition->isPlugin(ilObject::_lookupType($this->cur_ref_id, true))) {
                         $this->gui_obj = new $class_name($this->cur_ref_id);
                     } else {
                         if (is_subclass_of($class_name, "ilObject2GUI")) {
                             $this->gui_obj = new $class_name($this->cur_ref_id, ilObject2GUI::REPOSITORY_NODE_ID);
                         } else {
                             $this->gui_obj = new $class_name("", $this->cur_ref_id, true, false);
                         }
                     }
                     $this->gui_obj->setCreationMode($this->creation_mode);
                 }
                 $tabs_out = $new_type == "" ? true : false;
                 // set standard screen id
                 //					if (strtolower($next_class) == strtolower($this->ctrl->getCmdClass()) ||
                 //						"ilpermissiongui" == strtolower($this->ctrl->getCmdClass()))
                 //					{
                 $ilHelp->setScreenIdComponent(ilObject::_lookupType($this->cur_ref_id, true));
                 //					}
                 $this->showTree();
                 $this->ctrl->setReturn($this, "return");
                 $ret = $this->ctrl->forwardCommand($this->gui_obj);
                 $html = $this->gui_obj->getHTML();
                 if ($html != "") {
                     $this->tpl->setVariable("OBJECTS", $html);
                 }
                 $this->tpl->show();
             } else {
                 $cmd = $this->ctrl->getCmd("forward");
                 $this->{$cmd}();
             }
             break;
     }
 }
 function applyCustomUpdates()
 {
     global $ilCtrlStructureReader;
     $ilCtrlStructureReader->setIniFile($this->setup->getClient()->ini);
     include_once "./Services/Database/classes/class.ilDBUpdate.php";
     include_once "./Services/AccessControl/classes/class.ilRbacAdmin.php";
     include_once "./Services/AccessControl/classes/class.ilRbacReview.php";
     include_once "./Services/AccessControl/classes/class.ilRbacSystem.php";
     include_once "./Services/Tree/classes/class.ilTree.php";
     include_once "./Services/Xml/classes/class.ilSaxParser.php";
     include_once "./Services/Object/classes/class.ilObjectDefinition.php";
     // referencing db handler in language class
     $ilDB = $this->setup->getClient()->db;
     $this->lng->setDbHandler($ilDB);
     // run dbupdate
     $dbupdate = new ilDBUpdate($ilDB);
     $dbupdate->applyCustomUpdates();
     if ($dbupdate->updateMsg == "no_changes") {
         $message = $this->lng->txt("no_changes") . ". " . $this->lng->txt("database_is_uptodate");
     } else {
         $sep = "";
         foreach ($dbupdate->updateMsg as $row) {
             if ($row["msg"] == "update_applied") {
                 $a_message .= $sep . $row["nr"];
                 $sep = ", ";
             } else {
                 $e_message .= "<br/>" . $this->lng->txt($row["msg"]) . ": " . $row["nr"];
             }
         }
         if ($a_message != "") {
             $a_message = $this->lng->txt("update_applied") . ": " . $a_message;
         }
     }
     ilUtil::sendInfo($a_message . $e_message, true);
     ilUtil::redirect("setup.php?cmd=displayDatabase");
 }
 /**
  * displays ILIAS basic settings form
  *
  * @access	private
  */
 function displayBasicSettings()
 {
     global $rbacsystem, $ilCtrl, $ilClientIniFile;
     $this->tpl->addBlockFile("SYSTEMSETTINGS", "systemsettings", "tpl.adm_basicdata.html", "Modules/SystemFolder");
     $settings = $this->ilias->getAllSettings();
     // temp wiki stuff
     $this->tpl->setVariable("HREF_CREATE_WIKI_TABLE", $ilCtrl->getLinkTarget($this, "createWikiTables"));
     $this->tpl->setVariable("TXT_BASIC_DATA", $this->lng->txt("basic_data"));
     ////////////////////////////////////////////////////////////
     // setting language vars
     // basic data
     $this->tpl->setVariable("TXT_ILIAS_VERSION", $this->lng->txt("ilias_version"));
     $this->tpl->setVariable("TXT_DB_VERSION", $this->lng->txt("db_version"));
     $this->tpl->setVariable("TXT_CLIENT_ID", $this->lng->txt("client_id"));
     $this->tpl->setVariable("TXT_INST_ID", $this->lng->txt("inst_id"));
     $this->tpl->setVariable("TXT_ACTIVATE_HTTPS", $this->lng->txt('activate_https'));
     $this->tpl->setVariable("TXT_HOSTNAME", $this->lng->txt("host"));
     $this->tpl->setVariable("TXT_IP_ADDRESS", $this->lng->txt("ip_address"));
     $this->tpl->setVariable("TXT_SERVER_DATA", $this->lng->txt("server_data"));
     $this->tpl->setVariable("TXT_SERVER_PORT", $this->lng->txt("port"));
     $this->tpl->setVariable("TXT_SERVER_SOFTWARE", $this->lng->txt("server_software"));
     $this->tpl->setVariable("TXT_HTTP_PATH", $this->lng->txt("http_path"));
     $this->tpl->setVariable("TXT_ABSOLUTE_PATH", $this->lng->txt("absolute_path"));
     $this->tpl->setVariable("TXT_INST_NAME", $this->lng->txt("inst_name"));
     $this->tpl->setVariable("TXT_INST_INFO", $this->lng->txt("inst_info"));
     //$this->tpl->setVariable("TXT_OPEN_VIEWS_INSIDE_FRAMESET", $this->lng->txt("open_views_inside_frameset"));
     $this->tpl->setVariable("TXT_FEEDBACK_RECIPIENT", $this->lng->txt("feedback_recipient"));
     $this->tpl->setVariable("TXT_ERROR_RECIPIENT", $this->lng->txt("error_recipient"));
     $this->tpl->setVariable("TXT_HEADER_TITLE", $this->lng->txt("header_title"));
     $this->tpl->setVariable("TXT_SHORT_NAME", $this->lng->txt("short_inst_name"));
     $this->tpl->setVariable("TXT_SHORT_NAME_INFO", $this->lng->txt("short_inst_name_info"));
     $this->tpl->setVariable("VAL_SHORT_INST_NAME", $settings['short_inst_name']);
     $this->tpl->setVariable("TXT_CHANGE", $this->lng->txt("change"));
     $this->tpl->setVariable("LINK_HEADER_TITLE", $this->ctrl->getLinkTarget($this, "changeHeaderTitle"));
     $this->tpl->setVariable("VAL_HEADER_TITLE", ilObjSystemFolder::_getHeaderTitle());
     include_once "./Services/Database/classes/class.ilDBUpdate.php";
     $dbupdate = new ilDBUpdate($this->ilias->db, true);
     if (!$dbupdate->getDBVersionStatus()) {
         $this->tpl->setVariable("TXT_DB_UPDATE", "&nbsp;(<span class=\"warning\">" . $this->lng->txt("db_need_update") . "</span>)");
     }
     //$this->tpl->setVariable("TXT_MODULES", $this->lng->txt("modules"));
     $this->tpl->setVariable("TXT_PUB_SECTION", $this->lng->txt("pub_section"));
     $this->tpl->setVariable('TXT_SEARCH_ENGINE', $this->lng->txt('search_engine'));
     $this->tpl->setVariable('TXT_ENABLE_SEARCH_ENGINE', $this->lng->txt('enable_search_engine'));
     include_once 'Services/PrivacySecurity/classes/class.ilRobotSettings.php';
     $robot_settings = ilRobotSettings::_getInstance();
     $error_se = false;
     if (!$robot_settings->checkModRewrite()) {
         $error_se = true;
         $this->tpl->setVariable('OPEN_GOOGLE_CHECKED', 'disabled="disabled"');
         $this->tpl->setCurrentBlock('search_engine_alert');
         $this->tpl->setVariable('SE_ALERT_IMG', ilUtil::getImagePath('icon_alert_s.png'));
         $this->tpl->setVariable('SE_ALT_ALERT', $this->lng->txt('alert'));
         $this->tpl->setVariable('TXT_SE_ALERT', $this->lng->txt('mod_rewrite_disabled'));
         $this->tpl->parseCurrentBlock();
     } elseif (!$robot_settings->checkRewrite()) {
         $error_se = true;
         $this->tpl->setVariable('OPEN_GOOGLE_CHECKED', 'disabled="disabled"');
         $this->tpl->setCurrentBlock('search_engine_alert');
         $this->tpl->setVariable('SE_ALERT_IMG', ilUtil::getImagePath('icon_alert_s.png'));
         $this->tpl->setVariable('SE_ALT_ALERT', $this->lng->txt('alert'));
         $this->tpl->setVariable('TXT_SE_ALERT', $this->lng->txt('allow_override_alert'));
         $this->tpl->parseCurrentBlock();
     }
     if ($settings['open_google'] and !$error_se) {
         $this->tpl->setVariable('OPEN_GOOGLE_CHECKED', 'checked="checked"');
     }
     $this->tpl->setVariable("TXT_DEFAULT_REPOSITORY_VIEW", $this->lng->txt("def_repository_view"));
     $this->tpl->setVariable("TXT_FLAT", $this->lng->txt("flatview"));
     $this->tpl->setVariable("TXT_TREE", $this->lng->txt("treeview"));
     $this->tpl->setVariable("TXT_ENABLE_PASSWORD_ASSISTANCE", $this->lng->txt("enable_password_assistance"));
     $this->tpl->setVariable("TXT_PASSWORD_AUTO_GENERATE_INFO", $this->lng->txt('passwd_generation_info'));
     //rku:	password assistent should be availabe always, even in mixed mode.
     /*	if (AUTH_DEFAULT != AUTH_LOCAL)
     		{
     			$this->tpl->setVariable("DISABLE_PASSWORD_ASSISTANCE", 'disabled=\"disabled\"');
     			$this->tpl->setVariable("TXT_PASSWORD_ASSISTANCE_DISABLED", $this->lng->txt("password_assistance_disabled"));
     		}*/
     $this->tpl->setVariable("TXT_PASSWORD_ASSISTANCE_INFO", $this->lng->txt("password_assistance_info"));
     $this->tpl->setVariable("TXT_ENABLE_PASSWORD_GENERATION", $this->lng->txt('passwd_generation'));
     // File Suffix Replacements
     $this->tpl->setVariable("TXT_FILE_SUFFIX_REPL", $this->lng->txt("file_suffix_repl"));
     $this->tpl->setVariable("INFO_FILE_SUFFIX_REPL", $this->lng->txt("file_suffix_repl_info") . " " . SUFFIX_REPL_DEFAULT);
     $this->tpl->setVariable("TXT_DYNAMIC_LINKS", $this->lng->txt('links_dynamic'));
     $this->tpl->setVariable("INFO_DYNAMIC_LINKS", $this->lng->txt('links_dynamic_info'));
     $this->tpl->setVariable("TXT_ENABLE_TRASH", $this->lng->txt('enable_trash'));
     $this->tpl->setVariable("INFO_ENABLE_TRASH", $this->lng->txt('enable_trash_info'));
     $this->tpl->setVariable('TXT_SESSION_REMINDER', $this->lng->txt('session_reminder'));
     $this->tpl->setVariable('INFO_SESSION_REMINDER', $this->lng->txt('session_reminder_info'));
     $expires = ilSession::getSessionExpireValue();
     $time = ilFormat::_secondsToString($expires, true);
     $this->tpl->setVariable('SESSION_REMINDER_SESSION_DURATION', sprintf($this->lng->txt('session_reminder_session_duration'), $time));
     // paths
     $this->tpl->setVariable("TXT_SOFTWARE", $this->lng->txt("3rd_party_software"));
     $this->tpl->setVariable("TXT_CONVERT_PATH", $this->lng->txt("path_to_convert"));
     $this->tpl->setVariable("TXT_ZIP_PATH", $this->lng->txt("path_to_zip"));
     $this->tpl->setVariable("TXT_UNZIP_PATH", $this->lng->txt("path_to_unzip"));
     $this->tpl->setVariable("TXT_JAVA_PATH", $this->lng->txt("path_to_java"));
     $this->tpl->setVariable("TXT_HTMLDOC_PATH", $this->lng->txt("path_to_htmldoc"));
     $this->tpl->setVariable("TXT_MKISOFS_PATH", $this->lng->txt("path_to_mkisofs"));
     $this->tpl->setVariable("TXT_LATEX_URL", $this->lng->txt("url_to_latex"));
     // Cron
     $this->tpl->setVariable("TXT_CRON", $this->lng->txt('cron_jobs'));
     $this->tpl->setVariable("TXT_CRON_DESC", $this->lng->txt('cron_jobs_desc'));
     $this->tpl->setVariable("TXT_CRON_USER_ACCOUNTS", $this->lng->txt('check_user_accounts'));
     $this->tpl->setVariable("CRON_USER_ACCOUNTS_DESC", $this->lng->txt('check_user_accounts_desc'));
     $this->tpl->setVariable("TXT_CRON_LINK_CHECK", $this->lng->txt('check_link'));
     $this->tpl->setVariable("CRON_LINK_CHECK_DESC", $this->lng->txt('check_link_desc'));
     $this->tpl->setVariable("TXT_CRON_WEB_RESOURCE_CHECK", $this->lng->txt('check_web_resources'));
     $this->tpl->setVariable("CRON_WEB_RESOURCE_CHECK_DESC", $this->lng->txt('check_web_resources_desc'));
     $this->tpl->setVariable("TXT_CRON_LUCENE_INDEX", $this->lng->txt('cron_lucene_index'));
     $this->tpl->setVariable("TXT_CRON_LUCENE_INDEX_INFO", $this->lng->txt('cron_lucene_index_info'));
     $this->tpl->setVariable("TXT_CRON_FORUM_NOTIFICATION", $this->lng->txt('cron_forum_notification'));
     $this->tpl->setVariable("TXT_CRON_FORUM_NOTIFICATION_NEVER", $this->lng->txt('cron_forum_notification_never'));
     $this->tpl->setVariable("TXT_CRON_FORUM_NOTIFICATION_DIRECTLY", $this->lng->txt('cron_forum_notification_directly'));
     $this->tpl->setVariable("TXT_CRON_FORUM_NOTIFICATION_CRON", $this->lng->txt('cron_forum_notification_cron'));
     $this->tpl->setVariable("CRON_FORUM_NOTIFICATION_DESC", $this->lng->txt('cron_forum_notification_desc'));
     $this->tpl->setVariable("TXT_CRON_MAIL_NOTIFICATION", $this->lng->txt('cron_mail_notification'));
     $this->tpl->setVariable("TXT_CRON_MAIL_NOTIFICATION_NEVER", $this->lng->txt('cron_mail_notification_never'));
     $this->tpl->setVariable("TXT_CRON_MAIL_NOTIFICATION_CRON", $this->lng->txt('cron_mail_notification_cron'));
     $this->tpl->setVariable("CRON_MAIL_NOTIFICATION_DESC", $this->lng->txt('cron_mail_notification_desc'));
     $this->tpl->setVariable("TXT_CRON_MAIL_MESSAGE_CHECK", $this->lng->txt('cron_mail_notification_message'));
     $this->tpl->setVariable("CRON_MAIL_MESSAGE_CHECK", $this->lng->txt('cron_mail_notification_message_enabled'));
     $this->tpl->setVariable("CRON_MAIL_MESSAGE_CHECK_DESC", $this->lng->txt('cron_mail_notification_message_desc'));
     $this->tpl->setVariable("TXT_NEVER", $this->lng->txt('never'));
     $this->tpl->setVariable("TXT_DAILY", $this->lng->txt('daily'));
     $this->tpl->setVariable("TXT_WEEKLY", $this->lng->txt('weekly'));
     $this->tpl->setVariable("TXT_MONTHLY", $this->lng->txt('monthly'));
     $this->tpl->setVariable("TXT_QUARTERLY", $this->lng->txt('quarterly'));
     $this->tpl->setVariable("TXT_WEBSERVICES", $this->lng->txt('webservices'));
     $this->tpl->setVariable("TXT_SOAP_USER_ADMINISTRATION", $this->lng->txt('soap_user_administration'));
     $this->tpl->setVariable("TXT_SOAP_USER_ADMINISTRATION_DESC", $this->lng->txt('soap_user_administration_desc') . $this->lng->txt('soap_user_administration_desc_extended'));
     $this->tpl->setVariable("TXT_JAVA_SERVER", $this->lng->txt('java_server'));
     $this->tpl->setVariable("TXT_JAVA_SERVER_HOST", $this->lng->txt('java_server_host'));
     $this->tpl->setVariable("TXT_JAVA_SERVER_PORT", $this->lng->txt('java_server_port'));
     $this->tpl->setVariable("TXT_JAVA_SERVER_INFO", $this->lng->txt('java_server_info'));
     $this->tpl->setVariable("TXT_JAVA_SERVER_README", $this->lng->txt('java_server_readme'));
     /*		$this->tpl->setVariable("TXT_DATA_PRIVACY",$this->lng->txt('data_privacy'));
     		$this->tpl->setVariable("TXT_ENABLE_FORA_STATISTICS",$this->lng->txt('enable_fora_statistics'));
     		$this->tpl->setVariable("TXT_ENABLE_FORA_STATISTICS_DESC",$this->lng->txt('enable_fora_statistics_desc')); */
     // forums
     $this->tpl->setVariable("TXT_FORUMS", $this->lng->txt('obj_frm'));
     $this->tpl->setVariable("TXT_STATUS_NEW", $this->lng->txt('frm_status_new'));
     $this->tpl->setVariable("TXT_STATUS_NEW_DESC", $this->lng->txt('frm_status_new_desc'));
     $this->tpl->setVariable("TXT_ONE_WEEK", "1 " . $this->lng->txt('week'));
     $this->tpl->setVariable("TXT_TWO_WEEKS", "2 " . $this->lng->txt('weeks'));
     $this->tpl->setVariable("TXT_FOUR_WEEKS", "4 " . $this->lng->txt('weeks'));
     $this->tpl->setVariable("TXT_EIGHT_WEEKS", "8 " . $this->lng->txt('weeks'));
     // contact
     $this->tpl->setVariable("TXT_CONTACT_DATA", $this->lng->txt("contact_data"));
     $this->tpl->setVariable("TXT_REQUIRED_FIELDS", $this->lng->txt("required_field"));
     $this->tpl->setVariable("TXT_ADMIN", $this->lng->txt("administrator"));
     $this->tpl->setVariable("TXT_FIRSTNAME", $this->lng->txt("firstname"));
     $this->tpl->setVariable("TXT_LASTNAME", $this->lng->txt("lastname"));
     $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("title"));
     $this->tpl->setVariable("TXT_POSITION", $this->lng->txt("position"));
     $this->tpl->setVariable("TXT_INSTITUTION", $this->lng->txt("institution"));
     $this->tpl->setVariable("TXT_STREET", $this->lng->txt("street"));
     $this->tpl->setVariable("TXT_ZIPCODE", $this->lng->txt("zipcode"));
     $this->tpl->setVariable("TXT_CITY", $this->lng->txt("city"));
     $this->tpl->setVariable("TXT_COUNTRY", $this->lng->txt("country"));
     $this->tpl->setVariable("TXT_PHONE", $this->lng->txt("phone"));
     $this->tpl->setVariable("TXT_EMAIL", $this->lng->txt("email"));
     $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
     ///////////////////////////////////////////////////////////
     // display formula data
     // basic data
     $this->tpl->setVariable("FORMACTION_BASICDATA", $this->ctrl->getFormAction($this));
     $this->tpl->setVariable("HTTP_PATH", ILIAS_HTTP_PATH);
     $this->tpl->setVariable("ABSOLUTE_PATH", ILIAS_ABSOLUTE_PATH);
     $this->tpl->setVariable("HOSTNAME", $_SERVER["SERVER_NAME"]);
     $this->tpl->setVariable("SERVER_PORT", $_SERVER["SERVER_PORT"]);
     $this->tpl->setVariable("SERVER_ADMIN", $_SERVER["SERVER_ADMIN"]);
     // not used
     $this->tpl->setVariable("SERVER_SOFTWARE", $_SERVER["SERVER_SOFTWARE"]);
     $this->tpl->setVariable("IP_ADDRESS", $_SERVER["SERVER_ADDR"]);
     $this->tpl->setVariable("DB_VERSION", $settings["db_version"]);
     $this->tpl->setVariable("ILIAS_VERSION", $settings["ilias_version"]);
     $this->tpl->setVariable("INST_ID", $settings["inst_id"]);
     $this->tpl->setVariable("CLIENT_ID", CLIENT_ID);
     $this->tpl->setVariable("INST_NAME", $this->ilias->ini->readVariable("client", "name"));
     $this->tpl->setVariable("INST_INFO", $this->ilias->ini->readVariable("client", "description"));
     $this->tpl->setVariable("FEEDBACK_RECIPIENT", $settings["feedback_recipient"]);
     $this->tpl->setVariable("ERROR_RECIPIENT", $settings["error_recipient"]);
     $this->tpl->setVariable("PHP_INFO_LINK", $this->ctrl->getLinkTarget($this, "showPHPInfo"));
     // get all templates
     if ($settings["pub_section"]) {
         $this->tpl->setVariable("PUB_SECTION", "checked=\"checked\"");
     }
     if ($settings["default_repository_view"] == "tree") {
         $this->tpl->setVariable("TREESELECTED", "selected=\"1\"");
     } else {
         $this->tpl->setVariable("FLATSELECTED", "selected=\"1\"");
     }
     if ($settings['password_assistance']) {
         $this->tpl->setVariable("PASSWORD_ASSISTANCE", "checked=\"checked\"");
     }
     $this->tpl->setVariable("VAL_SHORT_NAME", $settings['short_inst_title']);
     if ($settings['passwd_auto_generate']) {
         $this->tpl->setVariable("PASSWORD_AUTO_GENERATE", "checked=\"checked\"");
     }
     $this->tpl->setVariable("SUFFIX_REPL_ADDITIONAL", ilUtil::prepareFormOutput($settings['suffix_repl_additional']));
     if ($settings['links_dynamic']) {
         $this->tpl->setVariable("LINKS_DYNAMIC_CHECKED", "checked=\"checked\"");
     }
     if ($settings['enable_trash']) {
         $this->tpl->setVariable("ENABLE_TRASH_CHECKED", "checked=\"checked\"");
     }
     if ($settings['session_reminder_enabled']) {
         $this->tpl->setVariable('SESSION_REMINDER_ENABLED', 'checked=checked');
     }
     if ($settings["require_login"]) {
         $this->tpl->setVariable("REQUIRE_LOGIN", "checked=\"checked\"");
     }
     if ($settings["require_passwd"]) {
         $this->tpl->setVariable("REQUIRE_PASSWD", "checked=\"checked\"");
     }
     if ($settings["require_passwd2"]) {
         $this->tpl->setVariable("REQUIRE_PASSWD2", "checked=\"checked\"");
     }
     if ($settings["require_firstname"]) {
         $this->tpl->setVariable("REQUIRE_FIRSTNAME", "checked=\"checked\"");
     }
     if ($settings["require_gender"]) {
         $this->tpl->setVariable("REQUIRE_GENDER", "checked=\"checked\"");
     }
     if ($settings["require_lastname"]) {
         $this->tpl->setVariable("REQUIRE_LASTNAME", "checked=\"checked\"");
     }
     if ($settings["require_institution"]) {
         $this->tpl->setVariable("REQUIRE_INSTITUTION", "checked=\"checked\"");
     }
     if ($settings["require_department"]) {
         $this->tpl->setVariable("REQUIRE_DEPARTMENT", "checked=\"checked\"");
     }
     if ($settings["require_street"]) {
         $this->tpl->setVariable("REQUIRE_STREET", "checked=\"checked\"");
     }
     if ($settings["require_city"]) {
         $this->tpl->setVariable("REQUIRE_CITY", "checked=\"checked\"");
     }
     if ($settings["require_zipcode"]) {
         $this->tpl->setVariable("REQUIRE_ZIPCODE", "checked=\"checked\"");
     }
     if ($settings["require_country"]) {
         $this->tpl->setVariable("REQUIRE_COUNTRY", "checked=\"checked\"");
     }
     if ($settings["require_phone_office"]) {
         $this->tpl->setVariable("REQUIRE_PHONE_OFFICE", "checked=\"checked\"");
     }
     if ($settings["require_phone_home"]) {
         $this->tpl->setVariable("REQUIRE_PHONE_HOME", "checked=\"checked\"");
     }
     if ($settings["require_phone_mobile"]) {
         $this->tpl->setVariable("REQUIRE_PHONE_MOBILE", "checked=\"checked\"");
     }
     if ($settings["require_fax"]) {
         $this->tpl->setVariable("REQUIRE_FAX", "checked=\"checked\"");
     }
     if ($settings["require_email"]) {
         $this->tpl->setVariable("REQUIRE_EMAIL", "checked=\"checked\"");
     }
     if ($settings["require_hobby"]) {
         $this->tpl->setVariable("REQUIRE_HOBBY", "checked=\"checked\"");
     }
     if ($settings["require_default_role"]) {
         $this->tpl->setVariable("REQUIRE_DEFAULT_ROLE", "checked=\"checked\"");
     }
     if ($settings["require_referral_comment"]) {
         $this->tpl->setVariable("REQUIRE_REFERRAL_COMMENT", "checked=\"checked\"");
     }
     if ($settings["require_matriculation"]) {
         $this->tpl->setVariable("REQUIRE_MATRICULATION", "checked=\"checked\"");
     }
     if ($settings["cron_user_check"]) {
         $this->tpl->setVariable("CRON_USER_CHECK", "checked=\"checked\"");
     }
     if ($settings["cron_link_check"]) {
         $this->tpl->setVariable("CRON_LINK_CHECK", "checked=\"checked\"");
     }
     if ($settings["cron_lucene_index"]) {
         $this->tpl->setVariable("CRON_LUCENE_INDEX", "checked=\"checked\"");
     }
     if ($settings["forum_notification"] == 0) {
         $this->tpl->setVariable("CRON_FORUM_NOTIFICATION_NEVER_SELECTED", " selected");
     } else {
         if ($settings["forum_notification"] == 1) {
             $this->tpl->setVariable("CRON_FORUM_NOTIFICATION_DIRECTLY_SELECTED", " selected");
         } else {
             if ($settings["forum_notification"] == 2) {
                 $this->tpl->setVariable("CRON_FORUM_NOTIFICATION_CRON_SELECTED", " selected");
             }
         }
     }
     if ($settings["mail_notification"] == 0) {
         $this->tpl->setVariable("CRON_MAIL_NOTIFICATION_NEVER_SELECTED", " selected=\"selected\"");
     } else {
         if ($settings["mail_notification"] == 1) {
             $this->tpl->setVariable("CRON_MAIL_NOTIFICATION_CRON_SELECTED", " selected=\"selected\"");
             if ($settings["mail_notification_message"] == 1) {
                 $this->tpl->setVariable("CRON_MAIL_MESSAGE_CHECK", "checked=\"checked\"");
             } else {
                 $this->tpl->setVariable("CRON_MAIL_MESSAGE_CHECK_DISABLED", "DISABLED");
             }
         }
     }
     if ($val = $settings["cron_web_resource_check"]) {
         switch ($val) {
             case 1:
                 $this->tpl->setVariable("D_SELECT", 'selected="selected"');
                 break;
             case 2:
                 $this->tpl->setVariable("W_SELECT", 'selected="selected"');
                 break;
             case 3:
                 $this->tpl->setVariable("M_SELECT", 'selected="selected"');
                 break;
             case 4:
                 $this->tpl->setVariable("Q_SELECT", 'selected="selected"');
                 break;
         }
     }
     switch ($settings['frm_store_new']) {
         case 1:
             $this->tpl->setVariable("ONE_SELECT", 'selected="selected"');
             break;
         case 2:
             $this->tpl->setVariable("TWO_SELECT", 'selected="selected"');
             break;
         case 4:
             $this->tpl->setVariable("FOUR_SELECT", 'selected="selected"');
             break;
         case 8:
         default:
             $this->tpl->setVariable("EIGHT_SELECT", 'selected="selected"');
             break;
     }
     if ($settings["soap_user_administration"]) {
         $this->tpl->setVariable("SOAP_USER_ADMINISTRATION_CHECK", "checked=\"checked\"");
     }
     $this->tpl->setVariable("JAVA_SERVER_HOST", $settings["rpc_server_host"]);
     $this->tpl->setVariable("JAVA_SERVER_PORT", $settings["rpc_server_port"]);
     /*  if ($settings["enable_fora_statistics"])
         {
             $this->tpl->setVariable("ENABLE_FORA_STATISTICS_CHECK","checked=\"checked\"");
         }*/
     // paths to tools
     $not_set = $this->lng->txt("path_not_set");
     $this->tpl->setVariable("CONVERT_PATH", PATH_TO_CONVERT ? PATH_TO_CONVERT : $not_set);
     $this->tpl->setVariable("ZIP_PATH", PATH_TO_ZIP ? PATH_TO_ZIP : $not_set);
     $this->tpl->setVariable("UNZIP_PATH", PATH_TO_UNZIP ? PATH_TO_UNZIP : $not_set);
     $this->tpl->setVariable("JAVA_PATH", PATH_TO_JAVA ? PATH_TO_JAVA : $not_set);
     $this->tpl->setVariable("HTMLDOC_PATH", PATH_TO_HTMLDOC ? PATH_TO_HTMLDOC : $not_set);
     $this->tpl->setVariable("MKISOFS_PATH", PATH_TO_MKISOFS ? PATH_TO_MKISOFS : $not_set);
     $this->tpl->setVariable("LATEX_URL", URL_TO_LATEX ? URL_TO_LATEX : $not_set);
     // contact
     $this->tpl->setVariable("ADMIN_FIRSTNAME", $settings["admin_firstname"]);
     $this->tpl->setVariable("ADMIN_LASTNAME", $settings["admin_lastname"]);
     $this->tpl->setVariable("ADMIN_TITLE", $settings["admin_title"]);
     $this->tpl->setVariable("ADMIN_POSITION", $settings["admin_position"]);
     $this->tpl->setVariable("ADMIN_INSTITUTION", $settings["admin_institution"]);
     $this->tpl->setVariable("ADMIN_STREET", $settings["admin_street"]);
     $this->tpl->setVariable("ADMIN_ZIPCODE", $settings["admin_zipcode"]);
     $this->tpl->setVariable("ADMIN_CITY", $settings["admin_city"]);
     $this->tpl->setVariable("ADMIN_COUNTRY", $settings["admin_country"]);
     $this->tpl->setVariable("ADMIN_PHONE", $settings["admin_phone"]);
     $this->tpl->setVariable("ADMIN_EMAIL", $settings["admin_email"]);
     $this->tpl->parseCurrentBlock();
 }