4require_once 
"./setup/classes/class.ilSetup.php";
 
   47                include_once(
"./Services/UIComponent/Tabs/classes/class.ilTabsGUI.php");
 
   49                $this->tabs->setSetupMode(
true);
 
   51                include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
 
   53                include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
 
   56                $tpl->addJavaScript(
"./Services/JavaScript/js/Basic.js", 0);
 
   58                include_once(
"./Services/UICore/classes/class.ilUIFramework.php");
 
   62                $this->revision = 
'$Revision$';
 
   63                $this->version = 
"2 ".substr(substr($this->revision,1),0,-2);
 
   64                $this->lang = $this->lng->lang_key;
 
   71                if (
$_POST[
"client_id"] != 
"")
 
   91                $this->setup->ini_client_exists = $this->setup->newClient(
$client_id);
 
   92                if (is_object($this->setup->getClient()))
 
   94                        $this->setup->getClient()->status = $this->setup->getStatus(
$client_id);
 
   98                if (($this->cmd = 
$_GET[
"cmd"]) == 
"gateway")
 
  101                        @$this->cmd = key(
$_POST[
"cmd"]);
 
  107                if ($this->setup->isAuthenticated() and !$this->setup->getClient()->status[
"finish"][
"status"] and $this->cmd != 
"clientlist" and $this->cmd != 
"")
 
  120                if (!$this->setup->isAuthenticated() or !$this->setup->isInstalled())
 
  123                        if (!$this->setup->isInstalled() or !($this->setup->ini->readVariable(
"clients",
"path")))
 
  129                                if ($this->cmd == 
"performLogin" || $this->cmd == 
"performMLogin")
 
  142                        if ($this->setup->isAdmin())
 
  157                        echo 
"cmd: ".$this->cmd.
" | access: ".$this->setup->access_mode.
" | display: ".
$this->display_mode;
 
  158                        var_dump($this->setup->getClient()->status);
 
  179                        case "preliminaries":
 
  180                                $this->setup->checkPreliminaries();
 
  188                        case "determineToolsPathInstall":
 
  192                        case "saveBasicSettings":
 
  197                                $this->
displayError($this->lng->txt(
"unknown_command").
": '".$this->cmd.
"'");
 
  215                                $this->active_tab = 
"clientlist";
 
  218                        case "changepassword":
 
  221                                $this->active_tab = 
"password";
 
  224                        case "mastersettings":
 
  227                                $this->active_tab = 
"basicsettings";
 
  230                        case "determineToolsPath":
 
  235                        case "changedefault":
 
  240                                $this->cmd = 
"selectdb";
 
  242                                $this->setup->ini_client_exists = $this->setup->newClient();
 
  256                                $this->setup->ini_client_exists = $this->setup->newClient();
 
  270                        case "preliminaries":
 
  271                                $this->setup->checkPreliminaries();
 
  273                                $this->active_tab = 
"preliminaries";
 
  276                        case "updateBasicSettings":
 
  278                        case "performMLogin":
 
  298                                if ($this->setup->getClient()->db_installed)
 
  332                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"sess" and $this->setup->error === 
true)
 
  343                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"lang" and $this->setup->error === 
true)
 
  354                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"contact")
 
  365                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"proxy")
 
  376                                $this->displayCache();
 
  381                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"nic")
 
  392                                if (!isset(
$_GET[
"lang"]) and !$this->setup->getClient()->status[
"finish"][
"status"] and 
$_GET[
"cmd"] == 
"finish")
 
  412                                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
  416                                if ($this->setup->getClient()->ini->readVariable(
"client",
"access") != 
"1")
 
  418                                        $this->setup->getClient()->ini->setVariable(
"client",
"access",
"1");
 
  419                                        $this->setup->getClient()->ini->write();
 
  423                                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
  430                        case "reloadStructure":
 
  438                        case "saveClientIni":
 
  439                        case "installDatabase":
 
  440                        case "displayDatabase":
 
  441                        case "updateDatabase":
 
  442                        case "showUpdateSteps":
 
  443                        case "saveLanguages":
 
  445                        case "displayContactData":
 
  447                        case "saveRegistration":
 
  449                        case "showHotfixSteps":
 
  450                        case "applyCustomUpdates":
 
  451                        case "changeSettingsType":
 
  452                        case "showLongerSettings":
 
  453                        case "cloneSelectSource":
 
  454                        case "cloneSaveSource":
 
  456                        case "displayPassword":
 
  460                        case "addMemcacheServer":
 
  461                        case "deleteMemcacheServer":
 
  462                        case "editMemcacheServer":
 
  463                        case "createMemcacheServer":
 
  464                        case "updateMemcacheServer":
 
  471                                $this->
displayError($this->lng->txt(
"unknown_command").
": '".$this->cmd.
"'");
 
  493                if ($a_mode != 
"view" and $a_mode != 
"setup")
 
  498                $this->display_mode = $a_mode;
 
  509                $languages = $this->lng->getLanguages();
 
  511                $count = (int) round(count($languages) / 2);
 
  515                foreach ($languages as $lang_key)
 
  523                        $this->tpl->setCurrentBlock(
"languages");
 
  524                        $this->tpl->setVariable(
"LINK_LANG", 
"./setup.php?cmd=".$this->cmd.
"&lang=".$lang_key);
 
  525                        $this->tpl->setVariable(
"LANG_NAME", $this->lng->txt(
"meta_l_".$lang_key));
 
  526                        $this->tpl->setVariable(
"LANG_ICON", $lang_key);
 
  527                        $this->tpl->setVariable(
"LANG_KEY", $lang_key);
 
  528                        $this->tpl->setVariable(
"BORDER", 0);
 
  529                        $this->tpl->setVariable(
"VSPACE", 0);
 
  530                        $this->tpl->parseCurrentBlock();
 
  535                if (count($languages) % 2)
 
  537                        $this->tpl->touchBlock(
"lng_empty_cell");
 
  540                if ($this->cmd != 
"logout" and $this->setup->isInstalled() and $this->setup->isAuthenticated())
 
  543                        if ($this->setup->isAdmin())
 
  545                                if ($this->display_mode == 
"view" or $this->cmd == 
"clientlist" or $this->cmd == 
"changepassword" or $this->cmd == 
"mastersettings")
 
  547                                        $this->tpl->setCurrentBlock(
"add_client");
 
  548                                        $this->tpl->setVariable(
"TXT_ADD_CLIENT",ucfirst($this->lng->txt(
"new_client")));
 
  549                                        $this->tpl->parseCurrentBlock();
 
  553                                $class = ($this->active_tab == 
"clientlist")
 
  556                                $this->tpl->setCurrentBlock(
"display_list");
 
  557                                $this->tpl->setVariable(
"TXT_LIST",ucfirst($this->lng->txt(
"list_clients")));
 
  558                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  559                                $this->tpl->parseCurrentBlock();
 
  562                                $class = ($this->active_tab == 
"basicsettings")
 
  565                                $this->tpl->setCurrentBlock(
"edit_pathes");
 
  566                                $this->tpl->setVariable(
"TXT_EDIT_PATHES",$this->lng->txt(
"basic_settings"));
 
  567                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  568                                $this->tpl->parseCurrentBlock();
 
  571                                $class = ($this->active_tab == 
"preliminaries")
 
  574                                $this->tpl->setCurrentBlock(
"preliminaries");
 
  575                                $this->tpl->setVariable(
"TXT_PRELIMINARIES",$this->lng->txt(
"preliminaries"));
 
  576                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  577                                $this->tpl->parseCurrentBlock();
 
  580                                $class = ($this->active_tab == 
"password")
 
  583                                $this->tpl->setCurrentBlock(
"change_password");
 
  584                                $this->tpl->setVariable(
"TXT_CHANGE_PASSWORD",ucfirst($this->lng->txt(
"password")));
 
  585                                $this->tpl->setVariable(
"TAB_CLASS", $class);
 
  586                                $this->tpl->parseCurrentBlock();
 
  590                        if ($this->setup->isAuthenticated())
 
  592                                $this->tpl->setCurrentBlock(
"logout");
 
  593                                $this->tpl->setVariable(
"TXT_LOGOUT",$this->lng->txt(
"logout"));
 
  594                                $this->tpl->parseCurrentBlock();
 
  598                $this->tpl->setVariable(
"VAL_CMD", htmlspecialchars(
$_GET[
"cmd"]));
 
  599                $this->tpl->setVariable(
"TXT_OK",$this->lng->txt(
"change"));
 
  600                $this->tpl->setVariable(
"TXT_CHOOSE_LANGUAGE",$this->lng->txt(
"choose_language"));
 
  601                $this->tpl->setVariable(
"PAGETITLE",
"Setup");
 
  603                $this->tpl->setVariable(
"LOCATION_STYLESHEET",
"../templates/default/delos.css");
 
  604                $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
"./css/setup.css");
 
  605                $this->tpl->setVariable(
"TXT_ILIAS_VERSION", 
"ILIAS ".
ILIAS_VERSION);
 
  606                $this->tpl->setVariable(
"TXT_SETUP",$this->lng->txt(
"setup"));
 
  607                $this->tpl->setVariable(
"VERSION", $this->version);
 
  608                $this->tpl->setVariable(
"TXT_VERSION", $this->lng->txt(
"version"));
 
  609                $this->tpl->setVariable(
"LANG", $this->lang);
 
  618                if ($this->cmd != 
"logout")
 
  620                        if ($this->setup->ini_ilias_exists and $this->display_mode == 
"setup" and $this->setup->getClient()->getId() != 
"")
 
  622                                $this->tpl->setVariable(
"TXT_ACCESS_MODE",
"(".$this->lng->txt(
"client_id").
": ".$this->setup->getClient()->getId().
")");
 
  624                        elseif ($this->setup->isAdmin())
 
  626                                $this->tpl->setVariable(
"TXT_ACCESS_MODE",
"(".$this->lng->txt(
"root_access").
")");
 
  642                if (!$this->btn_prev_on and !$this->btn_next_on)
 
  647                $ntpl = 
new ilTemplate(
"tpl.navbuttons.html", 
true, 
true, 
"setup");
 
  650                $ntpl->setVariable(
"FORMACTION_BUTTONS",
"setup.php?cmd=gateway");
 
  652                if ($this->btn_prev_on)
 
  654                        $ntpl->setCurrentBlock(
"btn_back");
 
  655                        $ntpl->setVariable(
"TXT_PREV", $this->btn_prev_lng);
 
  656                        $ntpl->setVariable(
"CMD_PREV", $this->btn_prev_cmd);
 
  657                        $ntpl->parseCurrentBlock();
 
  660                if ($this->btn_next_on)
 
  662                        $ntpl->setCurrentBlock(
"btn_forward");
 
  663                        $ntpl->setVariable(
"TXT_NEXT", $this->btn_next_lng);
 
  664                        $ntpl->setVariable(
"CMD_NEXT", $this->btn_next_cmd);
 
  665                        $ntpl->parseCurrentBlock();
 
  668                $nav_html = $ntpl->get();
 
  669                $this->tpl->setVariable(
"NAVBUTTONS", $nav_html);
 
  670                if (!$this->no_second_nav)
 
  672                        $this->tpl->setVariable(
"NAVBUTTONS2", $nav_html);
 
  685                $this->btn_prev_on = 
true;
 
  686                $this->btn_prev_cmd = ($a_cmd) ? $a_cmd : 
"gateway";
 
  687                $this->btn_prev_lng = ($a_lng) ? $this->lng->txt($a_lng) : $this->lng->txt(
"prev");
 
  698                $this->btn_next_on = 
true;
 
  699                $this->btn_next_cmd = ($a_cmd) ? $a_cmd : 
"gateway";
 
  700                $this->btn_next_lng = ($a_lng) ? $this->lng->txt($a_lng) : $this->lng->txt(
"next");
 
  715                $btpl = 
new ilTemplate(
"tpl.buttons.html", 
true, 
true, 
"setup");
 
  716                $btpl->setCurrentBlock(
"btn");
 
  717                $btpl->setVariable(
"CMD", 
"changeaccess");
 
  718                $access_button = ($this->setup->getClient()->status[
"access"][
"status"]) ? 
"disable" : 
"enable";
 
  719                $btpl->setVariable(
"TXT", $this->lng->txt($access_button));
 
  720                $btpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
  721                $btpl->parseCurrentBlock();
 
  722                $this->tpl->setVariable(
"BUTTONS", $btpl->get());
 
  725                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
  737                $settings = $this->setup->getClient()->getAllSettings();
 
  739                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  742                $this->form->setTitle(
$lng->txt(
"client_info"));
 
  746                $ne->setValue(($this->setup->getClient()->getName())
 
  747                        ? $this->setup->getClient()->getName()
 
  748                        : 
"<".$this->lng->txt(
"no_client_name").
">");
 
  749                $ne->setInfo($this->setup->getClient()->getDescription());
 
  750                $this->form->addItem($ne);
 
  754                $ne->setValue($this->setup->getClient()->getId());
 
  755                $this->form->addItem($ne);
 
  759                $ne->setValue(($this->setup->getClient()->db_installed)
 
  760                        ? $settings[
"inst_id"]
 
  762                $this->form->addItem($ne);
 
  766                $ne->setValue(($this->setup->getClient()->db_installed)
 
  767                        ? $settings[
"db_version"]
 
  769                $this->form->addItem($ne);
 
  774                $access_status = ($this->setup->getClient()->status[
"access"][
"status"]) ? 
"online" : 
"disabled";
 
  775                $ne->setValue($this->lng->txt($access_status).$access_link);
 
  776                $this->form->addItem($ne);
 
  780                $sh->setTitle($this->lng->txt(
"server_info"));
 
  781                $this->form->addItem($sh);
 
  786                $this->form->addItem($ne);
 
  790                $ne->setValue(
$_SERVER[
"SERVER_NAME"]);
 
  791                $this->form->addItem($ne);
 
  797                $this->form->addItem($ne);
 
  801                $ne->setValue(
$_SERVER[
"SERVER_SOFTWARE"]);
 
  802                $this->form->addItem($ne);
 
  806                $ne->setValue(ILIAS_HTTP_PATH);
 
  807                $this->form->addItem($ne);
 
  812                $this->form->addItem($ne);
 
  816                $sh->setTitle($this->lng->txt(
"3rd_party_software"));
 
  817                $this->form->addItem($sh);
 
  819                $tools = array(
"convert", 
"zip", 
"unzip", 
"ghostscript", 
"java", 
"htmldoc", 
"ffmpeg");
 
  821                foreach ($tools as $tool)
 
  825                        $p = $this->setup->ini->readVariable(
"tools", $tool);
 
  826                        $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  827                        $this->form->addItem($ne);
 
  832                $p = $this->setup->ini->readVariable(
"tools", 
"latex"); 
 
  833                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  834                $this->form->addItem($ne);
 
  838                $ne->setValue($this->setup->ini->readVariable(
"tools",
"vscantype"));
 
  839                $this->form->addItem($ne);
 
  843                $p = $this->setup->ini->readVariable(
"tools",
"scancommand");
 
  844                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  845                $this->form->addItem($ne);
 
  849                $p = $this->setup->ini->readVariable(
"tools",
"cleancommand");
 
  850                $ne->setValue($p ? $p : $this->lng->txt(
"not_configured"));
 
  851                $this->form->addItem($ne);
 
  853                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
  865                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
  866                $FAILED = 
"<strong><font color=\"red\">FAILED</font></strong>";
 
  868                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.preliminaries.html", 
"setup");
 
  870                $this->tpl->setVariable(
"TXT_SETUP_TITLE",$this->lng->txt(
"ilias_setup"));
 
  871                $this->tpl->setVariable(
"TXT_SETUP_WELCOME", $this->lng->txt(
"setup_welcome"));
 
  872                $this->tpl->setVariable(
"TXT_SETUP_INIFILE_DESC", $this->lng->txt(
"setup_inifile_desc"));
 
  873                $this->tpl->setVariable(
"TXT_SETUP_DATABASE_DESC", $this->lng->txt(
"setup_database_desc"));
 
  874                $this->tpl->setVariable(
"TXT_SETUP_LANGUAGES_DESC", $this->lng->txt(
"setup_languages_desc"));
 
  875                $this->tpl->setVariable(
"TXT_SETUP_PASSWORD_DESC", $this->lng->txt(
"setup_password_desc"));
 
  876                $this->tpl->setVariable(
"TXT_SETUP_NIC_DESC", $this->lng->txt(
"setup_nic_desc"));
 
  878                $server_os = php_uname();
 
  879                $server_web = 
$_SERVER[
"SERVER_SOFTWARE"];
 
  880                $environment = $this->lng->txt(
"env_using").
" ".$server_os.
" <br/>".$this->lng->txt(
"with").
" ".$server_web;
 
  882                if ((stristr($server_os,
"linux") || stristr($server_os,
"windows")) && stristr($server_web,
"apache"))
 
  884                        $env_comment = $this->lng->txt(
"env_ok");
 
  888                        $env_comment = 
"<font color=\"red\">".$this->lng->txt(
"env_warning").
"</font>";
 
  891                $this->tpl->setVariable(
"TXT_ENV_TITLE", $this->lng->txt(
"environment"));
 
  892                $this->tpl->setVariable(
"TXT_ENV_INTRO", $environment);
 
  893                $this->tpl->setVariable(
"TXT_ENV_COMMENT", $env_comment);
 
  895                $this->tpl->setVariable(
"TXT_PRE_TITLE", $this->lng->txt(
"preliminaries"));
 
  896                $this->tpl->setVariable(
"TXT_PRE_INTRO", $this->lng->txt(
"pre_intro"));
 
  898                $preliminaries = array(
"php", 
"root", 
"folder_create",
 
  899                        "cookies_enabled", 
"dom", 
"xsl", 
"gd", 
"memory");
 
  900                if ($this->setup->hasOpCacheEnabled()) {
 
  901                        $preliminaries[] = 
'load_comments';
 
  904                foreach ($preliminaries as $preliminary)
 
  906                        $this->tpl->setCurrentBlock(
"preliminary");
 
  907                        $this->tpl->setVariable(
"TXT_PRE", $this->lng->txt(
"pre_".$preliminary));
 
  908                        if ($this->setup->preliminaries_result[$preliminary][
"status"] == 
true)
 
  910                                $this->tpl->setVariable(
"STATUS_PRE", $OK);
 
  914                                $this->tpl->setVariable(
"STATUS_PRE", $FAILED);
 
  916                        $this->tpl->setVariable(
"COMMENT_PRE", $this->setup->preliminaries_result[$preliminary][
"comment"]);
 
  917                        $this->tpl->parseCurrentBlock();
 
  921                if ($this->setup->preliminaries === 
true)
 
  923                        if ($this->setup->isInstalled())
 
  925                                $cmd = 
"mastersettings";
 
  931                        $btn_text = ($this->cmd == 
"preliminaries") ? 
"" : 
"installation";
 
  933                        $this->setButtonNext(
$cmd,$btn_text);
 
  937                        $this->tpl->setCurrentBlock(
"premessage");
 
  938                        $this->tpl->setVariable(
"TXT_PRE_ERR", sprintf($this->lng->txt(
"pre_error"),
 
  939                                "http://www.ilias.de/docu/goto.php?target=pg_6531_367&client_id=docu"));
 
  940                        $this->tpl->parseCurrentBlock();
 
  953                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
  954                $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"basic_settings"));
 
  955                $this->tpl->setVariable(
"TXT_INFO",
 
  956                        $this->lng->txt(
"info_text_first_install").
"<br/>".$this->lng->txt(
"info_text_pathes"));
 
  958                $this->setButtonPrev(
"preliminaries");
 
  960                if ($this->setup->isInstalled())
 
  962                        $this->setButtonNext(
"list");
 
  969                $this->tpl->setVariable(
"SETUP_CONTENT", 
"<br>".$this->form->getHTML().
"<br>");
 
  977                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
  978                $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"basic_settings"));
 
  979                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_pathes"));
 
  981                $this->btn_next_on = 
true;
 
  982                $this->btn_next_lng = $this->lng->txt(
"create_new_client").
"...";
 
  983                $this->btn_next_cmd = 
"newclient";
 
  990                $this->tpl->setVariable(
"SETUP_CONTENT", 
"<br>".$this->form->getHTML().
"<br>");
 
 1000                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1007                        $ne->setInfo($this->lng->txt(
"data_directory_in_ws_info"));
 
 1010                        ? str_replace(
"\\", 
"/", getcwd())
 
 1013                $ne->setValue($cwd.
"/data");
 
 1014                $this->form->addItem($ne);
 
 1020                        $ti->setInfo(
$lng->txt(
"data_directory_info"));
 
 1021                        $ti->setRequired(
true);
 
 1022                        $this->form->addItem($ti);
 
 1027                        $this->form->addItem($ne);
 
 1037                $sh->setTitle(
$lng->txt(
"logging"));
 
 1038                $this->form->addItem($sh);
 
 1042                $ti->setInfo(
$lng->txt(
"log_path_comment".$lvext));
 
 1043                $this->form->addItem($ti);
 
 1047                $this->form->addItem($cb);
 
 1051                $sh->setTitle(
$lng->txt(
"server_settings"));
 
 1052                $this->form->addItem($sh);
 
 1055                include_once(
"./Services/Calendar/classes/class.ilCalendarUtil.php");
 
 1057                $si->setOptions(array_merge(
 
 1058                        array(
"" => 
"-- ".
$lng->txt(
"please_select").
" --"),
 
 1060                $si->setRequired(
true);
 
 1061                $this->form->addItem(
$si);
 
 1065                $sh->setTitle(
$lng->txt(
"https_settings"));
 
 1066                $this->form->addItem($sh);
 
 1069                $check->setOptionTitle(
$lng->txt(
'ps_auto_https_description'));
 
 1070                $check->setValue(1);
 
 1074                $text->setMaxLength(64);
 
 1075                $text->setRequired(
true);
 
 1076                $check->addSubItem(
$text);
 
 1080                $text->setMaxLength(64);
 
 1081                $text->setRequired(
true);
 
 1082                $check->addSubItem(
$text);
 
 1084                $this->form->addItem($check);
 
 1088                $sh->setTitle(
$lng->txt(
"3rd_party_software_req"));
 
 1089                $this->form->addItem($sh);
 
 1093                $ti->setInfo(
$lng->txt(
"convert_path_comment".$lvext));
 
 1094                $ti->setRequired(
true);
 
 1095                $this->form->addItem($ti);
 
 1099                $ti->setInfo(
$lng->txt(
"zip_path_comment".$lvext));
 
 1100                $ti->setRequired(
true);
 
 1101                $this->form->addItem($ti);
 
 1105                $ti->setInfo(
$lng->txt(
"unzip_path_comment".$lvext));
 
 1106                $ti->setRequired(
true);
 
 1107                $this->form->addItem($ti);
 
 1111                $sh->setTitle(
$lng->txt(
"3rd_party_software_opt"));
 
 1112                $this->form->addItem($sh);
 
 1116                $ti->setInfo(
$lng->txt(
"ghostscript_path_comment".$lvext));
 
 1117                $this->form->addItem($ti);
 
 1121                $ti->setInfo(
$lng->txt(
"java_path_comment".$lvext));
 
 1122                $this->form->addItem($ti);
 
 1126                $ti->setInfo(
$lng->txt(
"htmldoc_path_comment".$lvext));
 
 1127                $this->form->addItem($ti);
 
 1131                $ti->setInfo(
$lng->txt(
"ffmpeg_path_comment"));
 
 1132                $this->form->addItem($ti);
 
 1136                $ti->setInfo(
$lng->txt(
"latex_url_comment"));
 
 1137                $this->form->addItem($ti);
 
 1141                        "none" => 
$lng->txt(
"none"),
 
 1142                        "sophos" => 
$lng->txt(
"sophos"),
 
 1143                        "antivir" => 
$lng->txt(
"antivir"),
 
 1144                        "clamav" => 
$lng->txt(
"clamav")
 
 1148                $this->form->addItem(
$si);
 
 1152                $this->form->addItem($ti);
 
 1156                $this->form->addItem($ti);
 
 1161                        $sh->setTitle(
$lng->txt(
"master_password"));
 
 1162                        $this->form->addItem($sh);
 
 1166                        $pi->setRequired(
true);
 
 1167                        $pi->setSkipSyntaxCheck(
true);
 
 1168                        $pi->setInfo(
$lng->txt(
"password_info"));
 
 1169                        $this->form->addItem($pi);
 
 1174                        $this->form->addCommandButton(
"saveBasicSettings", 
$lng->txt(
"save"));
 
 1178                        $this->form->addCommandButton(
"updateBasicSettings", 
$lng->txt(
"save"));
 
 1179                        $this->form->addCommandButton(
"determineToolsPath", 
$lng->txt(
"determine_tools_paths"));
 
 1182                $this->form->setTitle(
$lng->txt(
"data_directories"));
 
 1183                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1188                        $this->form->setValuesByArray($det);
 
 1200                $values[
"webspace_dir"] = getcwd().
"/data";
 
 1201                $values[
"data_dir"] = $this->setup->ini->readVariable(
"clients",
"datadir");
 
 1202                $values[
"convert_path"] = $this->setup->ini->readVariable(
"tools",
"convert");
 
 1203                $values[
"zip_path"] = $this->setup->ini->readVariable(
"tools",
"zip");
 
 1204                $values[
"unzip_path"] = $this->setup->ini->readVariable(
"tools",
"unzip");
 
 1205                $values[
"ghostscript_path"] = $this->setup->ini->readVariable(
"tools",
"ghostscript");
 
 1206                $values[
"java_path"] = $this->setup->ini->readVariable(
"tools",
"java");
 
 1207                $values[
"htmldoc_path"] = $this->setup->ini->readVariable(
"tools",
"htmldoc");
 
 1209                $values[
"ffmpeg_path"] = $this->setup->ini->readVariable(
"tools",
"ffmpeg");
 
 1210                $values[
"latex_url"] = $this->setup->ini->readVariable(
"tools",
"latex");
 
 1211                $values[
"fop_path"] = $this->setup->ini->readVariable(
"tools",
"fop");
 
 1212                $values[
"vscanner_type"] = $this->setup->ini->readVariable(
"tools", 
"vscantype");
 
 1213                $values[
"scan_command"] = $this->setup->ini->readVariable(
"tools", 
"scancommand");
 
 1214                $values[
"clean_command"] = $this->setup->ini->readVariable(
"tools", 
"cleancommand");
 
 1215                $values[
"log_path"] = $this->setup->ini->readVariable(
"log",
"path").
"/".
 
 1216                        $this->setup->ini->readVariable(
"log",
"file");
 
 1217                $values[
"chk_log_status"] = !$this->setup->ini->readVariable(
"log",
"enabled");
 
 1218                $values[
"time_zone"] = $this->setup->ini->readVariable(
"server", 
"timezone");
 
 1221                $values[
"auto_https_detect_enabled"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_enabled");
 
 1222                $values[
"auto_https_detect_header_name"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_header_name");
 
 1223                $values[
"auto_https_detect_header_value"] = $this->setup->ini->readVariable(
"https", 
"auto_https_detect_header_value");
 
 1225                $this->form->setValuesByArray($values);
 
 1237                if ($this->form->checkInput())
 
 1242                                $fs = array(
"datadir_path", 
"log_path", 
"convert_path", 
"zip_path",
 
 1243                                        "unzip_path", 
"ghostscript_path", 
"java_path", 
"htmldoc_path", 
"ffmpeg_path");
 
 1252                        if (!$this->setup->checkDataDirSetup(
$_POST))
 
 1254                                $i = $this->form->getItemByPostVar(
"datadir_path");
 
 1255                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1258                        else if (!$this->setup->checkLogSetup(
$_POST))
 
 1260                                $i = $this->form->getItemByPostVar(
"log_path");
 
 1261                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1264                        else if (!$this->setup->checkPasswordSetup(
$_POST))
 
 1268                        else if (!$this->setup->saveMasterSetup(
$_POST))
 
 1279                $this->form->setValuesByPost();
 
 1292                if ($this->form->checkInput())
 
 1296                                $fs = array(
"datadir_path", 
"log_path", 
"convert_path", 
"zip_path",
 
 1297                                        "unzip_path", 
"ghostscript_path", 
"java_path", 
"htmldoc_path", 
"ffmpeg_path");
 
 1304                        if (!$this->setup->checkLogSetup(
$_POST))
 
 1306                                $i = $this->form->getItemByPostVar(
"log_path");
 
 1307                                $i->setAlert($this->lng->txt($this->setup->getError()));
 
 1310                        else if (!$this->setup->updateMasterSettings(
$_POST))
 
 1321                $this->form->setValuesByPost();
 
 1336                ilUtil::redirect(ILIAS_HTTP_PATH.
"/login.php?client_id=".$this->setup->getClient()->getId());
 
 1345                $this->tpl->setVariable(
"SETUP_LOGIN_CLASS", 
" ilSetupLogin");
 
 1346                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
 1350                        $m_form = $this->form->getHTML();
 
 1356                $cl_form = $this->form->getHTML();
 
 1360                        $m_form = $this->form->getHTML();
 
 1362                $this->tpl->setVariable(
"SETUP_CONTENT", $cl_form.
"<br>".$m_form);
 
 1363                $this->tpl->setVariable(
"TXT_HEADER", 
$lng->txt(
"login"));
 
 1372                if ($this->form->checkInput())
 
 1374                        $i = $this->form->getItemByPostVar(
"mpassword");
 
 1375                        if (!$this->setup->loginAsAdmin(
$_POST[
"mpassword"]))
 
 1377                                $i->setAlert($this->lng->txt(
"login_invalid"));
 
 1387                $this->form->setValuesByPost();
 
 1397                if ($this->form->checkInput())
 
 1399                        $i = $this->form->getItemByPostVar(
"password");
 
 1400                        if (!$this->setup->loginAsClient(
 
 1401                                array(
"client_id" => 
$_POST[
"client_id"],
 
 1402                                "username" => 
$_POST[
"username"], 
"password" => 
$_POST[
"password"])))
 
 1404                                $i->setAlert($this->setup->getError());
 
 1414                $this->form->setValuesByPost();
 
 1425                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1427                $this->form->setId(
"client_login");
 
 1431                $ti->setMaxLength(32);
 
 1433                $this->form->addItem($ti);
 
 1438                $this->form->addItem($ti);
 
 1443                $pi->setRetype(
false);
 
 1444                $pi->setSkipSyntaxCheck(
true);
 
 1445                $this->form->addItem($pi);
 
 1447                $this->form->addCommandButton(
"performLogin", 
$lng->txt(
"login"));
 
 1449                $this->form->setTitle(
$lng->txt(
"client_login"));
 
 1450                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1460                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1462                $this->form->setId(
"master_login");             
 
 1466                $pi->setRetype(
false);
 
 1467                $pi->setSkipSyntaxCheck(
true);
 
 1468                $this->form->addItem($pi);
 
 1470                $this->form->addCommandButton(
"performMLogin", 
$lng->txt(
"login"));
 
 1472                $this->form->setTitle(
$lng->txt(
"admin_login"));
 
 1473                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1488                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientlist.html", 
"setup");
 
 1489                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_list"));
 
 1493                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"list_clients"));
 
 1494                $this->tpl->setVariable(
"TXT_LISTSTATUS",($this->setup->ini->readVariable(
"clients",
"list")) ? $this->lng->txt(
"display_clientlist") : $this->lng->txt(
"hide_clientlist"));
 
 1495                $this->tpl->setVariable(
"TXT_TOGGLELIST",($this->setup->ini->readVariable(
"clients",
"list")) ? $this->lng->txt(
"disable") : $this->lng->txt(
"enable"));
 
 1497                include_once(
"./setup/classes/class.ilClientListTableGUI.php");
 
 1499                $this->tpl->setVariable(
"CLIENT_LIST", 
$tab->getHTML());
 
 1502                $this->btn_next_on = 
true;
 
 1503                $this->btn_next_lng = $this->lng->txt(
"create_new_client").
"...";
 
 1504                $this->btn_next_cmd = 
"newclient";
 
 1530                        ? str_replace(
"\\", 
"/", getcwd())
 
 1534                        $tools = array(
"convert" => 
"convert",
 
 1535                                "zip" => 
"zip", 
"unzip" => 
"unzip", 
"ghostscript" => 
"gs",
 
 1536                                "java" => 
"java",  
"htmldoc" => 
"htmldoc", 
"ffmpeg" => 
"ffmpeg");
 
 1537                        $dirs = array(
"/usr/local", 
"/usr/local/bin", 
"/usr/bin", 
"/bin", 
"/sw/bin", 
"/usr/bin");
 
 1541                        $tools = array(
"convert" => 
"convert.exe",
 
 1542                                "zip" => 
"zip.exe", 
"unzip" => 
"unzip.exe");
 
 1543                        $dirs = array($cwd.
"/Services/Windows/bin32/zip",
 
 1544                                $cwd.
"/Services/Windows/bin32/unzip",
 
 1545                                $cwd.
"/Services/Windows/bin32/convert");
 
 1547                foreach($tools as $k => $tool)
 
 1551                        @exec(
"which ".$tool, 
$ret);
 
 1552                        if (substr(
$ret[0], 0, 3) != 
"no " && substr(
$ret[0], 0, 1) == 
"/")
 
 1554                                $a_tools[$k.
"_path"] = 
$ret[0];
 
 1559                        foreach(
$dirs as $dir)
 
 1561                                if (@is_file($dir.
"/".$tool))
 
 1563                                        $a_tools[$k.
"_path"] = $dir.
"/".$tool;
 
 1589                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 1595                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.clientsetup_select_db.html", 
"setup");
 
 1597                $this->tpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
 1598                $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
 
 1600                $this->tpl->setVariable(
"TXT_DB_TYPE", $this->lng->txt(
"db_type"));
 
 1601                $this->tpl->setVariable(
"TXT_DB_SELECTION", $this->lng->txt(
"db_selection"));
 
 1603                if ($this->setup->getClient()->status[
"ini"][
"status"])
 
 1605                        $this->setButtonNext(
"db");
 
 1618                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1623                        "mysql" => 
"MySQL 5.0.x or higher (MyISAM engine)",
 
 1624                        "innodb" => 
"MySQL 5.0.x or higher (InnoDB engine)",
 
 1625                        "oracle" => 
"Oracle 10g or higher",
 
 1626                        "postgres" => 
"Postgres (experimental)" 
 1631                $this->form->addItem(
$si);
 
 1633                $this->form->addCommandButton(
"selectdbtype", 
$lng->txt(
"save"));
 
 1635                $this->form->setTitle(
$lng->txt(
"db_selection"));
 
 1636                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1650                if (
$_POST[
"db_type"] != 
"")
 
 1659                $has_ini = $this->setup->getClient()->status[
"ini"][
"status"];
 
 1664                        $_SESSION[
"db_type"] = $this->setup->getClient()->getDbType();
 
 1667                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_ini"));
 
 1668                if (!$a_omit_form_init)
 
 1673                $this->tpl->setVariable(
"SETUP_CONTENT",
 
 1674                        $this->form->getHTML());
 
 1678                        $this->setButtonNext(
"db");
 
 1691                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1695                if ($this->setup->ini_client_exists)
 
 1698                        $hi->setValue($this->client_id);
 
 1699                        $this->form->addItem($hi);
 
 1702                        $ne->setValue($this->client_id);
 
 1703                        $this->form->addItem($ne);
 
 1708                        $ti->setMaxLength(32);
 
 1709                        $ti->setRequired(
true);
 
 1710                        $this->form->addItem($ti);
 
 1715                $sh->setTitle(
$lng->txt(
"db_conn"));
 
 1716                $this->form->addItem($sh);
 
 1720                $ne->setValue(
$lng->txt(
"db_".$_SESSION[
"db_type"]));
 
 1721                $this->form->addItem($ne);
 
 1725                $ti->setMaxLength(120);
 
 1726                $ti->setRequired(
true);
 
 1727                $this->form->addItem($ti);
 
 1730                if (in_array(
$_SESSION[
"db_type"], array(
"mysql", 
"postgres", 
"innodb")))
 
 1733                        $ti->setRequired(
true);
 
 1739                $ti->setMaxLength(40);
 
 1740                $this->form->addItem($ti);
 
 1744                $ti->setMaxLength(40);
 
 1745                $ti->setRequired(
true);
 
 1746                $this->form->addItem($ti);
 
 1750                $ti->setMaxLength(8);
 
 1751                $this->form->addItem($ti);
 
 1755                $ti->setMaxLength(40);
 
 1756                $this->form->addItem($ti);
 
 1758                $this->form->addCommandButton(
"saveClientIni", 
$lng->txt(
"save"));
 
 1760                $this->form->setTitle(
$lng->txt(
"inst_identification"));
 
 1761                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 1771                $values[
"db_host"] = $this->setup->getClient()->getDbHost();
 
 1772                $values[
"db_user"] = $this->setup->getClient()->getDbUser();
 
 1773                $values[
"db_port"] = $this->setup->getClient()->getDbPort();
 
 1774                $values[
"db_pass"] = $this->setup->getClient()->getDbPass();
 
 1775                $values[
"db_name"] = $this->setup->getClient()->getDbName();
 
 1776                $values[
"client_id"] = $this->setup->getClient()->getId();
 
 1778                $this->form->setValuesByArray($values);
 
 1789                if ($this->form->checkInput())
 
 1791                        if (strlen(
$_POST[
"client_id"]) != strlen(urlencode((
$_POST[
"client_id"])))
 
 1792                                || is_int(strpos(
$_POST[
"client_id"], 
"_")))
 
 1794                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1795                                $i->setAlert($this->lng->txt(
"ini_client_id_invalid"));
 
 1798                        else if (strlen(
$_POST[
"client_id"]) < 4)
 
 1800                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1801                                $i->setAlert($this->lng->txt(
"ini_client_id_too_short"));
 
 1804                        else if (strlen(
$_POST[
"client_id"]) > 32)
 
 1806                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1807                                $i->setAlert($this->lng->txt(
"ini_client_id_too_long"));
 
 1812                                $i = $this->form->getItemByPostVar(
"client_id");
 
 1813                                $i->setAlert($this->lng->txt(
"ini_client_id_exists"));
 
 1820                                $old_db_name = $this->setup->getClient()->getDbName();
 
 1821                                $old_db_type = $this->setup->getClient()->getDbType();
 
 1822                                $old_client_id = $this->setup->getClient()->getId();
 
 1825                                if (!$this->setup->ini_client_exists)
 
 1832                                $this->setup->getClient()->setId(
$_POST[
"client_id"]);
 
 1833                                $this->setup->getClient()->setDbHost(
$_POST[
"db_host"]);
 
 1834                                $this->setup->getClient()->setDbName(
$_POST[
"db_name"]);
 
 1835                                $this->setup->getClient()->setDbUser(
$_POST[
"db_user"]);
 
 1836                                $this->setup->getClient()->setDbPort(
$_POST[
"db_port"]);
 
 1837                                $this->setup->getClient()->setDbPass(
$_POST[
"db_pass"]);
 
 1838                                $this->setup->getClient()->setDbType(
$_SESSION[
"db_type"]);
 
 1839                                $this->setup->getClient()->setDSN();
 
 1842                                if (!$this->setup->getClient()->checkDatabaseHost())
 
 1844                                        $i = $this->form->getItemByPostVar(
"db_host");
 
 1845                                        $i->setAlert($this->lng->txt($this->setup->getClient()->getError()));
 
 1851                                        $db_installed = $this->setup->getClient()->checkDatabaseExists();
 
 1853                                        if ($db_installed and (!$this->setup->ini_ilias_exists or ($this->setup->getClient()->getDbName() != $old_db_name)))
 
 1855                                                $_POST[
"db_name"] = $old_db_name;
 
 1856                                                $message = ucfirst($this->lng->txt(
"database")).
" \"".$this->setup->getClient()->getDbName().
"\" ".$this->lng->txt(
"ini_db_name_exists");
 
 1857                                                $i = $this->form->getItemByPostVar(
"db_name");
 
 1858                                                $i->setAlert($message);
 
 1864                                                if (!$this->setup->ini_client_exists)
 
 1866                                                        if ($this->setup->saveNewClient())
 
 1869                                                                $this->setup->getClient()->status[
"ini"][
"status"] = 
true;
 
 1875                                                                $err = $this->setup->getError();
 
 1877                                                                $this->setup->getClient()->status[
"ini"][
"status"] = 
false;
 
 1878                                                                $this->setup->getClient()->status[
"ini"][
"comment"] = $err;
 
 1883                                                        if ($this->setup->getClient()->ini->write())
 
 1886                                                                $this->setup->getClient()->status[
"ini"][
"status"] = 
true;
 
 1891                                                                $err = $this->setup->getClient()->ini->getError();
 
 1893                                                                $this->setup->getClient()->status[
"ini"][
"status"] = 
false;
 
 1894                                                                $this->setup->getClient()->status[
"ini"][
"comment"] = $err;
 
 1902                $this->form->setValuesByPost();
 
 1915                $this->tpl->addBlockFile(
"CONTENT", 
"content", 
"tpl.error.html", 
"setup");
 
 1917                $this->tpl->setCurrentBlock(
"content");
 
 1918                $this->tpl->setVariable(
"FORMACTION", 
$_SESSION[
"referer"]);
 
 1919                $this->tpl->setVariable(
"TXT_BACK", $this->lng->txt(
"back"));
 
 1920                $this->tpl->setVariable(
"ERROR_MESSAGE", ($a_message));
 
 1921                $this->tpl->parseCurrentBlock();
 
 1932                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.logout.html", 
"setup");
 
 1936                $this->logged_out = 
true;
 
 1937                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"logged_out"));
 
 1938                $this->tpl->setCurrentBlock(
"home_link");
 
 1939                $this->tpl->setVariable(
"TXT_INDEX",$this->lng->txt(
"ilias_homepage"));
 
 1940                $this->tpl->setVariable(
"LNK_INDEX",ILIAS_HTTP_PATH.
"/index.php");
 
 1941                $this->tpl->parseCurrentBlock();
 
 1949                include_once(
"./Services/UIComponent/Checklist/classes/class.ilChecklistGUI.php");
 
 1951                $checklist->setHeading($this->lng->txt(
"setup_process_status"));
 
 1954                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
 1956                $steps = $this->setup->getStatus();
 
 1959                $first = array(
"selectdb" => array(
 
 1960                        "status" => ((
bool)
$_SESSION[
"db_type"] || (
bool)
$steps[
"ini"][
"status"]),
 
 1961                        "text" => $this->lng->txt(
"db_selection"),
 
 1970                $steps[
"ini"][
"text"] = $this->lng->txt(
"setup_process_step_ini");
 
 1971                $steps[
"db"][
"text"]  = $this->lng->txt(
"setup_process_step_db");
 
 1973                $steps[
"lang"][
"text"]    = $this->lng->txt(
"setup_process_step_lang");
 
 1974                $steps[
"contact"][
"text"] = $this->lng->txt(
"setup_process_step_contact");
 
 1975                $steps[
"proxy"][
"text"]   = $this->lng->txt(
"setup_process_step_proxy");
 
 1976                $steps[
"nic"][
"text"]     = $this->lng->txt(
"setup_process_step_nic");
 
 1977                $steps[
"finish"][
"text"]  = $this->lng->txt(
"setup_process_step_finish");
 
 1979                $stpl = 
new ilTemplate(
"tpl.process_panel.html", 
true, 
true, 
"setup");
 
 1983                foreach (
$steps as $key => $val)
 
 1985                        $stpl->setCurrentBlock(
"menu_row");
 
 1986                        $stpl->setVariable(
"TXT_STEP",$this->lng->txt(
"step").
" ".$num.
":  ");
 
 1987                        $stpl->setVariable(
"TXT_ACTION",$val[
"text"]);
 
 1988                        $stpl->setVariable(
"IMG_ARROW", 
"spacer.png");
 
 1990                        if ($this->cmd == $key and isset($this->cmd))
 
 1992                                $stpl->setVariable(
"HIGHLIGHT", 
" style=\"font-weight:bold;\"");
 
 1995                        $status = ($val[
"status"]) ? $OK : 
"";
 
 1997                        $stpl->setVariable(
"TXT_STATUS",$status);
 
 1998                        $stpl->parseCurrentBlock();
 
 2000                        $checklist->addEntry($num.
". ".$val[
"text"], 
"",
 
 2003                                ($this->cmd == $key and isset($this->cmd)),
 
 2009                $stpl->setVariable(
"TXT_SETUP_PROCESS_STATUS",$this->lng->txt(
"setup_process_status"));
 
 2011                $this->tpl->setVariable(
"PROCESS_MENU", $checklist->getHTML());
 
 2019                include_once(
"./Services/UIComponent/Checklist/classes/class.ilChecklistGUI.php");
 
 2021                $checklist->setHeading($this->lng->txt(
"overall_status"));
 
 2023                $OK = 
"<font color=\"green\"><strong>OK</strong></font>";
 
 2027                $this->tpl->setVariable(
"TXT_OVERALL_STATUS", $this->lng->txt(
"overall_status"));
 
 2029                if ($this->setup->getClient()->status)
 
 2031                        foreach ($this->setup->getClient()->status as $key => $val)
 
 2033                                $status = ($val[
"status"]) ? $OK : 
" ";
 
 2042                                $checklist->addEntry($this->lng->txt(
"step_".$key), 
"",
 
 2047                $this->tpl->setVariable(
"STATUS_PANEL", $checklist->getHTML());
 
 2057                switch ($this->display_mode)
 
 2060                                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientview.html", 
"setup");
 
 2062                                include 
"./setup/include/inc.client_tabs.php";
 
 2063                                $client_name = ($this->setup->getClient()->getName()) ? $this->setup->getClient()->getName() : $this->lng->txt(
"no_client_name");
 
 2064                                $this->tpl->setVariable(
"TXT_HEADER",$client_name.
" (".$this->lng->txt(
"client_id").
": ".$this->setup->getClient()->getId().
")");
 
 2068                                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientsetup.html", 
"setup");
 
 2069                                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt($a_title));
 
 2073                                $this->
displayError($this->lng->txt(
"unknown_display_mode"));
 
 2087                $sub_tab_html = $this->tabs->getSubTabHTML();
 
 2088                if ($sub_tab_html != 
"")
 
 2090                        $this->tpl->setVariable(
"SUBTABS", $sub_tab_html);
 
 2101                switch ($this->display_mode)
 
 2118                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.clientsetup.html", 
"setup");
 
 2120                $this->tpl->setVariable(
"TXT_INFO",$this->lng->txt(
"info_text_first_client"));
 
 2121                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"setup_first_client"));
 
 2125                $this->setButtonNext(
"ini");
 
 2144                if ($this->setup->getClient()->db_installed)
 
 2146                        $this->setDbSubTabs(
"db");
 
 2148                        $ilDB = $this->setup->getClient()->db;
 
 2149                        $this->lng->setDbHandler(
$ilDB);
 
 2150                        include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2152                        $db_status = $dbupdate->getDBVersionStatus();
 
 2153                        $hotfix_available = $dbupdate->hotfixAvailable();
 
 2154                        $custom_updates_available = $dbupdate->customUpdatesAvailable();
 
 2155                        $this->
initClientDbForm(
false, $dbupdate, $db_status, $hotfix_available, $custom_updates_available);
 
 2157                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2161                                $this->setButtonNext(
"lang");
 
 2166                        $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_db").
"<br />".
 
 2167                                "<p><code>CREATE DATABASE <your_db> CHARACTER SET utf8 COLLATE <your_collation></code></p>".
 
 2168                                "<p><b>".$this->lng->txt(
"info_text_db2").
"</b></p><br/>");
 
 2172                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2173                        $this->setButtonPrev(
"ini");
 
 2182        protected function displayCache() {
 
 2183                require_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
 
 2184                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2185                require_once(
'./Services/GlobalCache/classes/Settings/class.ilGlobalCacheSettings.php');
 
 2192                $ilGlobalCacheSettings->readFromIniFile($this->setup->getClient()->ini);
 
 2195                $cache_form->setTitle($this->lng->txt(
'global_cache_configuration'));
 
 2196                $cache_form->addCommandButton(
'saveCache', $this->lng->txt(
'save'));
 
 2197                $cache_form->setFormAction(
'setup.php?cmd=gateway');
 
 2199                $some_inactive = 
false;
 
 2201                $service_type = 
new ilRadioGroupInputGUI($this->lng->txt(
'global_cache_service_type'), 
'global_cache_service_type');
 
 2204                $service_type->addOption($option);
 
 2207                        $option = 
new ilRadioOption($this->lng->txt(
'global_cache_service_type_' . $type->getServiceType()), $type->getServiceType());
 
 2208                        $option->setInfo($this->lng->txt(
'global_cache_install_info_' . $type->getServiceType()));
 
 2209                        if (! $type->isCacheServiceInstallable()) {
 
 2210                                $option->setDisabled(
true);
 
 2211                                $message .= $this->lng->txt(
'global_cache_service_type_' . $type->getServiceType()) . 
': ' . $type->getInstallationFailureReason()
 
 2213                                $some_inactive = 
true;
 
 2215                        $service_type->addOption($option);
 
 2218                if ($some_inactive) {
 
 2219                        $service_type->setAlert($message);
 
 2223                $service_type->setValue($ilGlobalCacheSettings->isActive() ? $ilGlobalCacheSettings->getService() : - 1);
 
 2224                $cache_form->addItem($service_type);
 
 2225                if ($ilGlobalCacheSettings->isActive()) {
 
 2228                        $h->setTitle($this->lng->txt(
'cache_activated_components'));
 
 2229                        $cache_form->addItem(
$h);
 
 2232                                $cc = 
new ilCheckboxInputGUI($this->lng->txt(
'cache_activate_' . $comp), 
'activate[' . $comp . 
']');
 
 2233                                $cc->setChecked($ilGlobalCacheSettings->isComponentActivated($comp));
 
 2234                                $cache_form->addItem($cc);
 
 2239                require_once(
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php');
 
 2240                require_once(
'./Services/UIComponent/Button/classes/class.ilLinkButton.php');
 
 2242                if ($ilGlobalCacheSettings->isActive()) {
 
 2244                        $b->setCaption(
'cache_flush');
 
 2245                        $b->setUrl(
'setup.php?cmd=flushCache');
 
 2246                        $ilToolbarGUI->addButtonInstance($b);
 
 2250                        require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerTableGUI.php');
 
 2252                        $b->setCaption(
'memcache_add');
 
 2253                        $b->setUrl(
'setup.php?cmd=addMemcacheServer');
 
 2254                        $ilToolbarGUI->addButtonInstance($b);
 
 2256                        $table_html = $ilMemcacheServerTableGUI->getHTML();
 
 2259                $this->tpl->setVariable(
'SETUP_CONTENT', $ilToolbarGUI->getHTML() . $cache_form->getHTML() . $table_html);
 
 2264                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2265                ilGlobalCache::flushAll();
 
 2271                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2274                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2279                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2282                $ilMemcacheServerFormGUI->setValuesByPost();
 
 2283                if ($ilMemcacheServerFormGUI->saveObject()) {
 
 2286                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2291                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2294                $ilMemcacheServerFormGUI->fillForm();
 
 2295                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2300                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServerFormGUI.php');
 
 2304                $ilMemcacheServerFormGUI->setValuesByPost();
 
 2305                if ($ilMemcacheServerFormGUI->saveObject()) {
 
 2308                $this->tpl->setVariable(
'SETUP_CONTENT', $ilMemcacheServerFormGUI->getHTML());
 
 2313                require_once(
'./Services/GlobalCache/classes/Memcache/class.ilMemcacheServer.php');
 
 2314                $ilMemcacheServer = ilMemcacheServer::find(
$_GET[
'mcsid']);
 
 2315                $ilMemcacheServer->delete();
 
 2320        public function saveCache() {
 
 2324                require_once(
'Services/GlobalCache/classes/class.ilGlobalCache.php');
 
 2325                require_once(
'./Services/GlobalCache/classes/Settings/class.ilGlobalCacheSettings.php');
 
 2326                ilGlobalCache::flushAll();
 
 2327                $ini = $this->setup->getClient()->ini;
 
 2330                $ilGlobalCacheSettings->readFromIniFile(
$ini);
 
 2331                $service_type = 
$_POST[
'global_cache_service_type'];
 
 2332                $ilGlobalCacheSettings->setActive(($service_type >= 0) ? 
true : 
false);
 
 2333                $ilGlobalCacheSettings->setService($service_type);
 
 2334                $ilGlobalCacheSettings->resetActivatedComponents();
 
 2335                if (is_array(
$_POST[
'activate']) && count(
$_POST[
'activate']) > 0) {
 
 2336                        foreach (
$_POST[
'activate'] as $comp => $a) {
 
 2337                                $ilGlobalCacheSettings->addActivatedComponent($comp);
 
 2341                $ilGlobalCacheSettings->writeToIniFile(
$ini);
 
 2360                if (!$this->setup->getClient()->db_installed)
 
 2365                $this->setDbSubTabs(
"repl");
 
 2369                        $ilDB = $this->setup->getClient()->db;
 
 2370                        $this->lng->setDbHandler(
$ilDB);
 
 2380                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 2394                $client = $this->setup->getClient();
 
 2396                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2401                $ne->setValue(
$lng->txt(
"db_".$ilDB->getDbType()));
 
 2402                $this->form->addItem($ne);
 
 2406                $act->setChecked(
$client->getDbSlaveActive());
 
 2407                $this->form->addItem($act);
 
 2411                $ti->setValue(
$client->getDbSlaveHost());
 
 2412                $ti->setMaxLength(120);
 
 2413                $ti->setRequired(
true);
 
 2414                $act->addSubItem($ti);
 
 2418                $ti->setValue(
$client->getDbSlaveName());
 
 2419                $ti->setRequired(
true);
 
 2420                $ti->setMaxLength(40);
 
 2421                $act->addSubItem($ti);
 
 2425                $ti->setValue(
$client->getDbSlaveUser());
 
 2426                $ti->setMaxLength(40);
 
 2427                $ti->setRequired(
true);
 
 2428                $act->addSubItem($ti);
 
 2432                $ti->setValue(
$client->getDbSlavePort());
 
 2433                $ti->setMaxLength(8);
 
 2434                $act->addSubItem($ti);
 
 2437                $set_pw = 
new ilCheckboxInputGUI($this->lng->txt(
"db_set_password"), 
"set_slave_password");
 
 2438                $act->addSubItem($set_pw);
 
 2442                $ti->setMaxLength(40);
 
 2443                $set_pw->addSubItem($ti);
 
 2445                $this->form->addCommandButton(
"saveDbSlave", 
$lng->txt(
"save"));
 
 2447                $this->form->setTitle(
$lng->txt(
"db_slave_settings"));
 
 2448                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 2458                $client = $this->setup->getClient();
 
 2460                $ilDB = $this->setup->getClient()->db;
 
 2461                $this->lng->setDbHandler(
$ilDB);
 
 2464                if ($this->form->checkInput())
 
 2466                        $client->setDbSlaveActive($this->form->getInput(
"slave_active"));
 
 2467                        if ($this->form->getInput(
"slave_active"))
 
 2469                                $client->setDbSlaveHost($this->form->getInput(
"slave_host"));
 
 2470                                $client->setDbSlaveUser($this->form->getInput(
"slave_user"));
 
 2471                                $client->setDbSlavePort($this->form->getInput(
"slave_port"));
 
 2472                                $client->setDbSlaveName($this->form->getInput(
"slave_name"));
 
 2473                                if ($this->form->getInput(
"set_slave_password"))
 
 2475                                        $client->setDbSlavePass($this->form->getInput(
"slave_pass"));
 
 2485                        $this->form->setValuesByPost();
 
 2501                if (
$ilDB->getDbType() == 
"mysql")
 
 2503                        $this->tabs->addSubTab(
"db", $this->lng->txt(
"db_master"), 
"setup.php?client_id=".$this->client_id.
"&cmd=db");
 
 2504                        $this->tabs->addSubTab(
"repl", $this->lng->txt(
"db_slave"), 
"setup.php?client_id=".$this->client_id.
"&cmd=dbslave");
 
 2507                $this->tabs->activateSubTab($a_subtab_id);
 
 2515        public function initClientDbForm($a_install = 
true, $dbupdate = 
null, $db_status = 
false, $hotfix_available = 
false, $custom_updates_available = 
false)
 
 2519                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2524                $this->form->addItem($ne);
 
 2527                if ($this->setup->getClient()->getDBType() == 
"mysql" ||
 
 2528                        $this->setup->getClient()->getDBType() == 
"innodb")
 
 2531                        $ilDB = $this->setup->getClient()->db;
 
 2532                        $ne->setValue(
$ilDB->getDBVersion());
 
 2533                        $this->form->addItem($ne);
 
 2538                $this->form->addItem($ne);
 
 2542                $this->form->addItem($ne);
 
 2546                $this->form->addItem($ne);
 
 2550                $this->form->addItem($ne);
 
 2553                if (($this->setup->getClient()->getDBType() == 
"mysql" ||
 
 2554                        $this->setup->getClient()->getDBType() == 
"innodb") && $a_install)
 
 2567                                        "utf8_icelandic_ci",
 
 2569                                        "utf8_lithuanian_ci",
 
 2575                                        "utf8_slovenian_ci",
 
 2581                                foreach($collations as $collation)
 
 2587                                $si->setInfo($this->lng->txt(
"info_text_db_collation2").
" ".
 
 2588                                        "<a target=\"_new\" href=\"http://dev.mysql.com/doc/mysql/en/charset-unicode-sets.html\">".
 
 2589                                        " MySQL Reference Manual :: 10.11.1 Unicode Character Sets</a>");
 
 2590                                $cb->addSubItem(
$si);
 
 2592                        $this->form->addItem($cb);
 
 2597                        $this->form->addCommandButton(
"installDatabase", 
$lng->txt(
"database_install"));
 
 2601                        $ilDB = $this->setup->getClient()->db;
 
 2602                        $this->lng->setDbHandler(
$ilDB);
 
 2607                        $ne->setValue($dbupdate->currentVersion);
 
 2608                        $this->form->addItem($ne);
 
 2612                        $ne->setValue($dbupdate->fileVersion);
 
 2613                        $this->form->addItem($ne);
 
 2615                        if (!$db_status = $dbupdate->getDBVersionStatus())
 
 2619                                for ($i = $dbupdate->currentVersion + 1; $i <= $dbupdate->fileVersion; $i++)
 
 2627                                        $si->setInfo(
$lng->txt(
"next_update_break_info"));
 
 2628                                        $this->form->addItem(
$si);
 
 2631                                if ($dbupdate->getRunningStatus() > 0)
 
 2633                                        ilUtil::sendFailure($this->lng->txt(
"db_update_interrupted").
" (Step ".$dbupdate->getRunningStatus().
") <br /><br />".
 
 2634                                                $this->lng->txt(
"db_update_interrupted_avoid"));
 
 2640                                $this->form->addCommandButton(
"updateDatabase", 
$lng->txt(
"database_update"));
 
 2641                                $this->form->addCommandButton(
"showUpdateSteps", 
$lng->txt(
"show_update_steps"));
 
 2643                        else if ($hotfix_available)
 
 2647                                $ne->setValue($dbupdate->getHotfixCurrentVersion());
 
 2648                                $this->form->addItem($ne);
 
 2652                                $ne->setValue($dbupdate->getHotfixFileVersion());
 
 2653                                $this->form->addItem($ne);
 
 2655                                $this->form->addCommandButton(
"applyHotfix", 
$lng->txt(
"apply_hotfixes"));
 
 2656                                $this->form->addCommandButton(
"showHotfixSteps", 
$lng->txt(
"show_update_steps"));
 
 2659                        elseif($custom_updates_available)
 
 2663                                $ne->setValue($dbupdate->getCustomUpdatesCurrentVersion());
 
 2664                                $this->form->addItem($ne);
 
 2668                                $ne->setValue($dbupdate->getCustomUpdatesFileVersion());
 
 2669                                $this->form->addItem($ne);
 
 2671                                $this->form->addCommandButton(
"applyCustomUpdates", 
$lng->txt(
"apply_custom_updates"));
 
 2676                                if ($dbupdate->getHotfixFileVersion() > 0)
 
 2680                                        $ne->setValue($dbupdate->getHotfixCurrentVersion());
 
 2681                                        $this->form->addItem($ne);
 
 2685                                        $ne->setValue($dbupdate->getHotfixFileVersion());
 
 2686                                        $this->form->addItem($ne);
 
 2688                                if ($dbupdate->getCustomUpdatesFileVersion() > 0)
 
 2692                                        $ne->setValue($dbupdate->getCustomUpdatesCurrentVersion());
 
 2693                                        $this->form->addItem($ne);
 
 2697                                        $ne->setValue($dbupdate->getCustomUpdatesFileVersion());
 
 2698                                        $this->form->addItem($ne);
 
 2704                $this->form->setTitle(
$lng->txt(
"database"));
 
 2705                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 2718                $values[
"db_host"] = $this->setup->getClient()->getDbHost();
 
 2719                $values[
"db_name"] = $this->setup->getClient()->getDbName();
 
 2720                $values[
"db_user"] = $this->setup->getClient()->getDbUser();
 
 2721                $values[
"db_port"] = $this->setup->getClient()->getDbPort();
 
 2722                $values[
"db_type"] = 
$lng->txt(
"db_".$this->setup->getClient()->getDbType());
 
 2723                if (is_object($dbupdate))
 
 2725                        $values[
"update_break"] = $dbupdate->fileVersion;
 
 2726                        if (($dbupdate->fileVersion - $dbupdate->currentVersion) >= 200)
 
 2728                                $values[
"update_break"] = $dbupdate->currentVersion + 200 -
 
 2729                                        ($dbupdate->currentVersion % 100);
 
 2733                $this->form->setValuesByArray($values);
 
 2748                if (!$this->setup->getClient()->db_exists)
 
 2750                        if (
$_POST[
"chk_db_create"])
 
 2752                                if (!$this->setup->createDatabase(
$_POST[
"collation"]))
 
 2764                if (!$this->setup->installDatabase())
 
 2788                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2789                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 2790                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 2791                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 2792                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 2793                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 2794                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 2798                $ilDB = $this->setup->getClient()->db;
 
 2799                $this->lng->setDbHandler(
$ilDB);
 
 2803                $dbupdate->applyUpdate((
int) 
$_POST[
"update_break"]);
 
 2805                if ($dbupdate->updateMsg == 
"no_changes")
 
 2807                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 2812                        foreach ($dbupdate->updateMsg as 
$row)
 
 2814                                if (
$row[
"msg"] == 
"update_applied")
 
 2816                                        $a_message.= $sep.$row[
"nr"];
 
 2821                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 2824                        if ($a_message != 
"")
 
 2826                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 2862                if ($this->setup->getClient()->db_installed)
 
 2864                        $ilDB = $this->setup->getClient()->db;
 
 2865                        $this->lng->setDbHandler(
$ilDB);
 
 2867                        $db_status = $dbupdate->getDBVersionStatus();
 
 2868                        $hotfix_available = $dbupdate->hotfixAvailable();
 
 2869                        $custom_updates_available = $dbupdate->customUpdatesAvailable();
 
 2873                        $ntpl = 
new ilTemplate(
"tpl.setup_steps.html", 
true, 
true, 
"setup");
 
 2876                                $ntpl->setVariable(
"CONTENT", $dbupdate->getHotfixSteps());
 
 2880                                $ntpl->setVariable(
"CONTENT", $dbupdate->getUpdateSteps(
$_POST[
"update_break"]));
 
 2882                        $ntpl->setVariable(
"BACK", $this->lng->txt(
"back"));
 
 2883                        $ntpl->setVariable(
"HREF_BACK", 
"./setup.php?client_id=&cmd=db");
 
 2884                        $this->tpl->setVariable(
"SETUP_CONTENT", $ntpl->get());
 
 2902                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 2903                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 2904                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 2905                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 2906                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 2907                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 2908                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 2911                $ilDB = $this->setup->getClient()->db;
 
 2912                $this->lng->setDbHandler(
$ilDB);
 
 2916                $dbupdate->applyHotfix();
 
 2918                if ($dbupdate->updateMsg == 
"no_changes")
 
 2920                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 2925                        foreach ($dbupdate->updateMsg as 
$row)
 
 2927                                if (
$row[
"msg"] == 
"update_applied")
 
 2929                                        $a_message.= $sep.$row[
"nr"];
 
 2934                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 2937                        if ($a_message != 
"")
 
 2939                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 2956                require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
 
 2960                if (!$this->setup->getClient()->db_installed)
 
 2963                        $message = 
"No database found! Please install database first.";
 
 2970                $settings = array();
 
 2972                foreach( $setting_fields as $field )
 
 2974                        if( $field == 
'session_allow_client_maintenance' )
 
 2977                                else                                                    $_POST[$field] = 
'0';
 
 2982                                $settings[$field] = 
$_POST[$field];
 
 2992                if(
$valid) $this->setup->setSessionSettings($settings);
 
 2994                $settings = $this->setup->getSessionSettings();
 
 2996                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2999                include_once 
'Services/Authentication/classes/class.ilSession.php';
 
 3010                $ssettings->addOption($fixed);
 
 3017                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_count'), 
"session_max_count");
 
 3018                $ti->setInfo($this->lng->txt(
'sess_max_session_count_info'));
 
 3019                $ti->setMaxLength(5);
 
 3021                $ti->setValue($settings[
'session_max_count']);
 
 3022                $ldsh->addSubItem($ti);
 
 3027                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_min_session_idle'), 
"session_min_idle");
 
 3028                $ti->setInfo($this->lng->txt(
'sess_min_session_idle_info'));
 
 3029                $ti->setMaxLength(5);
 
 3031                $ti->setValue($settings[
'session_min_idle']);
 
 3032                $ldsh->addSubItem($ti);
 
 3037                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_idle'), 
"session_max_idle");
 
 3038                $ti->setInfo($this->lng->txt(
'sess_max_session_idle_info'));
 
 3039                $ti->setMaxLength(5);
 
 3041                $ti->setValue($settings[
'session_max_idle']);
 
 3042                $ldsh->addSubItem($ti);
 
 3046                $ti = 
new ilTextInputGUI($this->lng->txt(
'sess_max_session_idle_after_first_request'), 
"session_max_idle_after_first_request");
 
 3047                $ti->setInfo($this->lng->txt(
'sess_max_session_idle_after_first_request_info'));
 
 3048                $ti->setMaxLength(5);
 
 3050                $ti->setValue($settings[
'session_max_idle_after_first_request']);
 
 3051                $ldsh->addSubItem($ti);
 
 3054                $ssettings->addOption($ldsh);
 
 3056                $form->addItem($ssettings);
 
 3060                $chkb = 
new ilCheckboxInputGUI($this->lng->txt(
'sess_allow_client_maintenance'), 
"session_allow_client_maintenance");
 
 3061                $chkb->setInfo($this->lng->txt(
'sess_allow_client_maintenance_info'));
 
 3062                $chkb->setChecked($settings[
'session_allow_client_maintenance'] ? 
true : 
false);
 
 3063                $form->addItem($chkb);
 
 3067                $form->addCommandButton(
"sess", $this->lng->txt(
'save'));
 
 3069                $form->setTitle($this->lng->txt(
"sess_sessions"));
 
 3070                $form->setFormAction(
'setup.php?client_id='.$this->client_id.
'&cmd=sess');
 
 3072                $this->tpl->setVariable(
"TXT_SETUP_TITLE",ucfirst(trim($this->lng->txt(
'sess_sessions'))));
 
 3073                $this->tpl->setVariable(
"TXT_INFO", 
'');
 
 3074                $this->tpl->setVariable(
"SETUP_CONTENT", $form->getHTML());
 
 3097                if (!$this->setup->getClient()->db_installed)
 
 3100                        $message = 
"No database found! Please install database first.";
 
 3104                include_once(
"./setup/classes/class.ilSetupLanguageTableGUI.php");
 
 3106                $this->tpl->setVariable(
"SETUP_CONTENT", 
$tab->getHTML());
 
 3108                $this->tpl->setVariable(
"TXT_SETUP_TITLE",ucfirst(trim($this->lng->txt(
"setup_languages"))));
 
 3109                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_lang"));
 
 3111                $installed_langs = $this->lng->getInstalledLanguages();
 
 3112                $lang_count = count($installed_langs);
 
 3113                if ($lang_count > 0)
 
 3115                        $this->setup->getClient()->status[
"lang"][
"status"] = 
true;
 
 3116                        $this->setup->getClient()->status[
"lang"][
"comment"] = $lang_count.
" ".$this->lng->txt(
"languages_installed");
 
 3120                        $this->setup->getClient()->status[
"lang"][
"status"] = 
false;
 
 3121                        $this->setup->getClient()->status[
"lang"][
"comment"] = $this->lng->txt(
"lang_none_installed");
 
 3124                $this->setButtonPrev(
"lang");
 
 3126                if ($lang_count > 0)
 
 3128                        $this->setButtonNext(
"contact");
 
 3142                if (empty(
$_POST[
"form"][
"lang_id"]))
 
 3148                if (!in_array(
$_POST[
"form"][
"lang_default"],
$_POST[
"form"][
"lang_id"]))
 
 3154                $result = $this->lng->installLanguages(
$_POST[
"form"][
"lang_id"], 
$_POST[
"form"][
"lang_local"]);
 
 3161                        foreach (
$result as $key => $lang_key)
 
 3163                                $list .= $this->lng->txt(
"lang_".$lang_key);
 
 3165                                if ($count > $key + 1)
 
 3172                $this->setup->getClient()->setDefaultLanguage(
$_POST[
"form"][
"lang_default"]);
 
 3173                $message = $this->lng->txt(
"languages_installed");
 
 3177                        $message .= 
"<br/>(".$this->lng->txt(
"langs_not_valid_not_installed").
": ".$list.
")";
 
 3193                $settings = $this->setup->getClient()->getAllSettings();
 
 3200                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 3201                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_contact"));
 
 3202                $this->setButtonPrev(
"lang");
 
 3204                $check = $this->setup->checkClientContact($this->setup->client);
 
 3206                $this->setup->getClient()->status[
"contact"][
"status"] = $check[
"status"];
 
 3207                $this->setup->getClient()->status[
"contact"][
"comment"] = $check[
"comment"];
 
 3209                if ($check[
"status"])
 
 3211                        $this->setButtonNext(
"proxy");
 
 3226                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3231                $ti->setMaxLength(64);
 
 3233                $ti->setRequired(
true);
 
 3234                $this->form->addItem($ti);
 
 3238                $ti->setMaxLength(64);
 
 3240                $this->form->addItem($ti);
 
 3244                $ti->setMaxLength(64);
 
 3246                $this->form->addItem($ti);
 
 3250                $sh->setTitle(
$lng->txt(
"contact_data"));
 
 3251                $this->form->addItem($sh);
 
 3255                $ti->setMaxLength(64);
 
 3257                $ti->setRequired(
true);
 
 3258                $this->form->addItem($ti);
 
 3262                $ti->setMaxLength(64);
 
 3264                $ti->setRequired(
true);
 
 3265                $this->form->addItem($ti);
 
 3268                        "title" => array(
"max" => 64, 
"size" => 30),
 
 3269                        "position" => array(
"max" => 64, 
"size" => 30),
 
 3270                        "institution" => array(
"max" => 200, 
"size" => 30),
 
 3271                        "street" => array(
"max" => 64, 
"size" => 30),
 
 3272                        "zipcode" => array(
"max" => 10, 
"size" => 5),
 
 3273                        "city" => array(
"max" => 64, 
"size" => 30),
 
 3274                        "country" => array(
"max" => 64, 
"size" => 30),
 
 3275                        "phone" => array(
"max" => 64, 
"size" => 30)
 
 3277                foreach ($fs as $f => $op)
 
 3281                        $ti->setMaxLength($op[
"max"]);
 
 3282                        $ti->setSize($op[
"size"]);
 
 3283                        $ti->setInfo(
$lng->txt(
""));
 
 3284                        $this->form->addItem($ti);
 
 3288                $ti = 
new ilEmailInputGUI(
$lng->txt(
"email"), 
"admin_email");
 
 3289                $ti->setRequired(
true);
 
 3290                $ti->allowRFC822(
true);
 
 3291                $this->form->addItem($ti);
 
 3305                $this->form->addCommandButton(
"saveContact", 
$lng->txt(
"save"));
 
 3307                $this->form->setTitle(
$lng->txt(
"client_data"));
 
 3308                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 3317                $settings = $this->setup->getClient()->getAllSettings();
 
 3319                $values = $settings;
 
 3321                $values[
"inst_name"] = ($this->setup->getClient()->getName())
 
 3322                        ? $this->setup->getClient()->getName()
 
 3323                        : $this->setup->getClient()->getId();
 
 3324                $values[
"inst_info"] = $this->setup->getClient()->getDescription();
 
 3326                $this->form->setValuesByArray($values);
 
 3337                if ($this->form->checkInput())
 
 3339                        $this->setup->getClient()->setSetting(
"admin_firstname", 
$_POST[
"admin_firstname"]);
 
 3340                        $this->setup->getClient()->setSetting(
"admin_lastname", 
$_POST[
"admin_lastname"]);
 
 3341                        $this->setup->getClient()->setSetting(
"admin_title", 
$_POST[
"admin_title"]);
 
 3342                        $this->setup->getClient()->setSetting(
"admin_position", 
$_POST[
"admin_position"]);
 
 3343                        $this->setup->getClient()->setSetting(
"admin_institution", 
$_POST[
"admin_institution"]);
 
 3344                        $this->setup->getClient()->setSetting(
"admin_street", 
$_POST[
"admin_street"]);
 
 3345                        $this->setup->getClient()->setSetting(
"admin_zipcode", 
$_POST[
"admin_zipcode"]);
 
 3346                        $this->setup->getClient()->setSetting(
"admin_city", 
$_POST[
"admin_city"]);
 
 3347                        $this->setup->getClient()->setSetting(
"admin_country", 
$_POST[
"admin_country"]);
 
 3348                        $this->setup->getClient()->setSetting(
"admin_phone", 
$_POST[
"admin_phone"]);
 
 3349                        $this->setup->getClient()->setSetting(
"admin_email", 
$_POST[
"admin_email"]);
 
 3350                        $this->setup->getClient()->setSetting(
"inst_institution", 
$_POST[
"inst_institution"]);
 
 3351                        $this->setup->getClient()->setSetting(
"inst_name", 
$_POST[
"inst_name"]);
 
 3356                        $this->setup->getClient()->setName(
$_POST[
"inst_name"]);
 
 3357                        $this->setup->getClient()->setDescription(
$_POST[
"inst_info"]);
 
 3358                        $this->setup->getClient()->ini->write();
 
 3364                $this->form->setValuesByPost();
 
 3378                $settings = $this->setup->getClient()->getAllSettings();
 
 3379                $nic_key = $this->setup->getClient()->getNICkey();
 
 3382                $settings = $this->setup->getClient()->getAllSettings();
 
 3384                if ($settings[
"nic_enabled"] == 
"1" && $settings[
"inst_id"] > 0)
 
 3386                        $this->no_second_nav = 
true;
 
 3387                        $this->tpl->setVariable(
"TXT_INFO",$this->lng->txt(
"info_text_nic3").
" ".$settings[
"inst_id"].
".");
 
 3392                        $settings = $this->setup->getClient()->getAllSettings();
 
 3394                        $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_nic"));
 
 3400                        $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 3402                        if (isset($settings[
"nic_enabled"]))
 
 3404                                $this->setup->getClient()->status[
"nic"][
"status"] = 
true;
 
 3409                $this->setButtonPrev(
"proxy");
 
 3411                if ($this->setup->getClient()->status[
"nic"][
"status"])
 
 3413                        $this->setButtonNext(
"finish",
"finish");
 
 3428                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3435                $radg->addOption($op1);
 
 3437                $radg->addOption($op1);
 
 3438                $this->form->addItem($radg);
 
 3440                $this->form->addCommandButton(
"saveRegistration", 
$lng->txt(
"save"));
 
 3441                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 3449                $settings = $this->setup->getClient()->getAllSettings();
 
 3450                $nic_key = $this->setup->getClient()->getNICkey();
 
 3455                if (!isset($settings[
"nic_enabled"]) or $settings[
"nic_enabled"] == 
"1")
 
 3457                        $values[
"register"] = 1;
 
 3465                        $values[
"register"] = 0;
 
 3468                $this->form->setValuesByArray($values);
 
 3479                if ($this->form->checkInput())
 
 3482                        if (
$_POST[
"register"] == 1)
 
 3485                                $this->setup->getClient()->updateNIC($this->setup->ilias_nic_server);
 
 3488                                if (empty($this->setup->getClient()->nic_status[2]))
 
 3490                                        $this->setup->getClient()->setSetting(
"nic_enabled",
"-1");
 
 3496                                        $this->setup->getClient()->setSetting(
"inst_id",$this->setup->getClient()->nic_status[2]);
 
 3497                                        $this->setup->getClient()->setSetting(
"nic_enabled",
"1");
 
 3498                                        $this->setup->getClient()->status[
"nic"][
"status"] = 
true;
 
 3522                                $this->setup->getClient()->setSetting(
"inst_id",
"0");
 
 3523                                $this->setup->getClient()->setSetting(
"nic_enabled",
"0");
 
 3529                $this->form->setValuesByPost();
 
 3552                $this->tpl->setVariable(
"SETUP_CONTENT",
 
 3553                        $ctrl_structure_form->getHTML() . 
"<br />" .
 
 3554                        $settings_type_form->getHTML().
'<br />'.
 
 3555                        $mp_ns_form->getHTML());
 
 3561                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3564                $form->setId(
'tree_impl');
 
 3565                $form->setTitle($this->lng->txt(
'tree_implementation'));
 
 3566                $form->setFormAction(
'setup.php?cmd=gateway');
 
 3570                #$options->setRequired(true); 
 3573                $type = ($set->get(
'main_tree_impl',
'ns') == 
'ns' ? 
'ns' : 
'mp');
 
 3578                $ns = 
new ilRadioOption($this->lng->txt(
'tree_implementation_ns'), 
'ns');
 
 3581                $mp = 
new ilRadioOption($this->lng->txt(
'tree_implementation_mp'),
'mp');
 
 3585                $form->addCommandButton(
'switchTree', $this->lng->txt(
'tree_implementation_switch_btn'));
 
 3586                $form->setShowTopButtons(
false);
 
 3595                $type = ($set->get(
'main_tree_impl',
'ns') == 
'ns' ? 
'ns' : 
'mp');
 
 3597                if($type == 
'ns' and 
$_POST[
'tree_impl_type'] == 
'mp')
 
 3600                        include_once 
'./Services/Tree/classes/class.ilMaterializedPathTree.php';
 
 3603                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'lft'));
 
 3604                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'path'));
 
 3605                        $GLOBALS[
'ilDB']->addIndex(
'tree',array(
'path'),
'i4');
 
 3607                        $set->set(
'main_tree_impl', 
'mp');
 
 3610                elseif($type == 
'mp' and 
$_POST[
'tree_impl_type'] == 
'ns')
 
 3612                        include_once 
'./Services/Tree/classes/class.ilTree.php';
 
 3617                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'lft'));
 
 3618                        $GLOBALS[
'ilDB']->dropIndexByFields(
'tree',array(
'path'));
 
 3619                        $GLOBALS[
'ilDB']->addIndex(
'tree',array(
'lft'),
'i4');
 
 3621                        $set->set(
'main_tree_impl', 
'ns');
 
 3635                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3638                $form->setId(
"control_structure");
 
 3639                $form->setTitle($this->lng->txt(
"ctrl_structure"));
 
 3640                $form->setFormAction(
"setup.php?cmd=gateway");
 
 3642                $ilDB = $this->setup->getClient()->db;
 
 3643                $cset = 
$ilDB->query(
"SELECT count(*) as cnt FROM ctrl_calls");
 
 3644                $crec = 
$ilDB->fetchAssoc($cset);
 
 3647                if ($crec[
"cnt"] == 0)
 
 3649                        $item->setInfo($this->lng->txt(
"ctrl_missing_desc"));
 
 3653                        $item->setInfo($this->lng->txt(
"ctrl_structure_desc"));
 
 3655                $form->addItem($item);
 
 3657                $form->addCommandButton(
"reloadStructure", $this->lng->txt(
"reload"));
 
 3669                if (!$this->setup->getClient()->db_installed)
 
 3677                $GLOBALS[
"ilDB"] = $this->setup->getClient()->getDB();
 
 3680                require_once 
"./setup/classes/class.ilModuleReader.php";
 
 3681                require_once 
"./setup/classes/class.ilServiceReader.php";
 
 3682                require_once 
"./setup/classes/class.ilCtrlStructureReader.php";
 
 3684                require_once 
"./Services/Component/classes/class.ilModule.php";
 
 3685                require_once 
"./Services/Component/classes/class.ilService.php";
 
 3692                foreach($modules as $module)
 
 3695                                $module[
"subdir"], 
"Modules");
 
 3703                foreach($services as $service)
 
 3706                                $service[
"subdir"], 
"Services");
 
 3724                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3727                include_once (
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 3730                $form->setId(
"settings_type");
 
 3731                $form->setTitle($this->lng->txt(
"settings_type"));
 
 3732                $form->setFormAction(
"setup.php?cmd=gateway");
 
 3735                $item->setValue(strtoupper($type));
 
 3737                if ($type == 
"clob")
 
 3739                        $item->setInfo($this->lng->txt(
'settings_info_clob'));
 
 3740            $form->addCommandButton(
"showLongerSettings", $this->lng->txt(
"settings_show_longer"));
 
 3741            $form->addCommandButton(
"changeSettingsType", $this->lng->txt(
"settings_change_text"));
 
 3745                        $item->setInfo($this->lng->txt(
'settings_info_text'));
 
 3746                $form->addCommandButton(
"changeSettingsType", $this->lng->txt(
"settings_change_clob"));
 
 3748                $form->addItem($item);
 
 3750                if (is_array($this->longer_settings))
 
 3754                        if (count($this->longer_settings))
 
 3756                    foreach ($this->longer_settings as 
$row)
 
 3759                                        $subitem->setInfo(
$row[
'value']);
 
 3760                                        $item->addSubItem($subitem);
 
 3765                    $item->setHTML($this->lng->txt(
'settings_no_longer_values'));
 
 3767                        $form->addItem($item);
 
 3779                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3782                if ($old_type == 
"clob")
 
 3785                        if (count($longer_settings))
 
 3787                    $this->longer_settings = $longer_settings;
 
 3815                include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 3825                $this->tpl->addBlockFile(
"CONTENT",
"content",
"tpl.std_layout.html", 
"setup");
 
 3827                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_password"));
 
 3832                        $pass_old = $this->setup->getPassword();
 
 3834                        if (empty(
$_POST[
"form"][
"pass_old"]))
 
 3836                                $message = $this->lng->txt(
"password_enter_old");
 
 3837                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3840                        if (md5(
$_POST[
"form"][
"pass_old"]) != $pass_old)
 
 3842                                $message = $this->lng->txt(
"password_old_wrong");
 
 3843                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3846                        if (empty(
$_POST[
"form"][
"pass"]))
 
 3848                                $message = $this->lng->txt(
"password_empty");
 
 3849                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3854                                $message = $this->lng->txt(
"password_not_match");
 
 3855                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3858                        if (md5(
$_POST[
"form"][
"pass"]) == $pass_old)
 
 3860                                $message = $this->lng->txt(
"password_same");
 
 3861                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3864                        if (!$this->setup->setPassword(
$_POST[
"form"][
"pass"]))
 
 3866                                $message = $this->lng->txt(
"save_error");
 
 3867                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 3875                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.form_change_admin_password.html", 
"setup");
 
 3877                $this->tpl->setVariable(
"TXT_HEADER",$this->lng->txt(
"password_new_master"));
 
 3880                $this->tpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
 3881                $this->tpl->setVariable(
"TXT_REQUIRED_FIELDS", $this->lng->txt(
"required_field"));
 
 3882                $this->tpl->setVariable(
"TXT_PASS_TITLE",$this->lng->txt(
"change_password"));
 
 3883                $this->tpl->setVariable(
"TXT_PASS_OLD",$this->lng->txt(
"set_oldpasswd"));
 
 3884                $this->tpl->setVariable(
"TXT_PASS",$this->lng->txt(
"set_newpasswd"));
 
 3885                $this->tpl->setVariable(
"TXT_PASS2",$this->lng->txt(
"password_retype"));
 
 3886                $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
 
 3895                $this->no_second_nav = 
true;
 
 3899                        $txt_info = $this->lng->txt(
"info_text_finish1").
"<br /><br />".
 
 3900                                "<p>".$this->lng->txt(
"user").
": <b>root</b><br />".
 
 3901                                $this->lng->txt(
"password").
": <b>homer</b></p>";
 
 3902                        $this->setButtonNext(
"login_new",
"login");
 
 3904                        $this->setup->getClient()->reconnect();         
 
 3907                        $this->setup->getClient()->setSetting(
"setup_ok",1);
 
 3910                        $this->setup->getClient()->status[
"finish"][
"status"] = 
true;
 
 3915                        $txt_info = $this->lng->txt(
"info_text_finish2");
 
 3920                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.clientsetup_finish.html", 
"setup");
 
 3921                $this->tpl->setVariable(
"TXT_INFO",$txt_info);
 
 3923                $this->setButtonPrev(
"nic");
 
 3937                if (
$_POST[
"form"][
"delete"])
 
 3963                        $msg = $this->setup->getClient()->delete(
$ini,$db,$files);
 
 3969                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_delete"));
 
 3972                $this->tpl->addBlockFile(
"SETUP_CONTENT",
"setup_content",
"tpl.form_delete_client.html", 
"setup");
 
 3975                $this->tpl->setVariable(
"FORMACTION", 
"setup.php?cmd=gateway");
 
 3976                $this->tpl->setVariable(
"TXT_DELETE", $this->lng->txt(
"delete"));
 
 3977                $this->tpl->setVariable(
"TXT_DELETE_CONFIRM", $this->lng->txt(
"delete_confirm"));
 
 3978                $this->tpl->setVariable(
"TXT_DELETE_INFO", $this->lng->txt(
"delete_info"));
 
 3990                if ($this->setup->getClient()->status[
"finish"][
"status"])
 
 3992                        $val = ($this->setup->getClient()->ini->readVariable(
"client",
"access")) ? 
"0" : 
true;
 
 3993                        $this->setup->getClient()->ini->setVariable(
"client",
"access",$val);
 
 3994                        $this->setup->getClient()->ini->write();
 
 3995                        $message = 
"client_access_mode_changed";
 
 3999                        $message = 
"client_setup_not_finished";
 
 4018                                $this->setup->raiseError($this->lng->txt(
"no_valid_client_id"),$this->setup->error_obj->MESSAGE);
 
 4021                        $status = $this->setup->getStatus(
$client);
 
 4023                        if ($status[
"finish"][
"status"])
 
 4025                                $this->setup->ini->setVariable(
"clients",
"default",
$client->getId());
 
 4026                                $this->setup->ini->write();
 
 4027                                $message = 
"default_client_changed";
 
 4031                                $message = 
"client_setup_not_finished";
 
 4046                foreach ($this->setup->getClient()->status as $key => $val)
 
 4048                        if ($key != 
"finish" and $key != 
"access")
 
 4050                                if ($val[
"status"] != 
true)
 
 4058                $clientlist = 
new ilClientList($this->setup->db_connections);
 
 4060                $list = $clientlist->getClients();
 
 4062                if (count($list) == 1)
 
 4064                        $this->setup->ini->setVariable(
"clients",
"default",$this->setup->getClient()->getId());
 
 4065                        $this->setup->ini->write();
 
 4067                        $this->setup->getClient()->ini->setVariable(
"client",
"access",1);
 
 4068                        $this->setup->getClient()->ini->write();
 
 4079                if (!$this->setup->getClient()->status[
"db"][
"status"])
 
 4085                elseif (!$this->setup->getClient()->status[
"lang"][
"status"])
 
 4087                        $this->cmd = 
"lang";
 
 4091                elseif (!$this->setup->getClient()->status[
"contact"][
"status"])
 
 4093                        $this->cmd = 
"contact";
 
 4097                elseif(!$this->setup->getClient()->status[
'proxy'][
'status'])
 
 4099                        $this->cmd = 
"proxy";
 
 4103                elseif (!$this->setup->getClient()->status[
"nic"][
"status"])
 
 4109                elseif (!$this->setup->getClient()->status[
"finish"][
"status"])
 
 4111                        $this->cmd = 
"finish";
 
 4126                if ($this->setup->ini->readVariable(
"clients",
"list"))
 
 4128                        $this->setup->ini->setVariable(
"clients",
"list",
"0");
 
 4129                        $this->setup->ini->write();
 
 4134                        $this->setup->ini->setVariable(
"clients",
"list",
"1");
 
 4135                        $this->setup->ini->write();
 
 4152                include_once 
"./Services/Database/classes/class.ilDBUpdate.php";
 
 4153                include_once 
"./Services/AccessControl/classes/class.ilRbacAdmin.php";
 
 4154                include_once 
"./Services/AccessControl/classes/class.ilRbacReview.php";
 
 4155                include_once 
"./Services/AccessControl/classes/class.ilRbacSystem.php";
 
 4156                include_once 
"./Services/Tree/classes/class.ilTree.php";
 
 4157                include_once 
"./Services/Xml/classes/class.ilSaxParser.php";
 
 4158                include_once 
"./Services/Object/classes/class.ilObjectDefinition.php";
 
 4161                $ilDB = $this->setup->getClient()->db;
 
 4162                $this->lng->setDbHandler(
$ilDB);
 
 4166                $dbupdate->applyCustomUpdates();
 
 4168                if ($dbupdate->updateMsg == 
"no_changes")
 
 4170                        $message = $this->lng->txt(
"no_changes").
". ".$this->lng->txt(
"database_is_uptodate");
 
 4175                        foreach ($dbupdate->updateMsg as 
$row)
 
 4177                                if (
$row[
"msg"] == 
"update_applied")
 
 4179                                        $a_message.= $sep.$row[
"nr"];
 
 4184                                        $e_message.= 
"<br/>".$this->lng->txt(
$row[
"msg"]).
": ".
$row[
"nr"];
 
 4187                        if ($a_message != 
"")
 
 4189                                $a_message = $this->lng->txt(
"update_applied").
": ".$a_message;
 
 4206                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 4209                $this->form->setId(
"clone_form");
 
 4210                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 4212                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 )
 
 4214                        $this->form->setTitle($this->lng->txt(
"clone_source"));
 
 4216                        $clientlist = 
new ilClientList($this->setup->db_connections);
 
 4217                        $list = $clientlist->getClients();
 
 4218                        $clientlistarray = array();
 
 4220                        foreach ($list as $key => 
$client){
 
 4221                                if ((strcmp($key, $this->setup->getClient()->getId()) != 
'0') && (
$client->getDbType() == 
'mysql')) {  
 
 4228                        $si->setOptions(array_merge(
 
 4229                                array(
"" => 
"-- ".
$lng->txt(
"please_select").
" --"),
 
 4231                        $si->setRequired(
true);
 
 4232                        $this->form->addItem(
$si);
 
 4235                        $cb->setRequired(
true);
 
 4236                        $this->form->addItem($cb);
 
 4238                        $this->form->addCommandButton(
"cloneSaveSource", 
$lng->txt(
"cloneit"));
 
 4240                        $disabledmessage = 
"<h1>" . $this->lng->txt(
"clone_disabledmessage") .
"</h1><br>";
 
 4241                        if (!$this->setup->getClient()->status[
"access"][
"status"] === 
false) {
 
 4242                                $disabledmessage .= $this->lng->txt(
"clone_clientnotdisabled") . 
"<br>";
 
 4244                        if (!stripos($this->setup->getClient()->getName(),
"aster") === 
false) {
 
 4245                                $disabledmessage .= $this->lng->txt(
"clone_clientismaster") . 
"<br>";
 
 4247                        if ($this->setup->getClient()->getdbType() != 
"mysql") {
 
 4248                                $disabledmessage .= $this->lng->txt(
"clone_clientisnotmysql") . 
"<br>";
 
 4250                        if (!$this->setup->getClient()->db_exists) {
 
 4251                                $disabledmessage .= $this->lng->txt(
"clone_clientnodatabase") . 
"<br>";
 
 4253                        $this->form->setTitle($disabledmessage);
 
 4259                if (!$this->setup->isAdmin())
 
 4265                $this->form->setValuesByPost();
 
 4266                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_clone"));
 
 4267                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4274                if (!$this->setup->isAdmin())
 
 4281                if ($this->form->checkInput())
 
 4283                        if ($this->form->getInput(
"iamsure") != 
"1")
 
 4285                                $message = $this->lng->txt(
"clone_youmustcheckiamsure");
 
 4286                                $this->setup->raiseError($message,$this->setup->error_obj->MESSAGE);
 
 4288                        if (!$this->setup->cloneFromSource($this->form->getInput(
"source")))
 
 4290                                $message = $this->lng->txt(
"clone_error");
 
 4291                                $this->setup->raiseError($message . 
" -> " . $this->setup->error,$this->setup->error_obj->MESSAGE);
 
 4297                $this->form->setValuesByPost();
 
 4298                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_clone"));
 
 4299                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4305                $settings = $this->setup->getClient()->getAllSettings();
 
 4309                        include_once(
"./Services/Administration/classes/class.ilSetting.php");
 
 4311                        $this->form->setValuesByArray(array(
 
 4312                                'proxy_status' => (
bool)$settings[
'proxy_status'],
 
 4313                                'proxy_host' => $settings[
'proxy_host'],
 
 4314                                'proxy_port' => $settings[
'proxy_port']
 
 4316                        if((
bool)$settings[
'proxy_status'])
 
 4318                                $this->setup->printProxyStatus($this->setup->client);
 
 4321                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
 4322                $this->tpl->setVariable(
"TXT_INFO", $this->lng->txt(
"info_text_proxy"));
 
 4325                $check = $this->setup->checkClientProxySettings($this->setup->client);
 
 4327                $this->setup->getClient()->status[
"proxy"][
"status"] = $check[
"status"];
 
 4328                $this->setup->getClient()->status[
"proxy"][
"comment"] = $check[
"comment"];
 
 4329                $this->setup->getClient()->status[
"proxy"][
"text"] = $check[
"comment"];
 
 4331                if ($check[
"status"])
 
 4333                        $this->setButtonNext(
"nic");
 
 4336                $this->setButtonPrev(
"contact");
 
 4343                include_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
 
 4345                $this->form->setFormAction(
"setup.php?cmd=gateway");
 
 4349                $proxs->setInfo(
$lng->txt(
'proxy_status_info'));
 
 4350                $proxs->setValue(1);
 
 4351                $this->form->addItem($proxs);
 
 4355                $proxs->addSubItem($proxa);
 
 4359                $prox->setInfo(
$lng->txt(
'proxy_host_info'));
 
 4360                $proxs->addSubItem($prox);
 
 4364                $proxp->setInfo(
$lng->txt(
'proxy_port_info'));
 
 4365                $proxp->setSize(10);
 
 4366                $proxp->setMaxLength(10);
 
 4367                $proxs->addSubItem($proxp);
 
 4370                $this->form->addCommandButton(
'saveProxy', 
$lng->txt(
'save'));
 
 4385                $isFormValid = $this->form->checkInput();
 
 4387                $new_settings[
'proxy_status'] = (int)$this->form->getInput(
'proxy_status');
 
 4388                $new_settings[
'proxy_host'] = trim($this->form->getInput(
'proxy_host'));
 
 4389                $new_settings[
'proxy_port'] = trim($this->form->getInput(
'proxy_port'));
 
 4393                        if($new_settings[
'proxy_status'] == 
true)
 
 4395                                if(!strlen($new_settings[
'proxy_host']))
 
 4397                                        $isFormValid = 
false;
 
 4398                                        $this->form->getItemByPostVar(
'proxy_host')->setAlert(
$lng->txt(
'msg_input_is_required'));
 
 4400                                if(!strlen($new_settings[
'proxy_port']))
 
 4402                                        $isFormValid = 
false;
 
 4403                                        $this->form->getItemByPostVar(
'proxy_port')->setAlert(
$lng->txt(
'msg_input_is_required'));
 
 4405                                if(!preg_match(
'/[0-9]{1,}/', $new_settings[
'proxy_port']) ||
 
 4406                                        $new_settings[
'proxy_port'] < 0 ||
 
 4407                                        $new_settings[
'proxy_port'] > 65535)
 
 4409                                        $isFormValid = 
false;
 
 4410                                        $this->form->getItemByPostVar(
'proxy_port')->setAlert(
$lng->txt(
'proxy_port_numeric'));
 
 4416                                $this->setup->saveProxySettings($new_settings);
 
 4419                                $settings = $this->setup->getClient()->getAllSettings();
 
 4420                                if($settings[
'proxy_status'] == 
true)
 
 4422                                        $this->setup->printProxyStatus($this->setup->client);
 
 4431                $this->form->setValuesByPost();
 
 4432                $this->tpl->setVariable(
"SETUP_CONTENT", $this->form->getHTML());
 
static _getShortTimeZoneList()
get short timezone list
Class ilGlobalCacheSettings.
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
changeMasterPassword()
display change password form and process form input
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
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
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.
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 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['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
if(!is_array($argv)) $options
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
const ILIAS_ABSOLUTE_PATH