/** * Update database */ function updateDatabase() { global $ilDB, $lng; ilCachedComponentData::flush(); include_once "./Services/Component/classes/class.ilPluginDBUpdate.php"; $dbupdate = new ilPluginDBUpdate($this->getComponentType(), $this->getComponentName(), $this->getSlotId(), $this->getPluginName(), $ilDB, true, $this->getTablePrefix()); //$dbupdate->getDBVersionStatus(); //$dbupdate->getCurrentVersion(); $result = $dbupdate->applyUpdate(); $message = ''; if ($dbupdate->updateMsg == "no_changes") { $message = $lng->txt("no_changes") . ". " . $lng->txt("database_is_uptodate"); } else { foreach ($dbupdate->updateMsg as $row) { $message .= $lng->txt($row["msg"]) . ": " . $row["nr"] . "<br/>"; } } $this->message .= $message; return $result; }
/** * Update plugin DB */ function updatePluginDB() { global $ilDB; die("ilObjComponentSettigsGUI::updatePluginDB: deprecated"); include_once "./Services/Component/classes/class.ilPluginDBUpdate.php"; $dbupdate = new ilPluginDBUpdate($_GET["ctype"], $_GET["cname"], $_GET["slot_id"], $_GET["pname"], $ilDB, true); $dbupdate->applyUpdate(); if ($dbupdate->updateMsg == "no_changes") { $message = $this->lng->txt("no_changes") . ". " . $this->lng->txt("database_is_uptodate"); } else { foreach ($dbupdate->updateMsg as $row) { $message .= $this->lng->txt($row["msg"]) . ": " . $row["nr"] . "<br/>"; } } ilUtil::sendInfo($message, true); $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]); $ilCtrl->setParameter($this, "cname", $_GET["cname"]); $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]); $ilCtrl->redirect($this, "listPlugins"); }
/** * Standard Version of Fill Row. Most likely to * be overwritten by derived class. */ protected function fillRow($a_set) { global $lng, $ilCtrl, $ilDB; $ilCtrl->setParameter($this->parent_obj, "ctype", $_GET["ctype"]); $ilCtrl->setParameter($this->parent_obj, "cname", $_GET["cname"]); $ilCtrl->setParameter($this->parent_obj, "slot_id", $_GET["slot_id"]); $ilCtrl->setParameter($this->parent_obj, "pname", $a_set["name"]); // dbupdate $file = ilPlugin::getDBUpdateScriptName($_GET["ctype"], $_GET["cname"], ilPluginSlot::lookupSlotName($_GET["ctype"], $_GET["cname"], $_GET["slot_id"]), $a_set["name"]); if (@is_file($file)) { include_once "./Services/Component/classes/class.ilPluginDBUpdate.php"; $dbupdate = new ilPluginDBUpdate($_GET["ctype"], $_GET["cname"], $_GET["slot_id"], $a_set["name"], $ilDB, true, ""); // update command /* if ($dbupdate->getFileVersion() > $dbupdate->getCurrentVersion()) { $this->tpl->setCurrentBlock("db_update_cmd"); $this->tpl->setVariable("TXT_UPDATE_DB", $lng->txt("cmps_update_db")); $this->tpl->setVariable("HREF_UPDATE_DB", $ilCtrl->getLinkTarget($this->parent_obj, "updatePluginDB")); $this->tpl->parseCurrentBlock(); } */ // db version $this->tpl->setCurrentBlock("db_versions"); $this->tpl->setVariable("TXT_CURRENT_VERSION", $lng->txt("cmps_current_version")); $this->tpl->setVariable("VAL_CURRENT_VERSION", $dbupdate->getCurrentVersion()); $this->tpl->setVariable("TXT_FILE_VERSION", $lng->txt("cmps_file_version")); $this->tpl->setVariable("VAL_FILE_VERSION", $dbupdate->getFileVersion()); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("db_update"); $this->tpl->setVariable("DB_UPDATE_FILE", "dbupdate.php"); } else { $this->tpl->setCurrentBlock("db_update"); $this->tpl->setVariable("DB_UPDATE_FILE", $lng->txt("cmps_no_db_update_file_available")); } $this->tpl->parseCurrentBlock(); // language files $langs = ilPlugin::getAvailableLangFiles($this->slot->getPluginsDirectory() . "/" . $a_set["name"] . "/lang"); if (count($langs) == 0) { $this->tpl->setCurrentBlock("lang"); $this->tpl->setVariable("VAL_LANG_FILE", $lng->txt("cmps_no_language_file_available")); $this->tpl->parseCurrentBlock(); } foreach ($langs as $lang) { $this->tpl->setCurrentBlock("lang"); $this->tpl->setVariable("VAL_LANG_FILE", $lang["file"]); $this->tpl->parseCurrentBlock(); } // activation button if ($a_set["activation_possible"]) { $this->tpl->setCurrentBlock("activate"); $this->tpl->setVariable("HREF_ACTIVATE", $ilCtrl->getLinkTarget($this->parent_obj, "activatePlugin")); $this->tpl->setVariable("TXT_ACTIVATE", $lng->txt("cmps_activate")); $this->tpl->parseCurrentBlock(); } // deactivation/refresh languages button if ($a_set["is_active"]) { // deactivate button $this->tpl->setCurrentBlock("deactivate"); $this->tpl->setVariable("HREF_DEACTIVATE", $ilCtrl->getLinkTarget($this->parent_obj, "deactivatePlugin")); $this->tpl->setVariable("TXT_DEACTIVATE", $lng->txt("cmps_deactivate")); $this->tpl->parseCurrentBlock(); // refresh languages button if (count($langs) > 0) { $this->tpl->setCurrentBlock("refresh_langs"); $this->tpl->setVariable("HREF_REFRESH_LANGS", $ilCtrl->getLinkTarget($this->parent_obj, "refreshLanguages")); $this->tpl->setVariable("TXT_REFRESH_LANGS", $lng->txt("cmps_refresh")); $this->tpl->parseCurrentBlock(); } // configure button if (ilPlugin::hasConfigureClass($this->slot->getPluginsDirectory(), $a_set["name"]) && $ilCtrl->checkTargetClass(ilPlugin::getConfigureClassName($a_set["name"]))) { $this->tpl->setCurrentBlock("configure"); $this->tpl->setVariable("HREF_CONFIGURE", $ilCtrl->getLinkTargetByClass(strtolower(ilPlugin::getConfigureClassName($a_set["name"])), "configure")); $this->tpl->setVariable("TXT_CONFIGURE", $lng->txt("cmps_configure")); $this->tpl->parseCurrentBlock(); } } // update button if ($a_set["needs_update"]) { $this->tpl->setCurrentBlock("update"); $this->tpl->setVariable("HREF_UPDATE", $ilCtrl->getLinkTarget($this->parent_obj, "updatePlugin")); $this->tpl->setVariable("TXT_UPDATE", $lng->txt("cmps_update")); $this->tpl->parseCurrentBlock(); } if (strlen($a_set["responsible"])) { $responsibles = explode('/', $a_set["responsible_mail"]); $first_handled = false; foreach ($responsibles as $responsible) { if (!strlen($responsible = trim($responsible))) { continue; } if ($first_handled) { $this->tpl->touchBlock('plugin_responsible_sep'); } $this->tpl->setCurrentBlock("plugin_responsible"); $this->tpl->setVariable("VAL_PLUGIN_RESPONSIBLE_MAIL", $responsible); $this->tpl->parseCurrentBlock(); $first_handled = true; } $this->tpl->setCurrentBlock("responsible_mail"); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("responsible"); $this->tpl->setVariable("TXT_RESPONSIBLE", $lng->txt("cmps_responsible")); $this->tpl->setVariable("VAL_PLUGIN_RESPONSIBLE", $a_set["responsible"]); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("VAL_PLUGIN_NAME", $a_set["name"]); $this->tpl->setVariable("VAL_PLUGIN_ID", $a_set["id"]); $this->tpl->setVariable("TXT_PLUGIN_NAME", $lng->txt("cmps_name")); $this->tpl->setVariable("TXT_PLUGIN_ID", $lng->txt("cmps_id")); $this->tpl->setVariable("TXT_PLUGIN_VERSION", $lng->txt("cmps_version")); $this->tpl->setVariable("TXT_PHP_FILE", "plugin.php"); $this->tpl->setVariable("TXT_CLASS_FILE", $lng->txt("cmps_class_file")); $this->tpl->setVariable("VAL_CLASS_FILE", $a_set["class_file"]); $this->tpl->setVariable("TXT_VERSION", $lng->txt("cmps_version")); $this->tpl->setVariable("VAL_PLUGIN_VERSION", $a_set["version"]); $this->tpl->setVariable("TXT_ILIAS_MIN", $lng->txt("cmps_ilias_min_version")); $this->tpl->setVariable("VAL_ILIAS_MIN", $a_set["ilias_min_version"]); $this->tpl->setVariable("TXT_ILIAS_MAX", $lng->txt("cmps_ilias_max_version")); $this->tpl->setVariable("VAL_ILIAS_MAX", $a_set["ilias_max_version"]); $this->tpl->setVariable("TXT_STATUS", $lng->txt("cmps_status")); if ($a_set["is_active"]) { $this->tpl->setVariable("VAL_STATUS", $lng->txt("cmps_active")); } else { $r = $a_set["inactive_reason"] != "" ? " (" . $a_set["inactive_reason"] . ")" : ""; $this->tpl->setVariable("VAL_STATUS", $lng->txt("cmps_inactive") . $r); } if ($a_set["plugin_php_file_status"]) { $this->tpl->setVariable("VAL_PLUGIN_PHP_FILE_STATUS", $lng->txt("cmps_available")); } else { $this->tpl->setVariable("VAL_PLUGIN_PHP_FILE_STATUS", $lng->txt("cmps_missing")); } if ($a_set["class_file_status"]) { $this->tpl->setVariable("VAL_CLASS_FILE_STATUS", $lng->txt("cmps_available")); } else { $this->tpl->setVariable("VAL_CLASS_FILE_STATUS", $lng->txt("cmps_missing")); } }