/** * Get clients * * @param * @return */ function getClients() { global $lng; $clients = array(); $clientlist = new ilClientList($this->setup->db_connections); $list = $clientlist->getClients(); foreach ($list as $key => $client) { // check status $status_arr = $this->setup->getStatus($client); if (!$status_arr["db"]["status"]) { $status = "<a href=\"setup.php?cmd=db&client_id=" . $key . "&back=clientlist\">" . $status_arr["db"]["comment"] . "</a>"; } elseif (!$status_arr["finish"]["status"]) { $status = $lng->txt("setup_not_finished"); } else { $status = "<font color=\"green\"><strong>OK</strong></font>"; } if ($status_arr["access"]["status"]) { $access = "online"; } else { $access = "disabled"; } if ($key == $this->setup->default_client) { $default = " checked=\"checked\""; } else { $default = ""; } if ($status_arr["finish"]["status"] and $status_arr["access"]["status"]) { $login = "******"../login.php?client_id=" . $key . "\">Login</a>"; } else { $login = "******"; } $access_html = "<a href=\"setup.php?cmd=changeaccess&client_id=" . $key . "&back=clientlist\">" . $this->lng->txt($access) . "</a>"; $client_name = $client->getName() ? $client->getName() : "<" . $lng->txt("no_client_name") . ">"; // visible data part $clients[] = array("default" => "<input type=\"radio\" name=\"form[default]\" value=\"" . $key . "\"" . $default . "/>", "name" => $client_name, "desc" => $client->getDescription(), "id" => $key, "login" => $login, "details" => "<a href=\"setup.php?cmd=view&client_id=" . $key . "\">Details</a>", "status" => $status, "access_html" => $access_html); } $this->setData($clients); }
/** * Initialize clone form */ function cloneInitForm() { global $lng, $ilCtrl; $this->checkDisplayMode(); include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form = new ilPropertyFormGUI(); $this->form->setId("clone_form"); $this->form->setFormAction("setup.php?cmd=gateway"); 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) { $this->form->setTitle($this->lng->txt("clone_source")); $clients = array(); $clientlist = new ilClientList($this->setup->db_connections); $list = $clientlist->getClients(); $clientlistarray = array(); foreach ($list as $key => $client) { if (strcmp($key, $this->setup->getClient()->getId()) != '0' && $client->getDbType() == 'mysql') { // You cannot clone yourself $clientlistarray[$client->id] = $client->id; } } $si = new ilSelectInputGUI($lng->txt("clone_selectsource"), "source"); $si->setOptions(array_merge(array("" => "-- " . $lng->txt("please_select") . " --"), $clientlistarray)); $si->setRequired(true); $this->form->addItem($si); $cb = new ilCheckboxInputGUI($lng->txt("clone_areyousure"), "iamsure"); $cb->setRequired(true); $this->form->addItem($cb); $this->form->addCommandButton("cloneSaveSource", $lng->txt("cloneit")); } else { $disabledmessage = "<h1>" . $this->lng->txt("clone_disabledmessage") . "</h1><br>"; if (!$this->setup->getClient()->status["access"]["status"] === false) { $disabledmessage .= $this->lng->txt("clone_clientnotdisabled") . "<br>"; } if (!stripos($this->setup->getClient()->getName(), "aster") === false) { $disabledmessage .= $this->lng->txt("clone_clientismaster") . "<br>"; } if ($this->setup->getClient()->getdbType() != "mysql") { $disabledmessage .= $this->lng->txt("clone_clientisnotmysql") . "<br>"; } if (!$this->setup->getClient()->db_exists) { $disabledmessage .= $this->lng->txt("clone_clientnodatabase") . "<br>"; } $this->form->setTitle($disabledmessage); } }
/** * show client list */ function showClientList() { global $tpl, $ilIliasIniFile, $ilCtrl; //echo "1"; if (!$ilIliasIniFile->readVariable("clients", "list")) { $this->processIndexPHP(); return; } //echo "2"; $tpl = new ilTemplate("tpl.main.html", true, true); $tpl->setAddFooter(false); // no client yet // to do: get standard style $tpl->setVariable("PAGETITLE", "Client List"); $tpl->setVariable("LOCATION_STYLESHEET", "./templates/default/delos.css"); // load client list template self::initStartUpTemplate("tpl.client_list.html"); // load template for table $tpl->addBlockfile("CLIENT_LIST", "client_list", "tpl.table.html"); // load template for table content data $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); // load table content data require_once "setup/classes/class.ilClientList.php"; require_once "setup/classes/class.ilClient.php"; require_once "setup/classes/class.ilDBConnections.php"; require_once "./Services/Table/classes/class.ilTableGUI.php"; $this->db_connections = new ilDBConnections(); $clientlist = new ilClientList($this->db_connections); $list = $clientlist->getClients(); if (count($list) == 0) { header("Location: ./setup/setup.php"); exit; } $hasPublicSection = false; foreach ($list as $key => $client) { $client->setDSN(); if ($client->checkDatabaseExists(true) and $client->ini->readVariable("client", "access") and $client->getSetting("setup_ok")) { $this->ctrl->setParameter($this, "client_id", $key); $tmp = array(); $tmp[] = $client->getName(); $tmp[] = "<a href=\"" . "login.php?cmd=force_login&client_id=" . urlencode($key) . "\">Login page</a>"; if ($client->getSetting('pub_section')) { $hasPublicSection = true; $tmp[] = "<a href=\"" . "ilias.php?baseClass=ilRepositoryGUI&client_id=" . urlencode($key) . "\">Start page</a>"; } else { $tmp[] = ''; } $data[] = $tmp; } } // create table $tbl = new ilTableGUI(); // title & header columns if ($hasPublicSection) { $tbl->setTitle("Available Clients"); $tbl->setHeaderNames(array("Installation Name", "Login", "Public Access")); $tbl->setHeaderVars(array("name", "index", "login")); $tbl->setColumnWidth(array("50%", "25%", "25%")); } else { $tbl->setTitle("Available Clients"); $tbl->setHeaderNames(array("Installation Name", "Login", '')); $tbl->setHeaderVars(array("name", "login", '')); $tbl->setColumnWidth(array("70%", "25%", '1px')); } // control $tbl->setOrderColumn($_GET["sort_by"], "name"); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); // content $tbl->setData($data); $tbl->disable("icon"); $tbl->disable("numinfo"); $tbl->disable("sort"); $tbl->disable("footer"); // render table $tbl->render(); $tpl->show("DEFAULT", true, true); }