4require_once 
"./setup/classes/class.ilSetup.php";
 
    5require_once(
'./Services/Database/classes/class.ilDBConstants.php');
 
   48                include_once(
"./Services/UIComponent/Tabs/classes/class.ilTabsGUI.php");
 
   50                $this->tabs->setSetupMode(
true);
 
   52                include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
   54                include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
 
   57                $tpl->addJavaScript(
"./Services/JavaScript/js/Basic.js", 0);
 
   59                include_once(
"./Services/UICore/classes/class.ilUIFramework.php");
 
   63                $this->revision = 
'$Revision$';
 
   64                $this->version = 
"2 ".substr(substr($this->revision,1),0,-2);
 
   65                $this->lang = $this->lng->lang_key;
 
   72                if (
$_POST[
"client_id"] != 
"")
 
   92                $this->setup->ini_client_exists = $this->setup->newClient(
$client_id);
 
   93                if (is_object($this->setup->getClient()))
 
   95                        $this->setup->getClient()->status = $this->setup->getStatus(
$client_id);
 
   99                if (($this->cmd = 
$_GET[
"cmd"]) == 
"gateway")
 
  102                        @$this->cmd = key(
$_POST[
"cmd"]);
 
  108                if ($this->setup->isAuthenticated() and !$this->setup->getClient()->status[
"finish"][
"status"] and $this->cmd != 
"clientlist" and $this->cmd != 
"")
 
  121                if (!$this->setup->isAuthenticated() or !$this->setup->isInstalled())
 
  124                        if (!$this->setup->isInstalled() or !($this->setup->ini->readVariable(
"clients",
"path")))
 
  130                                if ($this->cmd == 
"performLogin" || $this->cmd == 
"performMLogin")
 
  143                        if ($this->setup->isAdmin())
 
  158                        echo 
"cmd: ".$this->cmd.
" | access: ".$this->setup->access_mode.
" | display: ".
$this->display_mode;
 
  159                        var_dump($this->setup->getClient()->status);
 
  180                        case "preliminaries":
 
  181                                $this->setup->checkPreliminaries();
 
  189                        case "determineToolsPathInstall":
 
  193                        case "saveBasicSettings":
 
  198                                $this->
displayError($this->lng->txt(
"unknown_command").
": '".$this->cmd.
"'");
 
  216                                $this->active_tab = 
"clientlist";
 
  219                        case "savemasterpassword":
 
  222                                $this->active_tab = 
"password";
 
  225                        case "changemasterpassword":
 
  228                                $this->active_tab = 
"password";
 
  231                        case "mastersettings":
 
  234                                $this->active_tab = 
"basicsettings";
 
  237                        case "determineToolsPath":
 
  242                        case "changedefault":
 
  247                                $this->cmd = 
"selectdb";
 
  249                                $this->setup->ini_client_exists = $this->setup->newClient();
 
  263                                $this->setup->ini_client_exists = $this->setup->newClient();
 
  277                        case "preliminaries":
 
  278                                $this->setup->checkPreliminaries();
 
  280                                $this->active_tab = 
"preliminaries";
 
  283                        case "updateBasicSettings":
 
  285                        case "performMLogin":
 
  305                                if ($this->setup->getClient()->db_installed)
 
  339                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"sess" and $this->setup->error === 
true)
 
  350                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"lang" and $this->setup->error === 
true)
 
  361                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"contact")
 
  372                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"proxy")
 
  383                                $this->displayCache();
 
  388                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"nic")
 
  399                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"finish")
 
  419                                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
  423                                if ($this->setup->getClient()->ini->readVariable(
"client",
"access") != 
"1")
 
  425                                        $this->setup->getClient()->ini->setVariable(
"client",
"access",
"1");
 
  426                                        $this->setup->getClient()->ini->write();
 
  430                                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
  437                        case "reloadStructure":
 
  445                        case "saveClientIni":
 
  446                        case "installDatabase":
 
  447                        case "displayDatabase":
 
  448                        case "updateDatabase":
 
  449                        case "showUpdateSteps":
 
  450                        case "saveLanguages":
 
  452                        case "displayContactData":
 
  454                        case "saveRegistration":
 
  456                        case "showHotfixSteps":
 
  457                        case "applyCustomUpdates":
 
  458                        case "changeSettingsType":
 
  459                        case "showLongerSettings":
 
  460                        case "cloneSelectSource":
 
  461                        case "cloneSaveSource":
 
  463                        case "displayPassword":
 
  467                        case "addMemcacheServer":
 
  468                        case "deleteMemcacheServer":
 
  469                        case "editMemcacheServer":
 
  470                        case "createMemcacheServer":
 
  471                        case "updateMemcacheServer":
 
  478                                $this->
displayError($this->lng->txt(
"unknown_command").
": '".$this->cmd.
"'");
 
  500                if ($a_mode != 
"view" and $a_mode != 
"setup")
 
  505                $this->display_mode = $a_mode;
 
  530                        $this->tpl->setCurrentBlock(
"languages");
 
  531                        $this->tpl->setVariable(
"LINK_LANG", 
"./setup.php?cmd=".$this->cmd.
"&lang=".$lang_key);
 
  532                        $this->tpl->setVariable(
"LANG_NAME", $this->lng->txt(
"meta_l_".$lang_key));
 
  533                        $this->tpl->setVariable(
"LANG_ICON", $lang_key);
 
  534                        $this->tpl->setVariable(
"LANG_KEY", $lang_key);
 
  535                        $this->tpl->setVariable(
"BORDER", 0);
 
  536                        $this->tpl->setVariable(
"VSPACE", 0);
 
  537                        $this->tpl->parseCurrentBlock();
 
  542                if ($this->cmd != 
"logout" and $this->setup->isInstalled() and $this->setup->isAuthenticated())
 
  545                        if ($this->setup->isAdmin())
 
  547                                if ($this->display_mode == 
"view" ||
 
  548                                        $this->cmd == 
"clientlist" ||
 
  549                                        $this->cmd == 
"changemasterpassword" ||
 
  550                                        $this->cmd == 
'savemasterpassword' ||
 
  551                                        $this->cmd == 
"mastersettings") {
 
  552                                        $this->tpl->setCurrentBlock(
"add_client");
 
  553                                        $this->tpl->setVariable(
"TXT_ADD_CLIENT",ucfirst($this->lng->txt(
"new_client")));
 
  554                                        $this->tpl->parseCurrentBlock();
 
  558                                $class = ($this->active_tab == 
"clientlist")
 
  561                                $this->tpl->setCurrentBlock(
"display_list");
 
  562                                $this->tpl->setVariable(
"TXT_LIST",ucfirst($this->lng->txt(
"list_clients")));
 
  563                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  564                                $this->tpl->parseCurrentBlock();
 
  567                                $class = ($this->active_tab == 
"basicsettings")
 
  570                                $this->tpl->setCurrentBlock(
"edit_pathes");
 
  571                                $this->tpl->setVariable(
"TXT_EDIT_PATHES",$this->lng->txt(
"basic_settings"));
 
  572                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  573                                $this->tpl->parseCurrentBlock();
 
  576                                $class = ($this->active_tab == 
"preliminaries")
 
  579                                $this->tpl->setCurrentBlock(
"preliminaries");
 
  580                                $this->tpl->setVariable(
"TXT_PRELIMINARIES",$this->lng->txt(
"preliminaries"));
 
  581                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  582                                $this->tpl->parseCurrentBlock();
 
  585                                $class = ($this->active_tab == 
"password")
 
  588                                $this->tpl->setCurrentBlock(
"change_password");
 
  589                                $this->tpl->setVariable(
"TXT_CHANGE_PASSWORD",ucfirst($this->lng->txt(
"password")));
 
  590                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  591                                $this->tpl->parseCurrentBlock();
 
  595                        if ($this->setup->isAuthenticated())
 
  597                                $this->tpl->setCurrentBlock(
"logout");
 
  598                                $this->tpl->setVariable(
"TXT_LOGOUT",$this->lng->txt(
"logout"));
 
  599                                $this->tpl->parseCurrentBlock();
 
  603                $this->tpl->setVariable(
"VAL_CMD", htmlspecialchars(
$_GET[
"cmd"]));
 
  604                $this->tpl->setVariable(
"TXT_OK",$this->lng->txt(
"change"));
 
  605                $this->tpl->setVariable(
"TXT_CHOOSE_LANGUAGE",$this->lng->txt(
"choose_language"));
 
  606                $this->tpl->setVariable(
"PAGETITLE",
"Setup");
 
  608                $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"../templates/default/delos.css");
 
  609                $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"./css/setup.css");
 
  610                $this->tpl->setVariable(
"TXT_ILIAS_VERSION", 
"ILIAS ".
ILIAS_VERSION);
 
  611                $this->tpl->setVariable(
"TXT_SETUP",$this->lng->txt(
"setup"));
 
  612                $this->tpl->setVariable(
"VERSION", $this->version);
 
  613                $this->tpl->setVariable(
"TXT_VERSION", $this->lng->txt(
"version"));
 
  614                $this->tpl->setVariable(
"LANG", $this->lang);
 
  623                if ($this->cmd != 
"logout")
 
  625                        if ($this->setup->ini_ilias_exists and $this->display_mode == 
"setup" and $this->setup->getClient()->getId() != 
"")
 
  627                                $this->tpl->setVariable(
"TXT_ACCESS_MODE",
"(".$this->lng->txt(
"client_id").
": ".$this->setup->getClient()->getId().
")");
 
  629                        elseif ($this->setup->isAdmin())
 
  631                                $this->tpl->setVariable(
"TXT_ACCESS_MODE",
"(".$this->lng->txt(
"root_access").
")");
 
  647                if (!$this->btn_prev_on and !$this->btn_next_on)
 
  652                $ntpl = 
new ilTemplate(
"tpl.navbuttons.html", 
true, 
true, 
"setup");
 
  655                $ntpl->setVariable(
"FORMACTION_BUTTONS",
"setup.php?cmd=gateway");
 
  657                if ($this->btn_prev_on)
 
  659                        $ntpl->setCurrentBlock(
"btn_back");
 
  660                        $ntpl->setVariable(
"TXT_PREV", $this->btn_prev_lng);
 
  661                        $ntpl->setVariable(
"CMD_PREV", $this->btn_prev_cmd);
 
  662                        $ntpl->parseCurrentBlock();
 
  665                if ($this->btn_next_on)
 
  667                        $ntpl->setCurrentBlock(
"btn_forward");
 
  668                        $ntpl->setVariable(
"TXT_NEXT", $this->btn_next_lng);
 
  669                        $ntpl->setVariable(
"CMD_NEXT", $this->btn_next_cmd);
 
  670                        $ntpl->parseCurrentBlock();
 
  673                $nav_html = $ntpl->get();
 
  674                $this->tpl->setVariable(
"NAVBUTTONS", $nav_html);
 
  675                if (!$this->no_second_nav)
 
  677                        $this->tpl->setVariable(
"NAVBUTTONS2", $nav_html);
 
  690                $this->btn_prev_on = 
true;
 
  691                $this->btn_prev_cmd = ($a_cmd) ? $a_cmd : 
"gateway";
 
  692                $this->btn_prev_lng = ($a_lng) ? $this->lng->txt($a_lng) : $this->lng->txt(
"prev");
 
  703                $this->btn_next_on = 
true;
 
  704                $this->btn_next_cmd = ($a_cmd) ? $a_cmd : 
"gateway";
 
  705                $this->btn_next_lng = ($a_lng) ? $this->lng->txt($a_lng) : $this->lng->txt(
"next");
 
  720                $btpl = 
new ilTemplate(
"tpl.buttons.html", 
true, 
true, 
"setup");
 
  721                $btpl->setCurrentBlock(
"btn");
 
  722                $btpl->setVariable(
"CMD", 
"changeaccess");
 
  723                $access_button = ($this->setup->getClient()->status[
"access"][
"status"]) ? 
"disable" : 
"enable";
 
  724                $btpl->setVariable(
"TXT", $this->lng->txt($access_button));
 
  725                $btpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
  726                $btpl->parseCurrentBlock();
 
  727                $this->tpl->setVariable(
"BUTTONS", $btpl->get());
 
  730                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
  742                $settings = $this->setup->getClient()->getAllSettings();
 
  744                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  747                $this->form->setTitle(
$lng->txt(
"client_info"));
 
  751                $ne->setValue(($this->setup->getClient()->getName())
 
  752                        ? $this->setup->getClient()->getName()
 
  753                        : 
"<".$this->lng->txt(
"no_client_name").
">");
 
  754                $ne->setInfo($this->setup->getClient()->getDescription());
 
  755                $this->form->addItem($ne);
 
  759                $ne->setValue($this->setup->getClient()->getId());
 
  760                $this->form->addItem($ne);
 
  764                $ne->setValue(($this->setup->getClient()->db_installed)
 
  765                        ? $settings[
"inst_id"]
 
  767                $this->form->addItem($ne);
 
  771                $ne->setValue(($this->setup->getClient()->db_installed)
 
  772                        ? $settings[
"db_version"]
 
  774                $this->form->addItem($ne);
 
  779                $access_status = ($this->setup->getClient()->status[
"access"][
"status"]) ? 
"online" : 
"disabled";
 
  780                $ne->setValue($this->lng->txt($access_status).$access_link);
 
  781                $this->form->addItem($ne);
 
  785                $sh->setTitle($this->lng->txt(
"server_info"));
 
  786                $this->form->addItem($sh);
 
  791                $this->form->addItem($ne);
 
  795                $ne->setValue(
$_SERVER[
"SERVER_NAME"]);
 
  796                $this->form->addItem($ne);
 
  802                $this->form->addItem($ne);
 
  806                $ne->setValue(
$_SERVER[
"SERVER_SOFTWARE"]);
 
  807                $this->form->addItem($ne);
 
  811                $ne->setValue(ILIAS_HTTP_PATH);
 
  812                $this->form->addItem($ne);
 
  816                $ne->setValue(ILIAS_ABSOLUTE_PATH);
 
  817                $this->form->addItem($ne);
 
  821                $sh->setTitle($this->lng->txt(
"3rd_party_software"));
 
  822                $this->form->addItem($sh);
 
  824                $tools = array(
"convert", 
"zip", 
"unzip", 
"ghostscript", 
"java", 
"ffmpeg");
 
  826                foreach ($tools as $tool)
 
  830                        $p = $this->setup->ini->readVariable(
"tools", $tool);
 
  831                        $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  832                        $this->form->addItem($ne);
 
  837                $p = $this->setup->ini->readVariable(
"tools", 
"latex"); 
 
  838                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  839                $this->form->addItem($ne);
 
  843                $ne->setValue($this->setup->ini->readVariable(
"tools",
"vscantype"));
 
  844                $this->form->addItem($ne);
 
  848                $p = $this->setup->ini->readVariable(
"tools",
"scancommand");
 
  849                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  850                $this->form->addItem($ne);
 
  854                $p = $this->setup->ini->readVariable(
"tools",
"cleancommand");
 
  855                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  856                $this->form->addItem($ne);
 
  860                $p = $this->setup->ini->readVariable(
"tools",
"enable_system_styles_management");
 
  861                $ne->setValue($p ? $this->lng->txt(
"enabled") : $this->lng->txt(
"not_enabled"));
 
  862                $this->form->addItem($ne);
 
  866                $p = $this->setup->ini->readVariable(
"tools",
"lessc");
 
  867                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  868                $this->form->addItem($ne);
 
  871                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
  883                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
  884                $FAILED = 
"<strong><font color=\"red\">FAILED</font></strong>";
 
  886                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.preliminaries.html", 
"setup");
 
  888                $this->tpl->setVariable(
"TXT_SETUP_TITLE",$this->lng->txt(
"ilias_setup"));
 
  889                $this->tpl->setVariable(
"TXT_SETUP_WELCOME", $this->lng->txt(
"setup_welcome"));
 
  890                $this->tpl->setVariable(
"TXT_SETUP_INIFILE_DESC", $this->lng->txt(
"setup_inifile_desc"));
 
  891                $this->tpl->setVariable(
"TXT_SETUP_DATABASE_DESC", $this->lng->txt(
"setup_database_desc"));
 
  892                $this->tpl->setVariable(
"TXT_SETUP_LANGUAGES_DESC", $this->lng->txt(
"setup_languages_desc"));
 
  893                $this->tpl->setVariable(
"TXT_SETUP_PASSWORD_DESC", $this->lng->txt(
"setup_password_desc"));
 
  894                $this->tpl->setVariable(
"TXT_SETUP_NIC_DESC", $this->lng->txt(
"setup_nic_desc"));
 
  896                $server_os = php_uname();
 
  897                $server_web = 
$_SERVER[
"SERVER_SOFTWARE"];
 
  898                $environment = $this->lng->txt(
"env_using").
" ".$server_os.
" <br/>".$this->lng->txt(
"with").
" ".$server_web;
 
  900                if ((stristr($server_os,
"linux") || stristr($server_os,
"windows")) && stristr($server_web,
"apache"))
 
  902                        $env_comment = $this->lng->txt(
"env_ok");
 
  906                        $env_comment = 
"<font color=\"red\">".$this->lng->txt(
"env_warning").
"</font>";
 
  909                $this->tpl->setVariable(
"TXT_ENV_TITLE", $this->lng->txt(
"environment"));
 
  910                $this->tpl->setVariable(
"TXT_ENV_INTRO", $environment);
 
  911                $this->tpl->setVariable(
"TXT_ENV_COMMENT", $env_comment);
 
  913                $this->tpl->setVariable(
"TXT_PRE_TITLE", $this->lng->txt(
"preliminaries"));
 
  914                $this->tpl->setVariable(
"TXT_PRE_INTRO", $this->lng->txt(
"pre_intro"));
 
  916                $preliminaries = array(
"php", 
"root", 
"folder_create",
 
  917                        "cookies_enabled", 
"dom", 
"xsl", 
"gd", 
"memory");
 
  918                if ($this->setup->hasOpCacheEnabled()) {
 
  919                        $preliminaries[] = 
'load_comments';
 
  922                foreach ($preliminaries as $preliminary)
 
  924                        $this->tpl->setCurrentBlock(
"preliminary");
 
  925                        $this->tpl->setVariable(
"TXT_PRE", $this->lng->txt(
"pre_".$preliminary));
 
  926                        if ($this->setup->preliminaries_result[$preliminary][
"status"] == 
true)
 
  928                                $this->tpl->setVariable(
"STATUS_PRE", $OK);
 
  932                                $this->tpl->setVariable(
"STATUS_PRE", $FAILED);
 
  934                        $this->tpl->setVariable(
"COMMENT_PRE", $this->setup->preliminaries_result[$preliminary][
"comment"]);
 
  935                        $this->tpl->parseCurrentBlock();
 
  939                if ($this->setup->preliminaries === 
true)
 
  941                        if ($this->setup->isInstalled())
 
  943                                $cmd = 
"mastersettings";
 
  949                        $btn_text = ($this->cmd == 
"preliminaries") ? 
"" : 
"installation";
 
  951                        $this->setButtonNext(
$cmd,$btn_text);
 
  955                        $this->tpl->setCurrentBlock(
"premessage");
 
  956                        $this->tpl->setVariable(
"TXT_PRE_ERR", 
sprintf($this->lng->txt(
"pre_error"),
 
  957                                "http://www.ilias.de/docu/goto.php?target=pg_6531_367&client_id=docu"));
 
  958                        $this->tpl->parseCurrentBlock();
 
  971                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
  972                $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"basic_settings"));
 
  973                $this->tpl->setVariable(
"TXT_INFO",
 
  974                        $this->lng->txt(
"info_text_first_install").
"<br/>".$this->lng->txt(
"info_text_pathes"));
 
  976                $this->setButtonPrev(
"preliminaries");
 
  978                if ($this->setup->isInstalled())
 
  980                        $this->setButtonNext(
"list");
 
  987                $this->tpl->setVariable(
"SETUP_CONTENT", 
"<br>".$this->form->getHTML().
"<br>");
 
  995                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
  996                $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"basic_settings"));
 
  997                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_pathes"));
 
  999                $this->btn_next_on = 
true;
 
 1000                $this->btn_next_lng = $this->lng->txt(
"create_new_client").
"...";
 
 1001                $this->btn_next_cmd = 
"newclient";
 
 1008                $this->tpl->setVariable(
"SETUP_CONTENT", 
"<br>".$this->form->getHTML().
"<br>");
 
 1018                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1025                        $ne->setInfo($this->lng->txt(
"data_directory_in_ws_info"));
 
 1028                        ? str_replace(
"\\", 
"/", getcwd())
 
 1031                $ne->setValue($cwd.
"/data");
 
 1032                $this->form->addItem($ne);
 
 1038                        $ti->setInfo(
$lng->txt(
"data_directory_info"));
 
 1039                        $ti->setRequired(
true);
 
 1040                        $this->form->addItem($ti);
 
 1045                        $this->form->addItem($ne);
 
 1055                $sh->setTitle(
$lng->txt(
"logging"));
 
 1056                $this->form->addItem($sh);
 
 1060                $ti->setInfo(
$lng->txt(
"log_path_comment".$lvext));
 
 1061                $this->form->addItem($ti);
 
 1065                $this->form->addItem($cb);
 
 1069                $ti->setInfo(
$lng->txt(
"error_log_path_comment".$lvext));
 
 1070                $this->form->addItem($ti);
 
 1074                $sh->setTitle(
$lng->txt(
"server_settings"));
 
 1075                $this->form->addItem($sh);
 
 1078                include_once(
"./Services/Calendar/classes/class.ilCalendarUtil.php");
 
 1080                $si->setOptions(array_merge(
 
 1081                        array(
"" => 
"-- ".
$lng->txt(
"please_select").
" --"),
 
 1083                $si->setRequired(
true);
 
 1084                $this->form->addItem(
$si);
 
 1088                $sh->setTitle(
$lng->txt(
"https_settings"));
 
 1089                $this->form->addItem($sh);
 
 1092                $check->setOptionTitle(
$lng->txt(
'ps_auto_https_description'));
 
 1093                $check->setValue(1);
 
 1097                $text->setMaxLength(64);
 
 1098                $text->setRequired(
true);
 
 1099                $check->addSubItem(
$text);
 
 1103                $text->setMaxLength(64);
 
 1104                $text->setRequired(
true);
 
 1105                $check->addSubItem(
$text);
 
 1107                $this->form->addItem($check);
 
 1111                $sh->setTitle(
$lng->txt(
"3rd_party_software_req"));
 
 1112                $this->form->addItem($sh);
 
 1116                $ti->setInfo(
$lng->txt(
"convert_path_comment".$lvext));
 
 1117                $ti->setRequired(
true);
 
 1118                $this->form->addItem($ti);
 
 1122                $ti->setInfo(
$lng->txt(
"zip_path_comment".$lvext));
 
 1123                $ti->setRequired(
true);
 
 1124                $this->form->addItem($ti);
 
 1128                $ti->setInfo(
$lng->txt(
"unzip_path_comment".$lvext));
 
 1129                $ti->setRequired(
true);
 
 1130                $this->form->addItem($ti);
 
 1134                $sh->setTitle(
$lng->txt(
"3rd_party_software_opt"));
 
 1135                $this->form->addItem($sh);
 
 1139                $ti->setInfo(
$lng->txt(
"ghostscript_path_comment".$lvext));
 
 1140                $this->form->addItem($ti);
 
 1144                $ti->setInfo(
$lng->txt(
"ffmpeg_path_comment"));
 
 1145                $this->form->addItem($ti);
 
 1149                $ti->setInfo(
$lng->txt(
"latex_url_comment"));
 
 1150                $this->form->addItem($ti);
 
 1154                        "none" => 
$lng->txt(
"none"),
 
 1155                        "sophos" => 
$lng->txt(
"sophos"),
 
 1156                        "antivir" => 
$lng->txt(
"antivir"),
 
 1157                        "clamav" => 
$lng->txt(
"clamav")
 
 1161                $this->form->addItem(
$si);
 
 1165                $this->form->addItem($ti);
 
 1169                $this->form->addItem($ti);
 
 1172                $check = 
new ilCheckboxInputGUI(
$lng->txt(
'enable_system_styles_management'),
'enable_system_styles_management');
 
 1173                $check->setInfo(
$lng->txt(
'enable_system_styles_management_info'));
 
 1174                $check->setValue(1);
 
 1178                $lessc->setInfo(
$lng->txt(
"lessc_path_comment"));
 
 1179                $check->addSubItem($lessc);
 
 1181                $this->form->addItem($check);
 
 1187                        $sh->setTitle(
$lng->txt(
"master_password"));
 
 1188                        $this->form->addItem($sh);
 
 1192                        $pi->setRequired(
true);
 
 1193                        $pi->setSkipSyntaxCheck(
true);
 
 1194                        $pi->setInfo(
$lng->txt(
"password_info"));
 
 1195                        $this->form->addItem($pi);
 
 1200                        $this->form->addCommandButton(
"saveBasicSettings", 
$lng->txt(
"save"));
 
 1204                        $this->form->addCommandButton(
"updateBasicSettings", 
$lng->txt(
"save"));
 
 1205                        $this->form->addCommandButton(
"determineToolsPath", 
$lng->txt(
"determine_tools_paths"));
 
 1208                $this->form->setTitle(
$lng->txt(
"data_directories"));
 
 1209                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1214                        $this->form->setValuesByArray($det);
 
 1226                $values[
"webspace_dir"] = getcwd().
"/data";
 
 1227                $values[
"data_dir"] = $this->setup->ini->readVariable(
"clients",
"datadir");
 
 1228                $values[
"convert_path"] = $this->setup->ini->readVariable(
"tools",
"convert");
 
 1229                $values[
"zip_path"] = $this->setup->ini->readVariable(
"tools",
"zip");
 
 1230                $values[
"unzip_path"] = $this->setup->ini->readVariable(
"tools",
"unzip");
 
 1231                $values[
"ghostscript_path"] = $this->setup->ini->readVariable(
"tools",
"ghostscript");
 
 1233                $values[
"ffmpeg_path"] = $this->setup->ini->readVariable(
"tools",
"ffmpeg");
 
 1234                $values[
"latex_url"] = $this->setup->ini->readVariable(
"tools",
"latex");
 
 1235                $values[
"fop_path"] = $this->setup->ini->readVariable(
"tools",
"fop");
 
 1236                $values[
"vscanner_type"] = $this->setup->ini->readVariable(
"tools", 
"vscantype");
 
 1237                $values[
"scan_command"] = $this->setup->ini->readVariable(
"tools", 
"scancommand");
 
 1238                $values[
"clean_command"] = $this->setup->ini->readVariable(
"tools", 
"cleancommand");
 
 1239                $values[
"enable_system_styles_management"] = $this->setup->ini->readVariable(
"tools", 
"enable_system_styles_management");
 
 1240                $values[
"lessc_path"] = $this->setup->ini->readVariable(
"tools", 
"lessc");
 
 1241                $values[
"log_path"] = $this->setup->ini->readVariable(
"log",
"path").
"/".
 
 1242                        $this->setup->ini->readVariable(
"log",
"file");
 
 1243                $values[
"chk_log_status"] = !$this->setup->ini->readVariable(
"log",
"enabled");
 
 1244                $values[
"error_log_path"] = $this->setup->ini->readVariable(
"log",
"error_path");
 
 1245                $values[
"time_zone"] = $this->setup->ini->readVariable(
"server", 
"timezone");
 
 1248                $values[
"auto_https_detect_enabled"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_enabled");
 
 1249                $values[
"auto_https_detect_header_name"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_header_name");
 
 1250                $values[
"auto_https_detect_header_value"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_header_value");
 
 1252                $this->form->setValuesByArray($values);
 
 1264                if ($this->form->checkInput())
 
 1269                                $fs = array(
"datadir_path", 
"log_path", 
"convert_path", 
"zip_path",
 
 1270                                        "unzip_path", 
"ghostscript_path", 
"ffmpeg_path",
"lessc_path");
 
 1278                        if (!$this->setup->checkDataDirSetup(
$_POST))
 
 1280                                $i = $this->form->getItemByPostVar(
"datadir_path");
 
 1281                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1284                        else if (!$this->setup->checkLogSetup(
$_POST))
 
 1286                                $i = $this->form->getItemByPostVar(
"log_path");
 
 1287                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1290                        else if(!$this->setup->checkErrorLogSetup(
$_POST[
"error_log_path"])) {
 
 1291                                $i = $this->form->getItemByPostVar(
"error_log_path");
 
 1292                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1295                        else if (!$this->setup->checkPasswordSetup(
$_POST))
 
 1299                        else if (!$this->setup->saveMasterSetup(
$_POST))
 
 1310                $this->form->setValuesByPost();
 
 1323                if ($this->form->checkInput())
 
 1327                                $fs = array(
"datadir_path", 
"log_path", 
"convert_path", 
"zip_path",
 
 1328                                        "unzip_path", 
"ghostscript_path", 
"ffmpeg_path",
"lessc_path");
 
 1335                        if (!$this->setup->checkLogSetup(
$_POST))
 
 1337                                $i = $this->form->getItemByPostVar(
"log_path");
 
 1338                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1341                        else if (!$this->setup->checkErrorLogSetup(
$_POST[
"error_log_path"])) {
 
 1342                                $i = $this->form->getItemByPostVar(
"error_log_path");
 
 1343                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1346                        else if (!$this->setup->updateMasterSettings(
$_POST))
 
 1357                $this->form->setValuesByPost();
 
 1372                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
 1381                $this->tpl->setVariable(
"SETUP_LOGIN_CLASS", 
" ilSetupLogin");
 
 1382                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
 1386                        $m_form = $this->form->getHTML();
 
 1392                $cl_form = $this->form->getHTML();
 
 1396                        $m_form = $this->form->getHTML();
 
 1398                $this->tpl->setVariable(
"SETUP_CONTENT", $cl_form.
"<br>".$m_form);
 
 1399                $this->tpl->setVariable(
"TXT_HEADER", 
$lng->txt(
"login"));
 
 1408                if ($this->form->checkInput())
 
 1410                        $i = $this->form->getItemByPostVar(
"mpassword");
 
 1411                        if (!$this->setup->loginAsAdmin(
$_POST[
"mpassword"]))
 
 1413                                $i->setAlert($this->lng->txt(
"login_invalid"));
 
 1423                $this->form->setValuesByPost();
 
 1433                if ($this->form->checkInput())
 
 1435                        $i = $this->form->getItemByPostVar(
"password");
 
 1436                        if (!$this->setup->loginAsClient(
 
 1437                                array(
"client_id" => 
$_POST[
"client_id"],
 
 1438                                "username" => 
$_POST[
"username"], 
"password" => 
$_POST[
"password"])))
 
 1440                                $i->setAlert($this->setup->getError());
 
 1450                $this->form->setValuesByPost();
 
 1461                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1463                $this->form->setId(
"client_login");
 
 1467                $ti->setMaxLength(32);
 
 1469                $this->form->addItem($ti);
 
 1474                $this->form->addItem($ti);
 
 1479                $pi->setRetype(
false);
 
 1480                $pi->setSkipSyntaxCheck(
true);
 
 1481                $this->form->addItem($pi);
 
 1483                $this->form->addCommandButton(
"performLogin", 
$lng->txt(
"login"));
 
 1485                $this->form->setTitle(
$lng->txt(
"client_login"));
 
 1486                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1496                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1498                $this->form->setId(
"master_login");             
 
 1502                $pi->setRetype(
false);
 
 1503                $pi->setSkipSyntaxCheck(
true);
 
 1504                $this->form->addItem($pi);
 
 1506                $this->form->addCommandButton(
"performMLogin", 
$lng->txt(
"login"));
 
 1508                $this->form->setTitle(
$lng->txt(
"admin_login"));
 
 1509                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1524                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientlist.html", 
"setup");
 
 1525                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_list"));
 
 1529                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"list_clients"));
 
 1530                $this->tpl->setVariable(
"TXT_LISTSTATUS",($this->setup->ini->readVariable(
"clients",
"list")) ? $this->lng->txt(
"display_clientlist") : $this->lng->txt(
"hide_clientlist"));
 
 1531                $this->tpl->setVariable(
"TXT_TOGGLELIST",($this->setup->ini->readVariable(
"clients",
"list")) ? $this->lng->txt(
"disable") : $this->lng->txt(
"enable"));
 
 1533                include_once(
"./setup/classes/class.ilClientListTableGUI.php");
 
 1535                $this->tpl->setVariable(
"CLIENT_LIST", 
$tab->getHTML());
 
 1538                $this->btn_next_on = 
true;
 
 1539                $this->btn_next_lng = $this->lng->txt(
"create_new_client").
"...";
 
 1540                $this->btn_next_cmd = 
"newclient";
 
 1566                        ? str_replace(
"\\", 
"/", getcwd())
 
 1570                        $tools = array(
"convert" => 
"convert",
 
 1571                                "zip" => 
"zip", 
"unzip" => 
"unzip", 
"ghostscript" => 
"gs",
 
 1572                                "java" => 
"java", 
"ffmpeg" => 
"ffmpeg", 
"lessc"=>
"lessc");
 
 1573                        $dirs = array(
"/usr/local", 
"/usr/local/bin", 
"/usr/bin", 
"/bin", 
"/sw/bin", 
"/usr/bin");
 
 1577                        $tools = array(
"convert" => 
"convert.exe",
 
 1578                                "zip" => 
"zip.exe", 
"unzip" => 
"unzip.exe");
 
 1581                foreach($tools as $k => $tool)
 
 1585                        @exec(
"which ".$tool, 
$ret);
 
 1586                        if (substr(
$ret[0], 0, 3) != 
"no " && substr(
$ret[0], 0, 1) == 
"/")
 
 1588                                $a_tools[$k.
"_path"] = 
$ret[0];
 
 1593                        foreach($dirs as $dir)
 
 1595                                if (@is_file($dir.
"/".$tool))
 
 1597                                        $a_tools[$k.
"_path"] = $dir.
"/".$tool;
 
 1620                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 1622                if ($this->setup->getClient()->status[
"ini"][
"status"]) {
 
 1623                        $this->setButtonNext(
"db");
 
 1636                require_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
 
 1637                require_once(
'./Services/Database/classes/class.ilDBConstants.php');
 
 1645                $this->form->addItem(
$si);
 
 1647                $this->form->addCommandButton(
"selectdbtype", 
$lng->txt(
"save"));
 
 1649                $this->form->setTitle(
$lng->txt(
"db_selection"));
 
 1650                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1664                if (
$_POST[
"db_type"] != 
"") {
 
 1670                $has_ini = $this->setup->getClient()->status[
"ini"][
"status"];
 
 1673                if (!
$_SESSION[
"db_type"] && $has_ini) {
 
 1674                        $_SESSION[
"db_type"] = $this->setup->getClient()->getDbType();
 
 1677                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_ini"));
 
 1678                if (!$a_omit_form_init) {
 
 1682                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 1685                        $this->setButtonNext(
"db");
 
 1698                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1702                if ($this->setup->ini_client_exists) {
 
 1704                        $hi->setValue($this->client_id);
 
 1705                        $this->form->addItem($hi);
 
 1708                        $ne->setValue($this->client_id);
 
 1709                        $this->form->addItem($ne);
 
 1712                        $ti->setMaxLength(32);
 
 1713                        $ti->setRequired(
true);
 
 1714                        $this->form->addItem($ti);
 
 1719                $sh->setTitle(
$lng->txt(
"db_conn"));
 
 1720                $this->form->addItem($sh);
 
 1725                $ne->setValue($at[
$_SESSION[
"db_type"]] );
 
 1726                $this->form->addItem($ne);
 
 1730                $ti->setMaxLength(120);
 
 1731                $ti->setRequired(
true);
 
 1732                $this->form->addItem($ti);
 
 1735                require_once(
'./Services/Database/classes/class.ilDBConstants.php');
 
 1738                        $ti->setRequired(
true);
 
 1742                $ti->setMaxLength(40);
 
 1743                $this->form->addItem($ti);
 
 1747                $ti->setMaxLength(40);
 
 1748                $ti->setRequired(
true);
 
 1749                $this->form->addItem($ti);
 
 1753                $ti->setMaxLength(8);
 
 1754                $this->form->addItem($ti);
 
 1758                $ti->setMaxLength(40);
 
 1759                $this->form->addItem($ti);
 
 1761                $this->form->addCommandButton(
"saveClientIni", 
$lng->txt(
"save"));
 
 1763                $this->form->setTitle(
$lng->txt(
"inst_identification"));
 
 1764                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1774                $values[
"db_host"] = $this->setup->getClient()->getDbHost();
 
 1775                $values[
"db_user"] = $this->setup->getClient()->getDbUser();
 
 1776                $values[
"db_port"] = $this->setup->getClient()->getDbPort();
 
 1777                $values[
"db_pass"] = $this->setup->getClient()->getDbPass();
 
 1778                $values[
"db_name"] = $this->setup->getClient()->getDbName();
 
 1779                $values[
"client_id"] = $this->setup->getClient()->getId();
 
 1781                $this->form->setValuesByArray($values);
 
 1790                if ($this->form->checkInput()) {
 
 1791                        if (strlen(
$_POST[
"client_id"]) != strlen(urlencode((
$_POST[
"client_id"])))
 
 1792                            || !$this->setup->isValidClientId(
$_POST[
"client_id"])
 
 1794                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1795                                $i->setAlert($this->lng->txt(
"ini_client_id_invalid"));
 
 1798                                if (strlen(
$_POST[
"client_id"]) < 4) {
 
 1799                                        $i = $this->form->getItemByPostVar(
"client_id");
 
 1800                                        $i->setAlert($this->lng->txt(
"ini_client_id_too_short"));
 
 1803                                        if (strlen(
$_POST[
"client_id"]) > 32) {
 
 1804                                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1805                                                $i->setAlert($this->lng->txt(
"ini_client_id_too_long"));
 
 1808                                                if (!$this->setup->ini_client_exists && file_exists(ILIAS_ABSOLUTE_PATH . 
"/" . ILIAS_WEB_DIR . 
"/" . 
$_POST[
"client_id"])) {
 
 1809                                                        $i = $this->form->getItemByPostVar(
"client_id");
 
 1810                                                        $i->setAlert($this->lng->txt(
"ini_client_id_exists"));
 
 1815                                                        $old_db_name = $this->setup->getClient()->getDbName();
 
 1816                                                        $old_db_type = $this->setup->getClient()->getDbType();
 
 1817                                                        $old_client_id = $this->setup->getClient()->getId();
 
 1820                                                        if (!$this->setup->ini_client_exists) {
 
 1826                                                        $this->setup->getClient()->setId(
$_POST[
"client_id"]);
 
 1827                                                        $this->setup->getClient()->setDbHost(
$_POST[
"db_host"]);
 
 1828                                                        $this->setup->getClient()->setDbName(
$_POST[
"db_name"]);
 
 1829                                                        $this->setup->getClient()->setDbUser(
$_POST[
"db_user"]);
 
 1830                                                        $this->setup->getClient()->setDbPort(
$_POST[
"db_port"]);
 
 1831                                                        $this->setup->getClient()->setDbPass(
$_POST[
"db_pass"]);
 
 1832                                                        $this->setup->getClient()->setDbType(
$_SESSION[
"db_type"]);
 
 1833                                                        $this->setup->getClient()->setDSN();
 
 1836                                                        if (!$this->setup->getClient()->getDBSetup()->isConnectable()) {
 
 1837                                                                $i = $this->form->getItemByPostVar(
"db_host");
 
 1838                                                                $i->setAlert($this->lng->txt($this->setup->getClient()->getError()));
 
 1842                                                                $db_installed = $this->setup->getClient()->getDBSetup()->isDatabaseInstalled();
 
 1844                                                                if ($db_installed and (!$this->setup->ini_ilias_exists or ($this->setup->getClient()->getDbName() != $old_db_name))) {
 
 1845                                                                        $_POST[
"db_name"] = $old_db_name;
 
 1846                                                                        $message = ucfirst($this->lng->txt(
"database")) . 
" \"" . $this->setup->getClient()->getDbName() . 
"\" " 
 1847                                                                                   . $this->lng->txt(
"ini_db_name_exists");
 
 1848                                                                        $i = $this->form->getItemByPostVar(
"db_name");
 
 1849                                                                        $i->setAlert($message);
 
 1853                                                                        if (!$this->setup->ini_client_exists) {
 
 1854                                                                                if ($this->setup->saveNewClient()) {
 
 1856                                                                                        $this->setup->getClient()->status[
"ini"][
"status"] = 
true;
 
 1860                                                                                        $err = $this->setup->getError();
 
 1862                                                                                        $this->setup->getClient()->status[
"ini"][
"status"] = 
false;
 
 1863                                                                                        $this->setup->getClient()->status[
"ini"][
"comment"] = $err;
 
 1866                                                                                if ($this->setup->getClient()->ini->write()) {
 
 1868                                                                                        $this->setup->getClient()->status[
"ini"][
"status"] = 
true;
 
 1871                                                                                        $err = $this->setup->getClient()->ini->getError();
 
 1873                                                                                        $this->setup->getClient()->status[
"ini"][
"status"] = 
false;
 
 1874                                                                                        $this->setup->getClient()->status[
"ini"][
"comment"] = $err;
 
 1885                $this->form->setValuesByPost();
 
 1898                $this->tpl->addBlockFile(
"CONTENT", 
"content", 
"tpl.error.html", 
"setup");
 
 1900                $this->tpl->setCurrentBlock(
"content");
 
 1901                $this->tpl->setVariable(
"FORMACTION", 
$_SESSION[
"referer"]);
 
 1902                $this->tpl->setVariable(
"TXT_BACK", $this->lng->txt(
"back"));
 
 1903                $this->tpl->setVariable(
"ERROR_MESSAGE", ($a_message));
 
 1904                $this->tpl->parseCurrentBlock();
 
 1915                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.logout.html", 
"setup");
 
 1919                $this->logged_out = 
true;
 
 1920                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"logged_out"));
 
 1921                $this->tpl->setCurrentBlock(
"home_link");
 
 1922                $this->tpl->setVariable(
"TXT_INDEX",$this->lng->txt(
"ilias_homepage"));
 
 1923                $this->tpl->setVariable(
"LNK_INDEX",ILIAS_HTTP_PATH.
"/index.php");
 
 1924                $this->tpl->parseCurrentBlock();
 
 1932                include_once(
"./Services/UIComponent/Checklist/classes/class.ilChecklistGUI.php");
 
 1934                $checklist->setHeading($this->lng->txt(
"setup_process_status"));
 
 1937                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
 1939                $steps = $this->setup->getStatus();
 
 1942                $first = array(
"selectdb" => array(
 
 1943                        "status" => ((
bool)
$_SESSION[
"db_type"] || (
bool)
$steps[
"ini"][
"status"]),
 
 1944                        "text" => $this->lng->txt(
"db_selection"),
 
 1953                $steps[
"ini"][
"text"] = $this->lng->txt(
"setup_process_step_ini");
 
 1954                $steps[
"db"][
"text"]  = $this->lng->txt(
"setup_process_step_db");
 
 1956                $steps[
"lang"][
"text"]    = $this->lng->txt(
"setup_process_step_lang");
 
 1957                $steps[
"contact"][
"text"] = $this->lng->txt(
"setup_process_step_contact");
 
 1958                $steps[
"proxy"][
"text"]   = $this->lng->txt(
"setup_process_step_proxy");
 
 1959                $steps[
"nic"][
"text"]     = $this->lng->txt(
"setup_process_step_nic");
 
 1960                $steps[
"finish"][
"text"]  = $this->lng->txt(
"setup_process_step_finish");
 
 1962                $stpl = 
new ilTemplate(
"tpl.process_panel.html", 
true, 
true, 
"setup");
 
 1966                foreach (
$steps as $key => $val)
 
 1968                        $stpl->setCurrentBlock(
"menu_row");
 
 1969                        $stpl->setVariable(
"TXT_STEP",$this->lng->txt(
"step").
" ".$num.
":  ");
 
 1970                        $stpl->setVariable(
"TXT_ACTION",$val[
"text"]);
 
 1971                        $stpl->setVariable(
"IMG_ARROW", 
"spacer.png");
 
 1973                        if ($this->cmd == $key and isset($this->cmd))
 
 1975                                $stpl->setVariable(
"HIGHLIGHT", 
" style=\"font-weight:bold;\"");
 
 1978                        $status = ($val[
"status"]) ? $OK : 
"";
 
 1980                        $stpl->setVariable(
"TXT_STATUS",$status);
 
 1981                        $stpl->parseCurrentBlock();
 
 1983                        $checklist->addEntry($num.
". ".$val[
"text"], 
"",
 
 1986                                ($this->cmd == $key and isset($this->cmd)),
 
 1992                $stpl->setVariable(
"TXT_SETUP_PROCESS_STATUS",$this->lng->txt(
"setup_process_status"));
 
 1994                $this->tpl->setVariable(
"PROCESS_MENU", $checklist->getHTML());
 
 2002                include_once(
"./Services/UIComponent/Checklist/classes/class.ilChecklistGUI.php");
 
 2004                $checklist->setHeading($this->lng->txt(
"overall_status"));
 
 2006                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
 2010                $this->tpl->setVariable(
"TXT_OVERALL_STATUS", $this->lng->txt(
"overall_status"));
 
 2012                if ($this->setup->getClient()->status)
 
 2014                        foreach ($this->setup->getClient()->status as $key => $val)
 
 2016                                $status = ($val[
"status"]) ? $OK : 
" ";
 
 2025                                $checklist->addEntry($this->lng->txt(
"step_".$key), 
"",
 
 2030                $this->tpl->setVariable(
"STATUS_PANEL", $checklist->getHTML());
 
 2040                switch ($this->display_mode)
 
 2043                                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientview.html", 
"setup");
 
 2045                                include 
"./setup/include/inc.client_tabs.php";
 
 2046                                $client_name = ($this->setup->getClient()->getName()) ? $this->setup->getClient()->getName() : $this->lng->txt(
"no_client_name");
 
 2047                                $this->tpl->setVariable(
"TXT_HEADER",$client_name.
" (".$this->lng->txt(
"client_id").
": ".$this->setup->getClient()->getId().
")");
 
 2051                                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientsetup.html", 
"setup");
 
 2052                                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt($a_title));
 
 2056                                $this->
displayError($this->lng->txt(
"unknown_display_mode"));
 
 2070                $sub_tab_html = $this->tabs->getSubTabHTML();
 
 2071                if ($sub_tab_html != 
"")
 
 2073                        $this->tpl->setVariable(
"SUBTABS", $sub_tab_html);
 
 2084                switch ($this->display_mode)
 
 2101                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientsetup.html", 
"setup");
 
 2103                $this->tpl->setVariable(
"TXT_INFO",$this->lng->txt(
"info_text_first_client"));
 
 2104                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"setup_first_client"));
 
 2108                $this->setButtonNext(
"ini");
 
 2125                if ($this->setup->getClient()->getDBSetup()->isDatabaseInstalled())
 
 2127                        $this->setDbSubTabs(
"db");
 
 2129                        $ilDB = $this->setup->getClient()->getDB();
 
 2130                        $this->lng->setDbHandler(
$ilDB);
 
 2131                        include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2133                        $db_status = $dbupdate->getDBVersionStatus();
 
 2134                        $hotfix_available = $dbupdate->hotfixAvailable();
 
 2135                        $custom_updates_available = $dbupdate->customUpdatesAvailable();
 
 2136                        $this->
initClientDbForm(
false, $dbupdate, $db_status, $hotfix_available, $custom_updates_available);
 
 2138                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2142                                $this->setButtonNext(
"lang");
 
 2147                        $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_db").
"<br />".
 
 2148                                "<p><code>CREATE DATABASE <your_db> CHARACTER SET utf8 COLLATE <your_collation></code></p>".
 
 2149                                "<p><b>".$this->lng->txt(
"info_text_db2").
"</b></p><br/>");
 
 2153                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2154                        $this->setButtonPrev(
"ini");
 
 2163        protected function displayCache() {
 
 2164                require_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
 
 2165                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2166                require_once(
'./Services/GlobalCache/classes/Settings/class.ilGlobalCacheSettings.php');
 
 2173                $ilGlobalCacheSettings->readFromIniFile($this->setup->getClient()->ini);
 
 2176                $cache_form->setTitle($this->lng->txt(
'global_cache_configuration'));
 
 2177                $cache_form->addCommandButton(
'saveCache', $this->lng->txt(
'save'));
 
 2178                $cache_form->setFormAction(
'setup.php?cmd=gateway');
 
 2180                $some_inactive = 
false;
 
 2182                $service_type = 
new ilRadioGroupInputGUI($this->lng->txt(
'global_cache_service_type'), 
'global_cache_service_type');
 
 2185                $service_type->addOption($option);
 
 2188                        $option = 
new ilRadioOption($this->lng->txt(
'global_cache_service_type_' . $type->getServiceType()), $type->getServiceType());
 
 2189                        $option->setInfo($this->lng->txt(
'global_cache_install_info_' . $type->getServiceType()));
 
 2190                        if (! $type->isCacheServiceInstallable()) {
 
 2191                                $option->setDisabled(
true);
 
 2192                                $message .= $this->lng->txt(
'global_cache_service_type_' . $type->getServiceType()) . 
': ' . $type->getInstallationFailureReason()
 
 2194                                $some_inactive = 
true;
 
 2196                        $service_type->addOption($option);
 
 2199                if ($some_inactive) {
 
 2200                        $service_type->setAlert($message);
 
 2204                $service_type->setValue($ilGlobalCacheSettings->isActive() ? $ilGlobalCacheSettings->getService() : - 1);
 
 2205                $cache_form->addItem($service_type);
 
 2206                if ($ilGlobalCacheSettings->isActive()) {
 
 2209                        $h->setTitle($this->lng->txt(
'cache_activated_components'));
 
 2210                        $cache_form->addItem(
$h);
 
 2213                                $cc = 
new ilCheckboxInputGUI($this->lng->txt(
'cache_activate_' . $comp), 
'activate[' . $comp . 
']');
 
 2214                                $cc->setChecked($ilGlobalCacheSettings->isComponentActivated($comp));
 
 2215                                $cache_form->addItem($cc);
 
 2218                        $cc = 
new ilCheckboxInputGUI($this->lng->txt(
'cache_activate_all' ), 
'activate[all]');
 
 2219                        $cc->setChecked($ilGlobalCacheSettings->areAllComponentActivated());
 
 2220                        $cache_form->addItem($cc);
 
 2224                require_once(
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php');
 
 2225                require_once(
'./Services/UIComponent/Button/classes/class.ilLinkButton.php');
 
 2227                if ($ilGlobalCacheSettings->isActive()) {
 
 2229                        $b->setCaption(
'cache_flush');
 
 2230                        $b->setUrl(
'setup.php?cmd=flushCache');
 
 2231                        $ilToolbarGUI->addButtonInstance($b);
 
 2235                        require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerTableGUI.php');
 
 2237                        $b->setCaption(
'memcache_add');
 
 2238                        $b->setUrl(
'setup.php?cmd=addMemcacheServer');
 
 2239                        $ilToolbarGUI->addButtonInstance($b);
 
 2241                        $table_html = $ilMemcacheServerTableGUI->getHTML();
 
 2244                $this->tpl->setVariable(
'SETUP_CONTENT', $ilToolbarGUI->getHTML() . $cache_form->getHTML() . $table_html);
 
 2249                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2250                ilGlobalCache::flushAll();
 
 2256                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2259                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2264                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2267                $ilMemcacheServerFormGUI->setValuesByPost();
 
 2268                if ($ilMemcacheServerFormGUI->saveObject()) {
 
 2271                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2276                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2279                $ilMemcacheServerFormGUI->fillForm();
 
 2280                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2285                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2289                $ilMemcacheServerFormGUI->setValuesByPost();
 
 2290                if ($ilMemcacheServerFormGUI->saveObject()) {
 
 2293                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2298                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServer.php');
 
 2299                $ilMemcacheServer = ilMemcacheServer::find(
$_GET[
'mcsid']);
 
 2300                $ilMemcacheServer->delete();
 
 2305        public function saveCache() {
 
 2309                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2310                require_once(
'./Services/GlobalCache/classes/Settings/class.ilGlobalCacheSettings.php');
 
 2311                ilGlobalCache::flushAll();
 
 2312                $ini = $this->setup->getClient()->ini;
 
 2315                $ilGlobalCacheSettings->readFromIniFile(
$ini);
 
 2316                $service_type = 
$_POST[
'global_cache_service_type'];
 
 2317                $ilGlobalCacheSettings->setActive(($service_type >= 0) ? 
true : 
false);
 
 2318                $ilGlobalCacheSettings->setService($service_type);
 
 2319                $ilGlobalCacheSettings->resetActivatedComponents();
 
 2320                if (is_array(
$_POST[
'activate']) && count(
$_POST[
'activate']) > 0) {
 
 2321                        foreach (
$_POST[
'activate'] as $comp => $a) {
 
 2322                                if ($comp == 
'all') {
 
 2323                                        $ilGlobalCacheSettings->activateAll();
 
 2326                                $ilGlobalCacheSettings->addActivatedComponent($comp);
 
 2330                $ilGlobalCacheSettings->writeToIniFile(
$ini);
 
 2349                if (!$this->setup->getClient()->db_installed)
 
 2354                $this->setDbSubTabs(
"repl");
 
 2358                        $ilDB = $this->setup->getClient()->db;
 
 2359                        $this->lng->setDbHandler(
$ilDB);
 
 2369                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2383                $client = $this->setup->getClient();
 
 2385                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2390                $ne->setValue(
$lng->txt(
"db_".$ilDB->getDbType()));
 
 2391                $this->form->addItem($ne);
 
 2395                $act->setChecked(
$client->getDbSlaveActive());
 
 2396                $this->form->addItem($act);
 
 2400                $ti->setValue(
$client->getDbSlaveHost());
 
 2401                $ti->setMaxLength(120);
 
 2402                $ti->setRequired(
true);
 
 2403                $act->addSubItem($ti);
 
 2407                $ti->setValue(
$client->getDbSlaveName());
 
 2408                $ti->setRequired(
true);
 
 2409                $ti->setMaxLength(40);
 
 2410                $act->addSubItem($ti);
 
 2414                $ti->setValue(
$client->getDbSlaveUser());
 
 2415                $ti->setMaxLength(40);
 
 2416                $ti->setRequired(
true);
 
 2417                $act->addSubItem($ti);
 
 2421                $ti->setValue(
$client->getDbSlavePort());
 
 2422                $ti->setMaxLength(8);
 
 2423                $act->addSubItem($ti);
 
 2426                $set_pw = 
new ilCheckboxInputGUI($this->lng->txt(
"db_set_password"), 
"set_slave_password");
 
 2427                $act->addSubItem($set_pw);
 
 2431                $ti->setMaxLength(40);
 
 2432                $set_pw->addSubItem($ti);
 
 2434                $this->form->addCommandButton(
"saveDbSlave", 
$lng->txt(
"save"));
 
 2436                $this->form->setTitle(
$lng->txt(
"db_slave_settings"));
 
 2437                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 2447                $client = $this->setup->getClient();
 
 2449                $ilDB = $this->setup->getClient()->db;
 
 2450                $this->lng->setDbHandler(
$ilDB);
 
 2453                if ($this->form->checkInput())
 
 2455                        $client->setDbSlaveActive($this->form->getInput(
"slave_active"));
 
 2456                        if ($this->form->getInput(
"slave_active"))
 
 2458                                $client->setDbSlaveHost($this->form->getInput(
"slave_host"));
 
 2459                                $client->setDbSlaveUser($this->form->getInput(
"slave_user"));
 
 2460                                $client->setDbSlavePort($this->form->getInput(
"slave_port"));
 
 2461                                $client->setDbSlaveName($this->form->getInput(
"slave_name"));
 
 2462                                if ($this->form->getInput(
"set_slave_password"))
 
 2464                                        $client->setDbSlavePass($this->form->getInput(
"slave_pass"));
 
 2474                        $this->form->setValuesByPost();
 
 2490                if (
$ilDB->getDbType() == 
"mysql")
 
 2492                        $this->tabs->addSubTab(
"db", $this->lng->txt(
"db_master"), 
"setup.php?client_id=".$this->client_id.
"&cmd=db");
 
 2493                        $this->tabs->addSubTab(
"repl", $this->lng->txt(
"db_slave"), 
"setup.php?client_id=".$this->client_id.
"&cmd=dbslave");
 
 2496                $this->tabs->activateSubTab($a_subtab_id);
 
 2504        public function initClientDbForm($a_install = 
true, $dbupdate = 
null, $db_status = 
false, $hotfix_available = 
false, $custom_updates_available = 
false)
 
 2508                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2513                $this->form->addItem($ne);
 
 2516                if ($this->setup->getClient()->getDBSetup()->isDatabaseInstalled()
 
 2517                    && in_array($this->setup->getClient()->getDbType(), array(
 
 2523                        $ilDB = $this->setup->getClient()->db;
 
 2524                        $ne->setValue(
$ilDB->getDBVersion());
 
 2525                        $this->form->addItem($ne);
 
 2530                $this->form->addItem($ne);
 
 2534                $this->form->addItem($ne);
 
 2538                $this->form->addItem($ne);
 
 2542                $this->form->addItem($ne);
 
 2558                                        "utf8_icelandic_ci",
 
 2560                                        "utf8_lithuanian_ci",
 
 2566                                        "utf8_slovenian_ci",
 
 2572                                foreach($collations as $collation)
 
 2578                                $si->setInfo($this->lng->txt(
"info_text_db_collation2").
" ".
 
 2579                                        "<a target=\"_new\" href=\"http://dev.mysql.com/doc/mysql/en/charset-unicode-sets.html\">".
 
 2580                                        " MySQL Reference Manual :: 10.11.1 Unicode Character Sets</a>");
 
 2581                                $cb->addSubItem(
$si);
 
 2583                        $this->form->addItem($cb);
 
 2588                        $this->form->addCommandButton(
"installDatabase", 
$lng->txt(
"database_install"));
 
 2592                        $ilDB = $this->setup->getClient()->db;
 
 2593                        $this->lng->setDbHandler(
$ilDB);
 
 2598                        $ne->setValue($dbupdate->currentVersion);
 
 2599                        $this->form->addItem($ne);
 
 2603                        $ne->setValue($dbupdate->fileVersion);
 
 2604                        $this->form->addItem($ne);
 
 2606                        if (!$db_status = $dbupdate->getDBVersionStatus())
 
 2610                                for ($i = $dbupdate->currentVersion + 1; $i <= $dbupdate->fileVersion; $i++)
 
 2618                                        $si->setInfo(
$lng->txt(
"next_update_break_info"));
 
 2619                                        $this->form->addItem(
$si);
 
 2622                                if ($dbupdate->getRunningStatus() > 0)
 
 2624                                        ilUtil::sendFailure($this->lng->txt(
"db_update_interrupted").
" (Step ".$dbupdate->getRunningStatus().
") <br /><br />".
 
 2625                                                $this->lng->txt(
"db_update_interrupted_avoid"));
 
 2631                                $this->form->addCommandButton(
"updateDatabase", 
$lng->txt(
"database_update"));
 
 2632                                $this->form->addCommandButton(
"showUpdateSteps", 
$lng->txt(
"show_update_steps"));
 
 2634                        else if ($hotfix_available)
 
 2638                                $ne->setValue($dbupdate->getHotfixCurrentVersion());
 
 2639                                $this->form->addItem($ne);
 
 2643                                $ne->setValue($dbupdate->getHotfixFileVersion());
 
 2644                                $this->form->addItem($ne);
 
 2646                                $this->form->addCommandButton(
"applyHotfix", 
$lng->txt(
"apply_hotfixes"));
 
 2647                                $this->form->addCommandButton(
"showHotfixSteps", 
$lng->txt(
"show_update_steps"));
 
 2650                        elseif($custom_updates_available)
 
 2654                                $ne->setValue($dbupdate->getCustomUpdatesCurrentVersion());
 
 2655                                $this->form->addItem($ne);
 
 2659                                $ne->setValue($dbupdate->getCustomUpdatesFileVersion());
 
 2660                                $this->form->addItem($ne);
 
 2662                                $this->form->addCommandButton(
"applyCustomUpdates", 
$lng->txt(
"apply_custom_updates"));
 
 2667                                if ($dbupdate->getHotfixFileVersion() > 0)
 
 2671                                        $ne->setValue($dbupdate->getHotfixCurrentVersion());
 
 2672                                        $this->form->addItem($ne);
 
 2676                                        $ne->setValue($dbupdate->getHotfixFileVersion());
 
 2677                                        $this->form->addItem($ne);
 
 2679                                if ($dbupdate->getCustomUpdatesFileVersion() > 0)
 
 2683                                        $ne->setValue($dbupdate->getCustomUpdatesCurrentVersion());
 
 2684                                        $this->form->addItem($ne);
 
 2688                                        $ne->setValue($dbupdate->getCustomUpdatesFileVersion());
 
 2689                                        $this->form->addItem($ne);
 
 2695                $this->form->setTitle(
$lng->txt(
"database"));
 
 2696                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 2706                $values[
"db_host"] = $this->setup->getClient()->getDbHost();
 
 2707                $values[
"db_name"] = $this->setup->getClient()->getDbName();
 
 2708                $values[
"db_user"] = $this->setup->getClient()->getDbUser();
 
 2709                $values[
"db_port"] = $this->setup->getClient()->getDbPort();
 
 2711                if (is_object($dbupdate))
 
 2713                        $values[
"update_break"] = $dbupdate->fileVersion;
 
 2714                        if (($dbupdate->fileVersion - $dbupdate->currentVersion) >= 200)
 
 2716                                $values[
"update_break"] = $dbupdate->currentVersion + 200 -
 
 2717                                        ($dbupdate->currentVersion % 100);
 
 2721                $this->form->setValuesByArray($values);
 
 2736                if (!$this->setup->getClient()->getDBSetup()->isDatabaseExisting()) {
 
 2737                        if (
$_POST[
"chk_db_create"]) {
 
 2738                                if (!$this->setup->createDatabase(
$_POST[
"collation"])) {
 
 2739                                        echo 
"installation failed";
 
 2748                if (!$this->setup->installDatabase()) {
 
 2769                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2770                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 2771                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 2772                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 2773                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 2774                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 2775                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 2779                $ilDB = $this->setup->getClient()->db;
 
 2780                $this->lng->setDbHandler(
$ilDB);
 
 2784                $dbupdate->applyUpdate((
int) 
$_POST[
"update_break"]);
 
 2786                if ($dbupdate->updateMsg == 
"no_changes")
 
 2788                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 2793                        foreach ($dbupdate->updateMsg as 
$row)
 
 2795                                if (
$row[
"msg"] == 
"update_applied")
 
 2797                                        $a_message.= $sep.$row[
"nr"];
 
 2802                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 2805                        if ($a_message != 
"")
 
 2807                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 2843                if ($this->setup->getClient()->db_installed)
 
 2845                        $ilDB = $this->setup->getClient()->db;
 
 2846                        $this->lng->setDbHandler(
$ilDB);
 
 2848                        $db_status = $dbupdate->getDBVersionStatus();
 
 2849                        $hotfix_available = $dbupdate->hotfixAvailable();
 
 2850                        $custom_updates_available = $dbupdate->customUpdatesAvailable();
 
 2854                        $ntpl = 
new ilTemplate(
"tpl.setup_steps.html", 
true, 
true, 
"setup");
 
 2857                                $ntpl->setVariable(
"CONTENT", $dbupdate->getHotfixSteps());
 
 2861                                $ntpl->setVariable(
"CONTENT", $dbupdate->getUpdateSteps(
$_POST[
"update_break"]));
 
 2863                        $ntpl->setVariable(
"BACK", $this->lng->txt(
"back"));
 
 2864                        $ntpl->setVariable(
"HREF_BACK", 
"./setup.php?client_id=&cmd=db");
 
 2865                        $this->tpl->setVariable(
"SETUP_CONTENT", $ntpl->get());
 
 2883                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2884                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 2885                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 2886                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 2887                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 2888                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 2889                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 2892                $ilDB = $this->setup->getClient()->db;
 
 2893                $this->lng->setDbHandler(
$ilDB);
 
 2897                $dbupdate->applyHotfix();
 
 2899                if ($dbupdate->updateMsg == 
"no_changes")
 
 2901                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 2906                        foreach ($dbupdate->updateMsg as 
$row)
 
 2908                                if (
$row[
"msg"] == 
"update_applied")
 
 2910                                        $a_message.= $sep.$row[
"nr"];
 
 2915                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 2918                        if ($a_message != 
"")
 
 2920                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 2937                require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
 
 2941                if (!$this->setup->getClient()->db_installed)
 
 2944                        $message = 
"No database found! Please install database first.";
 
 2951                $settings = array();
 
 2953                foreach( $setting_fields as $field )
 
 2955                        if( $field == 
'session_allow_client_maintenance' )
 
 2958                                else                                                    $_POST[$field] = 
'0';
 
 2963                                $settings[$field] = 
$_POST[$field];
 
 2973                if(
$valid) $this->setup->setSessionSettings($settings);
 
 2975                $settings = $this->setup->getSessionSettings();
 
 2977                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2980                include_once 
'Services/Authentication/classes/class.ilSession.php';
 
 2991                $ssettings->addOption($fixed);
 
 2998                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_count'), 
"session_max_count");
 
 2999                $ti->setInfo($this->lng->txt(
'sess_max_session_count_info'));
 
 3000                $ti->setMaxLength(5);
 
 3002                $ti->setValue($settings[
'session_max_count']);
 
 3003                $ldsh->addSubItem($ti);
 
 3008                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_min_session_idle'), 
"session_min_idle");
 
 3009                $ti->setInfo($this->lng->txt(
'sess_min_session_idle_info'));
 
 3010                $ti->setMaxLength(5);
 
 3012                $ti->setValue($settings[
'session_min_idle']);
 
 3013                $ldsh->addSubItem($ti);
 
 3018                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_idle'), 
"session_max_idle");
 
 3019                $ti->setInfo($this->lng->txt(
'sess_max_session_idle_info'));
 
 3020                $ti->setMaxLength(5);
 
 3022                $ti->setValue($settings[
'session_max_idle']);
 
 3023                $ldsh->addSubItem($ti);
 
 3027                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_idle_after_first_request'), 
"session_max_idle_after_first_request");
 
 3028                $ti->setInfo($this->lng->txt(
'sess_max_session_idle_after_first_request_info'));
 
 3029                $ti->setMaxLength(5);
 
 3031                $ti->setValue($settings[
'session_max_idle_after_first_request']);
 
 3032                $ldsh->addSubItem($ti);
 
 3035                $ssettings->addOption($ldsh);
 
 3037                $form->addItem($ssettings);
 
 3041                $chkb = 
new ilCheckboxInputGUI($this->lng->txt(
'sess_allow_client_maintenance'), 
"session_allow_client_maintenance");
 
 3042                $chkb->setInfo($this->lng->txt(
'sess_allow_client_maintenance_info'));
 
 3043                $chkb->setChecked($settings[
'session_allow_client_maintenance'] ? 
true : 
false);
 
 3044                $form->addItem($chkb);
 
 3048                $form->addCommandButton(
"sess", $this->lng->txt(
'save'));
 
 3050                $form->setTitle($this->lng->txt(
"sess_sessions"));
 
 3051                $form->setFormAction(
'setup.php?client_id='.$this->client_id.
'&cmd=sess');
 
 3053                $this->tpl->setVariable(
"TXT_SETUP_TITLE",ucfirst(trim($this->lng->txt(
'sess_sessions'))));
 
 3054                $this->tpl->setVariable(
"TXT_INFO", 
'');
 
 3055                $this->tpl->setVariable(
"SETUP_CONTENT", $form->getHTML());
 
 3078                if (!$this->setup->getClient()->db_installed)
 
 3081                        $message = 
"No database found! Please install database first.";
 
 3085                include_once(
"./setup/classes/class.ilSetupLanguageTableGUI.php");
 
 3087                $this->tpl->setVariable(
"SETUP_CONTENT", 
$tab->getHTML());
 
 3089                $this->tpl->setVariable(
"TXT_SETUP_TITLE",ucfirst(trim($this->lng->txt(
"setup_languages"))));
 
 3090                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_lang"));
 
 3092                $installed_langs = $this->lng->getInstalledLanguages();
 
 3093                $lang_count = count($installed_langs);
 
 3094                if ($lang_count > 0)
 
 3096                        $this->setup->getClient()->status[
"lang"][
"status"] = 
true;
 
 3097                        $this->setup->getClient()->status[
"lang"][
"comment"] = $lang_count.
" ".$this->lng->txt(
"languages_installed");
 
 3101                        $this->setup->getClient()->status[
"lang"][
"status"] = 
false;
 
 3102                        $this->setup->getClient()->status[
"lang"][
"comment"] = $this->lng->txt(
"lang_none_installed");
 
 3105                $this->setButtonPrev(
"lang");
 
 3107                if ($lang_count > 0)
 
 3109                        $this->setButtonNext(
"contact");
 
 3123                if (empty(
$_POST[
"form"][
"lang_id"]))
 
 3129                if (!in_array(
$_POST[
"form"][
"lang_default"],
$_POST[
"form"][
"lang_id"]))
 
 3135                $result = $this->lng->installLanguages(
$_POST[
"form"][
"lang_id"], 
$_POST[
"form"][
"lang_local"]);
 
 3142                        foreach (
$result as $key => $lang_key)
 
 3144                                $list .= $this->lng->txt(
"lang_".$lang_key);
 
 3146                                if ($count > $key + 1)
 
 3153                $this->setup->getClient()->setDefaultLanguage(
$_POST[
"form"][
"lang_default"]);
 
 3154                $message = $this->lng->txt(
"languages_installed");
 
 3158                        $message .= 
"<br/>(".$this->lng->txt(
"langs_not_valid_not_installed").
": ".$list.
")";
 
 3174                $settings = $this->setup->getClient()->getAllSettings();
 
 3181                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 3182                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_contact"));
 
 3183                $this->setButtonPrev(
"lang");
 
 3185                $check = $this->setup->checkClientContact($this->setup->client);
 
 3187                $this->setup->getClient()->status[
"contact"][
"status"] = $check[
"status"];
 
 3188                $this->setup->getClient()->status[
"contact"][
"comment"] = $check[
"comment"];
 
 3190                if ($check[
"status"])
 
 3192                        $this->setButtonNext(
"proxy");
 
 3207                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3212                $ti->setMaxLength(64);
 
 3214                $ti->setRequired(
true);
 
 3215                $this->form->addItem($ti);
 
 3219                $ti->setMaxLength(64);
 
 3221                $this->form->addItem($ti);
 
 3225                $ti->setMaxLength(64);
 
 3227                $this->form->addItem($ti);
 
 3231                $sh->setTitle(
$lng->txt(
"contact_data"));
 
 3232                $this->form->addItem($sh);
 
 3236                $ti->setMaxLength(64);
 
 3238                $ti->setRequired(
true);
 
 3239                $this->form->addItem($ti);
 
 3243                $ti->setMaxLength(64);
 
 3245                $ti->setRequired(
true);
 
 3246                $this->form->addItem($ti);
 
 3249                        "title" => array(
"max" => 64, 
"size" => 30),
 
 3250                        "position" => array(
"max" => 64, 
"size" => 30),
 
 3251                        "institution" => array(
"max" => 200, 
"size" => 30),
 
 3252                        "street" => array(
"max" => 64, 
"size" => 30),
 
 3253                        "zipcode" => array(
"max" => 10, 
"size" => 5),
 
 3254                        "city" => array(
"max" => 64, 
"size" => 30),
 
 3255                        "country" => array(
"max" => 64, 
"size" => 30),
 
 3256                        "phone" => array(
"max" => 64, 
"size" => 30)
 
 3258                foreach ($fs as $f => $op)
 
 3262                        $ti->setMaxLength($op[
"max"]);
 
 3263                        $ti->setSize($op[
"size"]);
 
 3264                        $ti->setInfo(
$lng->txt(
""));
 
 3265                        $this->form->addItem($ti);
 
 3269                $ti = 
new ilEmailInputGUI(
$lng->txt(
"email"), 
"admin_email");
 
 3270                $ti->setRequired(
true);
 
 3271                $ti->allowRFC822(
true);
 
 3272                $this->form->addItem($ti);
 
 3286                $this->form->addCommandButton(
"saveContact", 
$lng->txt(
"save"));
 
 3288                $this->form->setTitle(
$lng->txt(
"client_data"));
 
 3289                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 3298                $settings = $this->setup->getClient()->getAllSettings();
 
 3300                $values = $settings;
 
 3302                $values[
"inst_name"] = ($this->setup->getClient()->getName())
 
 3303                        ? $this->setup->getClient()->getName()
 
 3304                        : $this->setup->getClient()->getId();
 
 3305                $values[
"inst_info"] = $this->setup->getClient()->getDescription();
 
 3307                $this->form->setValuesByArray($values);
 
 3318                if ($this->form->checkInput())
 
 3320                        $this->setup->getClient()->setSetting(
"admin_firstname", 
$_POST[
"admin_firstname"]);
 
 3321                        $this->setup->getClient()->setSetting(
"admin_lastname", 
$_POST[
"admin_lastname"]);
 
 3322                        $this->setup->getClient()->setSetting(
"admin_title", 
$_POST[
"admin_title"]);
 
 3323                        $this->setup->getClient()->setSetting(
"admin_position", 
$_POST[
"admin_position"]);
 
 3324                        $this->setup->getClient()->setSetting(
"admin_institution", 
$_POST[
"admin_institution"]);
 
 3325                        $this->setup->getClient()->setSetting(
"admin_street", 
$_POST[
"admin_street"]);
 
 3326                        $this->setup->getClient()->setSetting(
"admin_zipcode", 
$_POST[
"admin_zipcode"]);
 
 3327                        $this->setup->getClient()->setSetting(
"admin_city", 
$_POST[
"admin_city"]);
 
 3328                        $this->setup->getClient()->setSetting(
"admin_country", 
$_POST[
"admin_country"]);
 
 3329                        $this->setup->getClient()->setSetting(
"admin_phone", 
$_POST[
"admin_phone"]);
 
 3330                        $this->setup->getClient()->setSetting(
"admin_email", 
$_POST[
"admin_email"]);
 
 3331                        $this->setup->getClient()->setSetting(
"inst_institution", 
$_POST[
"inst_institution"]);
 
 3332                        $this->setup->getClient()->setSetting(
"inst_name", 
$_POST[
"inst_name"]);
 
 3337                        $this->setup->getClient()->setName(
$_POST[
"inst_name"]);
 
 3338                        $this->setup->getClient()->setDescription(
$_POST[
"inst_info"]);
 
 3339                        $this->setup->getClient()->ini->write();
 
 3345                $this->form->setValuesByPost();
 
 3359                $settings = $this->setup->getClient()->getAllSettings();
 
 3360                $nic_key = $this->setup->getClient()->getNICkey();
 
 3363                $settings = $this->setup->getClient()->getAllSettings();
 
 3365                if ($settings[
"nic_enabled"] == 
"1" && $settings[
"inst_id"] > 0)
 
 3367                        $this->no_second_nav = 
true;
 
 3368                        $this->tpl->setVariable(
"TXT_INFO",$this->lng->txt(
"info_text_nic3").
" ".$settings[
"inst_id"].
".");
 
 3373                        $settings = $this->setup->getClient()->getAllSettings();
 
 3375                        $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_nic"));
 
 3381                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 3383                        if (isset($settings[
"nic_enabled"]))
 
 3385                                $this->setup->getClient()->status[
"nic"][
"status"] = 
true;
 
 3390                $this->setButtonPrev(
"proxy");
 
 3392                if ($this->setup->getClient()->status[
"nic"][
"status"])
 
 3394                        $this->setButtonNext(
"finish",
"finish");
 
 3409                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3416                $radg->addOption($op1);
 
 3418                $radg->addOption($op1);
 
 3419                $this->form->addItem($radg);
 
 3421                $this->form->addCommandButton(
"saveRegistration", 
$lng->txt(
"save"));
 
 3422                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 3430                $settings = $this->setup->getClient()->getAllSettings();
 
 3431                $nic_key = $this->setup->getClient()->getNICkey();
 
 3436                if (!isset($settings[
"nic_enabled"]) or $settings[
"nic_enabled"] == 
"1")
 
 3438                        $values[
"register"] = 1;
 
 3446                        $values[
"register"] = 0;
 
 3449                $this->form->setValuesByArray($values);
 
 3460                if ($this->form->checkInput())
 
 3463                        if (
$_POST[
"register"] == 1)
 
 3466                                $this->setup->getClient()->updateNIC($this->setup->ilias_nic_server);
 
 3469                                if (empty($this->setup->getClient()->nic_status[2]))
 
 3471                                        $this->setup->getClient()->setSetting(
"nic_enabled",
"-1");
 
 3477                                        $this->setup->getClient()->setSetting(
"inst_id",$this->setup->getClient()->nic_status[2]);
 
 3478                                        $this->setup->getClient()->setSetting(
"nic_enabled",
"1");
 
 3479                                        $this->setup->getClient()->status[
"nic"][
"status"] = 
true;
 
 3503                                $this->setup->getClient()->setSetting(
"inst_id",
"0");
 
 3504                                $this->setup->getClient()->setSetting(
"nic_enabled",
"0");
 
 3510                $this->form->setValuesByPost();
 
 3533                $this->tpl->setVariable(
"SETUP_CONTENT",
 
 3534                        $ctrl_structure_form->getHTML() . 
"<br />" .
 
 3535                        $settings_type_form->getHTML().
'<br />'.
 
 3536                        $mp_ns_form->getHTML());
 
 3542                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3545                $form->setId(
'tree_impl');
 
 3546                $form->setTitle($this->lng->txt(
'tree_implementation'));
 
 3547                $form->setFormAction(
'setup.php?cmd=gateway');
 
 3551                #$options->setRequired(true); 
 3554                $type = ($set->get(
'main_tree_impl',
'ns') == 
'ns' ? 
'ns' : 
'mp');
 
 3559                $ns = 
new ilRadioOption($this->lng->txt(
'tree_implementation_ns'), 
'ns');
 
 3562                $mp = 
new ilRadioOption($this->lng->txt(
'tree_implementation_mp'),
'mp');
 
 3566                $form->addCommandButton(
'switchTree', $this->lng->txt(
'tree_implementation_switch_btn'));
 
 3567                $form->setShowTopButtons(
false);
 
 3576                $type = ($set->get(
'main_tree_impl',
'ns') == 
'ns' ? 
'ns' : 
'mp');
 
 3578                if($type == 
'ns' and 
$_POST[
'tree_impl_type'] == 
'mp')
 
 3581                        include_once 
'./Services/Tree/classes/class.ilMaterializedPathTree.php';
 
 3584                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'lft'));
 
 3585                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'path'));
 
 3586                        $GLOBALS[
'ilDB']->addIndex(
'tree',array(
'path'),
'i4');
 
 3588                        $set->set(
'main_tree_impl', 
'mp');
 
 3591                elseif($type == 
'mp' and 
$_POST[
'tree_impl_type'] == 
'ns')
 
 3593                        include_once 
'./Services/Tree/classes/class.ilTree.php';
 
 3595                        $GLOBALS[
"DIC"][
"ilSetting"] = 
function($c) {
 
 3601                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'lft'));
 
 3602                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'path'));
 
 3603                        $GLOBALS[
'ilDB']->addIndex(
'tree',array(
'lft'),
'i4');
 
 3605                        $set->set(
'main_tree_impl', 
'ns');
 
 3619                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3622                $form->setId(
"control_structure");
 
 3623                $form->setTitle($this->lng->txt(
"ctrl_structure"));
 
 3624                $form->setFormAction(
"setup.php?cmd=gateway");
 
 3626                $ilDB = $this->setup->getClient()->db;
 
 3627                $cset = 
$ilDB->query(
"SELECT count(*) as cnt FROM ctrl_calls");
 
 3628                $crec = 
$ilDB->fetchAssoc($cset);
 
 3631                if ($crec[
"cnt"] == 0)
 
 3633                        $item->setInfo($this->lng->txt(
"ctrl_missing_desc"));
 
 3637                        $item->setInfo($this->lng->txt(
"ctrl_structure_desc"));
 
 3639                $form->addItem($item);
 
 3641                $form->addCommandButton(
"reloadStructure", $this->lng->txt(
"reload"));
 
 3653                if (!$this->setup->getClient()->db_installed)
 
 3661                $GLOBALS[
"ilDB"] = $this->setup->getClient()->getDB();
 
 3662                $GLOBALS[
"DIC"][
"ilDB"] = 
function($c) {
 
 3667                require_once 
"./setup/classes/class.ilModuleReader.php";
 
 3668                require_once 
"./setup/classes/class.ilServiceReader.php";
 
 3669                require_once 
"./setup/classes/class.ilCtrlStructureReader.php";
 
 3671                require_once 
"./Services/Component/classes/class.ilModule.php";
 
 3672                require_once 
"./Services/Component/classes/class.ilService.php";
 
 3679                foreach($modules as $module)
 
 3681                        $mr = 
new ilModuleReader(ILIAS_ABSOLUTE_PATH.
"/Modules/".$module[
"subdir"].
"/module.xml",
 
 3682                                $module[
"subdir"], 
"Modules");
 
 3690                foreach($services as $service)
 
 3692                        $sr = 
new ilServiceReader(ILIAS_ABSOLUTE_PATH.
"/Services/".$service[
"subdir"].
"/service.xml",
 
 3693                                $service[
"subdir"], 
"Services");
 
 3711                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3714                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3717                $form->setId(
"settings_type");
 
 3718                $form->setTitle($this->lng->txt(
"settings_type"));
 
 3719                $form->setFormAction(
"setup.php?cmd=gateway");
 
 3722                $item->setValue(strtoupper($type));
 
 3724                if ($type == 
"clob")
 
 3726                        $item->setInfo($this->lng->txt(
'settings_info_clob'));
 
 3727            $form->addCommandButton(
"showLongerSettings", $this->lng->txt(
"settings_show_longer"));
 
 3728            $form->addCommandButton(
"changeSettingsType", $this->lng->txt(
"settings_change_text"));
 
 3732                        $item->setInfo($this->lng->txt(
'settings_info_text'));
 
 3733                $form->addCommandButton(
"changeSettingsType", $this->lng->txt(
"settings_change_clob"));
 
 3735                $form->addItem($item);
 
 3737                if (is_array($this->longer_settings))
 
 3741                        if (count($this->longer_settings))
 
 3743                    foreach ($this->longer_settings as 
$row)
 
 3746                                        $subitem->setInfo(
$row[
'value']);
 
 3747                                        $item->addSubItem($subitem);
 
 3752                    $item->setHTML($this->lng->txt(
'settings_no_longer_values'));
 
 3754                        $form->addItem($item);
 
 3766                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3769                if ($old_type == 
"clob")
 
 3772                        if (count($longer_settings))
 
 3774                    $this->longer_settings = $longer_settings;
 
 3802                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3812                require_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
 3813                $form = new \ilPropertyFormGUI();
 
 3814                $form->setTitle($this->lng->txt(
'change_password'));
 
 3816                $currentPassword = new \ilPasswordInputGUI($this->lng->txt(
'set_oldpasswd'), 
'pass_old');
 
 3817                $currentPassword->setDisableHtmlAutoComplete(
true);
 
 3818                $currentPassword->setValidateAuthPost(
false);
 
 3819                $currentPassword->setSkipSyntaxCheck(
true);
 
 3820                $currentPassword->setRequired(
true);
 
 3821                $currentPassword->setRetype(
false);
 
 3822                $form->addItem($currentPassword);
 
 3824                $newPassword = new \ilPasswordInputGUI($this->lng->txt(
'set_newpasswd'), 
'pass');
 
 3825                $newPassword->setDisableHtmlAutoComplete(
true);
 
 3826                $newPassword->setValidateAuthPost(
false);
 
 3827                $newPassword->setSkipSyntaxCheck(
true);
 
 3828                $newPassword->setRequired(
true);
 
 3829                $newPassword->setRetype(
true);
 
 3830                $form->addItem($newPassword);
 
 3832                $form->setFormAction(
'setup.php?cmd=gateway');
 
 3833                $form->addCommandButton(
'savemasterpassword', $this->lng->txt(
'save'));
 
 3844                $isValid = $form->checkInput();
 
 3845                $form->setValuesByPost();
 
 3851                $cp = $form->getInput(
'pass_old');
 
 3852                $np = $form->getInput(
'pass');
 
 3854                if (md5($cp) != $this->setup->getPassword()) {
 
 3859                if (!$this->setup->setPassword($np)) {
 
 3874                if (
null === $form) {
 
 3878                $this->tpl->addBlockFile(
'CONTENT', 
'content', 
'tpl.std_layout.html', 
'setup');
 
 3879                $this->tpl->setVariable(
'TXT_HEADER', $this->lng->txt(
'password_new_master'));
 
 3880                $this->tpl->setVariable(
'TXT_INFO', $this->lng->txt(
'info_text_password'));
 
 3881                $this->tpl->setVariable(
'SETUP_CONTENT', $form->getHTML());
 
 3890                $this->no_second_nav = 
true;
 
 3894                        $txt_info = $this->lng->txt(
"info_text_finish1").
"<br /><br />".
 
 3895                                "<p>".$this->lng->txt(
"user").
": <b>root</b><br />".
 
 3896                                $this->lng->txt(
"password").
": <b>homer</b></p>";
 
 3897                        $this->setButtonNext(
"login_new",
"login");
 
 3899                        $this->setup->getClient()->reconnect();         
 
 3902                        $this->setup->getClient()->setSetting(
"setup_ok",1);
 
 3905                        $this->setup->getClient()->status[
"finish"][
"status"] = 
true;
 
 3910                        $txt_info = $this->lng->txt(
"info_text_finish2");
 
 3915                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.clientsetup_finish.html", 
"setup");
 
 3916                $this->tpl->setVariable(
"TXT_INFO",$txt_info);
 
 3918                $this->setButtonPrev(
"nic");
 
 3932                if (
$_POST[
"form"][
"delete"])
 
 3958                        $msg = $this->setup->getClient()->delete(
$ini,$db,
$files);
 
 3964                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_delete"));
 
 3967                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.form_delete_client.html", 
"setup");
 
 3970                $this->tpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
 3971                $this->tpl->setVariable(
"TXT_DELETE", $this->lng->txt(
"delete"));
 
 3972                $this->tpl->setVariable(
"TXT_DELETE_CONFIRM", $this->lng->txt(
"delete_confirm"));
 
 3973                $this->tpl->setVariable(
"TXT_DELETE_INFO", $this->lng->txt(
"delete_info"));
 
 3985                if ($this->setup->getClient()->status[
"finish"][
"status"])
 
 3987                        $val = ($this->setup->getClient()->ini->readVariable(
"client",
"access")) ? 
"0" : 
true;
 
 3988                        $this->setup->getClient()->ini->setVariable(
"client",
"access",$val);
 
 3989                        $this->setup->getClient()->ini->write();
 
 3990                        $message = 
"client_access_mode_changed";
 
 3994                        $message = 
"client_setup_not_finished";
 
 4017                        $status = $this->setup->getStatus(
$client);
 
 4019                        if ($status[
"finish"][
"status"])
 
 4021                                $this->setup->ini->setVariable(
"clients",
"default",
$client->getId());
 
 4022                                $this->setup->ini->write();
 
 4023                                $message = 
"default_client_changed";
 
 4027                                $message = 
"client_setup_not_finished";
 
 4042                foreach ($this->setup->getClient()->status as $key => $val)
 
 4044                        if ($key != 
"finish" and $key != 
"access")
 
 4046                                if ($val[
"status"] != 
true)
 
 4054                $clientlist = 
new ilClientList($this->setup->db_connections);
 
 4056                $list = $clientlist->getClients();
 
 4058                if (count($list) == 1)
 
 4060                        $this->setup->ini->setVariable(
"clients",
"default",$this->setup->getClient()->getId());
 
 4061                        $this->setup->ini->write();
 
 4063                        $this->setup->getClient()->ini->setVariable(
"client",
"access",1);
 
 4064                        $this->setup->getClient()->ini->write();
 
 4075                if (!$this->setup->getClient()->status[
"db"][
"status"])
 
 4081                elseif (!$this->setup->getClient()->status[
"lang"][
"status"])
 
 4083                        $this->cmd = 
"lang";
 
 4087                elseif (!$this->setup->getClient()->status[
"contact"][
"status"])
 
 4089                        $this->cmd = 
"contact";
 
 4093                elseif(!$this->setup->getClient()->status[
'proxy'][
'status'])
 
 4095                        $this->cmd = 
"proxy";
 
 4099                elseif (!$this->setup->getClient()->status[
"nic"][
"status"])
 
 4105                elseif (!$this->setup->getClient()->status[
"finish"][
"status"])
 
 4107                        $this->cmd = 
"finish";
 
 4122                if ($this->setup->ini->readVariable(
"clients",
"list"))
 
 4124                        $this->setup->ini->setVariable(
"clients",
"list",
"0");
 
 4125                        $this->setup->ini->write();
 
 4130                        $this->setup->ini->setVariable(
"clients",
"list",
"1");
 
 4131                        $this->setup->ini->write();
 
 4148                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 4149                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 4150                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 4151                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 4152                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 4153                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 4154                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 4157                $ilDB = $this->setup->getClient()->db;
 
 4158                $this->lng->setDbHandler(
$ilDB);
 
 4162                $dbupdate->applyCustomUpdates();
 
 4164                if ($dbupdate->updateMsg == 
"no_changes")
 
 4166                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 4171                        foreach ($dbupdate->updateMsg as 
$row)
 
 4173                                if (
$row[
"msg"] == 
"update_applied")
 
 4175                                        $a_message.= $sep.$row[
"nr"];
 
 4180                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 4183                        if ($a_message != 
"")
 
 4185                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 4202                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 4205                $this->form->setId(
"clone_form");
 
 4206                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 4208                if ($this->setup->getClient()->status[
"access"][
"status"] === 
false and stripos($this->setup->getClient()->getName(),
"master") === 
false and $this->setup->getClient()->getdbType() == 
"mysql" and $this->setup->getClient()->db_exists )
 
 4210                        $this->form->setTitle($this->lng->txt(
"clone_source"));
 
 4212                        $clientlist = 
new ilClientList($this->setup->db_connections);
 
 4213                        $list = $clientlist->getClients();
 
 4214                        $clientlistarray = array();
 
 4216                        foreach ($list as $key => 
$client){
 
 4217                                if ((strcmp($key, $this->setup->getClient()->getId()) != 
'0') && (
$client->getDbType() == 
'mysql')) {  
 
 4224                        $si->setOptions(array_merge(
 
 4225                                array(
"" => 
"-- ".
$lng->txt(
"please_select").
" --"),
 
 4227                        $si->setRequired(
true);
 
 4228                        $this->form->addItem(
$si);
 
 4231                        $cb->setRequired(
true);
 
 4232                        $this->form->addItem($cb);
 
 4234                        $this->form->addCommandButton(
"cloneSaveSource", 
$lng->txt(
"cloneit"));
 
 4236                        $disabledmessage = 
"<h1>" . $this->lng->txt(
"clone_disabledmessage") .
"</h1><br>";
 
 4237                        if (!$this->setup->getClient()->status[
"access"][
"status"] === 
false) {
 
 4238                                $disabledmessage .= $this->lng->txt(
"clone_clientnotdisabled") . 
"<br>";
 
 4240                        if (!stripos($this->setup->getClient()->getName(),
"aster") === 
false) {
 
 4241                                $disabledmessage .= $this->lng->txt(
"clone_clientismaster") . 
"<br>";
 
 4243                        if ($this->setup->getClient()->getdbType() != 
"mysql") {
 
 4244                                $disabledmessage .= $this->lng->txt(
"clone_clientisnotmysql") . 
"<br>";
 
 4246                        if (!$this->setup->getClient()->db_exists) {
 
 4247                                $disabledmessage .= $this->lng->txt(
"clone_clientnodatabase") . 
"<br>";
 
 4249                        $this->form->setTitle($disabledmessage);
 
 4255                if (!$this->setup->isAdmin())
 
 4261                $this->form->setValuesByPost();
 
 4262                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_clone"));
 
 4263                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4270                if (!$this->setup->isAdmin())
 
 4277                if ($this->form->checkInput())
 
 4281                        if ($this->form->getInput(
"iamsure") != 
"1") {
 
 4282                                $error = $this->lng->txt(
'clone_youmustcheckiamsure');
 
 4285                        if (!$this->setup->cloneFromSource($this->form->getInput(
"source"))) {
 
 4286                                $error = $this->lng->txt(
'clone_error') . 
' -> ' . $this->setup->error;
 
 4289                        if (0 === strlen(
$error)) {
 
 4295                $this->form->setValuesByPost();
 
 4296                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_clone"));
 
 4297                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4303                $settings = $this->setup->getClient()->getAllSettings();
 
 4307                        include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 4309                        $this->form->setValuesByArray(array(
 
 4310                                'proxy_status' => (
bool)$settings[
'proxy_status'],
 
 4311                                'proxy_host' => $settings[
'proxy_host'],
 
 4312                                'proxy_port' => $settings[
'proxy_port']
 
 4314                        if((
bool)$settings[
'proxy_status'])
 
 4316                                $this->setup->printProxyStatus($this->setup->client);
 
 4319                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4320                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_proxy"));
 
 4323                $check = $this->setup->checkClientProxySettings($this->setup->client);
 
 4325                $this->setup->getClient()->status[
"proxy"][
"status"] = $check[
"status"];
 
 4326                $this->setup->getClient()->status[
"proxy"][
"comment"] = $check[
"comment"];
 
 4327                $this->setup->getClient()->status[
"proxy"][
"text"] = $check[
"comment"];
 
 4329                if ($check[
"status"])
 
 4331                        $this->setButtonNext(
"nic");
 
 4334                $this->setButtonPrev(
"contact");
 
 4341                include_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
 
 4343                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 4347                $proxs->setInfo(
$lng->txt(
'proxy_status_info'));
 
 4348                $proxs->setValue(1);
 
 4349                $this->form->addItem($proxs);
 
 4353                $proxs->addSubItem($proxa);
 
 4357                $prox->setInfo(
$lng->txt(
'proxy_host_info'));
 
 4358                $proxs->addSubItem($prox);
 
 4362                $proxp->setInfo(
$lng->txt(
'proxy_port_info'));
 
 4363                $proxp->setSize(10);
 
 4364                $proxp->setMaxLength(10);
 
 4365                $proxs->addSubItem($proxp);
 
 4368                $this->form->addCommandButton(
'saveProxy', 
$lng->txt(
'save'));
 
 4383                $isFormValid = $this->form->checkInput();
 
 4385                $new_settings[
'proxy_status'] = (int)$this->form->getInput(
'proxy_status');
 
 4386                $new_settings[
'proxy_host'] = trim($this->form->getInput(
'proxy_host'));
 
 4387                $new_settings[
'proxy_port'] = trim($this->form->getInput(
'proxy_port'));
 
 4391                        if($new_settings[
'proxy_status'] == 
true)
 
 4393                                if(!strlen($new_settings[
'proxy_host']))
 
 4395                                        $isFormValid = 
false;
 
 4396                                        $this->form->getItemByPostVar(
'proxy_host')->setAlert(
$lng->txt(
'msg_input_is_required'));
 
 4398                                if(!strlen($new_settings[
'proxy_port']))
 
 4400                                        $isFormValid = 
false;
 
 4401                                        $this->form->getItemByPostVar(
'proxy_port')->setAlert(
$lng->txt(
'msg_input_is_required'));
 
 4403                                if(!preg_match(
'/[0-9]{1,}/', $new_settings[
'proxy_port']) ||
 
 4404                                        $new_settings[
'proxy_port'] < 0 ||
 
 4405                                        $new_settings[
'proxy_port'] > 65535)
 
 4407                                        $isFormValid = 
false;
 
 4408                                        $this->form->getItemByPostVar(
'proxy_port')->setAlert(
$lng->txt(
'proxy_port_numeric'));
 
 4414                                $this->setup->saveProxySettings($new_settings);
 
 4417                                $settings = $this->setup->getClient()->getAllSettings();
 
 4418                                if($settings[
'proxy_status'] == 
true)
 
 4420                                        $this->setup->printProxyStatus($this->setup->client);
 
 4429                $this->form->setValuesByPost();
 
 4430                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static _getShortTimeZoneList()
get short timezone list
static getAvailableTypes($with_descriptions=true)
static getInstallableTypes()
Class ilGlobalCacheSettings.
static getAllTypes($only_available=true)
static getAvailableComponents()
static createFromParentReleation()
Class ilMemcacheServerTableGUI.
static getAvailableCoreModules()
Get all available core modules.
This class represents a non editable value in a property form.
This class represents an option in a radio group.
static getAvailableCoreServices()
Get all available core services.
static getSettingFields()
returns the array of setting fields
const SESSION_HANDLING_LOAD_DEPENDENT
const SESSION_HANDLING_FIXED
static _getLongerSettings($a_limit='4000')
get a list of setting records with values loger than a limit
static _getValueType()
Get the type of the value column in the database.
static _changeValueType($a_new_type='text')
change the type of the value column in the database
checkDisplayMode($a_title="")
determine display mode and load according html layout
displayMasterSetup($a_omit_init=false)
display master setup form & process form input
applyHotfix()
Apply hotfixes.
initControlStructureForm()
Init the form to reload the control structure.
displayClientList()
display client list and process form input
initSettingsTypeForm()
Init the form to change the settings value type.
cmdInstall()
process valid commands for pre-installation status
displayError($a_message)
display error page
displayContactData($a_omit_init=false)
display contact data form and process form input
installDatabase()
Install the database.
initTreeImplementationForm()
displayClientOverview()
display client overview panel
loginClient()
login to a client
displayFinishSetup()
display finish setup page
initMasterLoginForm()
Init master login form.
saveProxy()
Save proxy settings.
setDisplayMode($a_mode)
set display mode to 'view' or 'setup' 'setup' -> show status panel and (prev/next) navigation buttons...
showUpdateSteps($a_hotfix=false)
Update database.
reloadControlStructure()
reload control structure
getMasterPasswordForm()
return \ilPropertyFormGUI
displayDeleteConfirmation()
display delete client confirmation form and process form input
getContactValues()
Get current values for contact from.
displayNavButtons()
display navigation buttons
getBasicSettingsValues()
Get current values for basic settings from.
displayTools()
display tools
displaySubTabs()
Show subtabs.
displayIni($a_omit_form_init=false)
display setup in step
displayHeader()
display header with admin links and language flags
updateDatabase()
Update database.
performMLogin()
Master Login.
displayProcessPanel()
display process panel
changeMasterPassword(\ilPropertyFormGUI $form=null)
display change password form and process form input
validateSetup()
validatesetup status again and set access mode of the first client to online
initDBSelectionForm()
Init db selection form.
displayStartup()
display intro page for the first client installation
jumpToFirstUnfinishedSetupStep()
if setting up a client was not finished, jump back to the first uncompleted setup step
initRegistrationForm($a_mode="edit")
Init registration form.
__construct()
Constructor.
setDbSubtabs($a_subtab_id="db")
Set db subtabs.
saveLanguages()
Save languages.
initDbSlaveForm()
Init db slave form.
saveRegistration()
Save registration form.
initClientLoginForm()
Init client login form.
initContactDataForm()
Init contact data form.
SetButtonPrev($a_cmd=0, $a_lng=0)
set previous navigation button
displayPreliminaries()
display preliminaries page
changeSettingsType()
change the type of the value field in settings table
showHotfixSteps()
Show hotfix steps.
getClientIniValues()
Get current values for client ini from.
selectDBType()
Select database type.
saveContact()
Save contact form.
getRegistrationValues()
Get current values for registration from.
displayStatusPanel()
display status panel
determineToolsPathInstall()
Determine tools paths.
changeAccessMode($a_back)
enable/disable access to a client
saveBasicSettings()
Save basic settings form.
saveDbSlave()
Save db slave form.
changeDefaultClient()
set defualt client
saveClientIni()
Save client ini form.
SetButtonNext($a_cmd, $a_lng=0)
set next navigation button
updateBasicSettings()
Update basic settings form.
initClientDbForm($a_install=true, $dbupdate=null, $db_status=false, $hotfix_available=false, $custom_updates_available=false)
Init client db form.
displayNIC($a_omit_init=false)
display nic registration form and process form input
initClientIniForm()
Init client ini form.
determineToolsPath()
Determine tools paths.
displaySessions()
display sessions form and process form input
initBasicSettingsForm($a_install=false)
Init basic settings form.
displayDatabase()
display database form and process form input
displayLanguages()
display language form and process form input
toggleClientList()
enable/disable client list on index page
showLongerSettings()
show a list of setting values that are loger than 4000 characters
cloneInitForm()
Initialize clone form.
displayLogin($a_omit_minit=false, $a_omit_cinit=false)
display login form and process form
cmdClient()
process valid commands for all clients
determineTools($a_tools=array())
Determine Tools.
displayLogout()
display logout page
displayDatabaseSlave($a_from_save=false)
Display database slave.
initClientOverviewForm()
Init client overview form.
checkPanelMode()
determine display mode and load correct panel
displayProxy($a_omit_init=false)
getClientDbFormValues($dbupdate=null)
Get current values for client db from.
cmdAdmin()
process valid commands for admins
changeMasterSettings($a_omit_init=false)
display master settings and process form input
displayFooter()
page output and set title
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static init($a_tpl=null)
Init.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static isWindows()
check wether the current client system is a windows system
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static initDomEvent()
Init YUI DomEvent.
static initjQuery($a_tpl=null)
Init jQuery.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
if(!is_array($argv)) $options
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']