function plugin_certificates_install() { global $DB; include_once (GLPI_ROOT."/plugins/certificates/inc/profile.class.php"); $install=false; $update78=false; $update80=false; if (!TableExists("glpi_plugin_certificates") && !TableExists("glpi_plugin_certificates_certificatetypes")) { $install=true; $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/empty-2.0.0.sql"); } else if (TableExists("glpi_plugin_certificates_mailing") && !FieldExists("glpi_plugin_certificates","recursive")) { $update78=true; $update80=true; $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.4.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.5.0.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.6.0.sql"); } else if (TableExists("glpi_plugin_certificates_profiles") && FieldExists("glpi_plugin_certificates_profiles","interface")) { $update78=true; $update80=true; $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.5.0.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.6.0.sql"); } else if (TableExists("glpi_plugin_certificates") && !FieldExists("glpi_plugin_certificates","date_mod")) { $update78=true; $update80=true; $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.6.0.sql"); } else if (!TableExists("glpi_plugin_certificates_certificatetypes")) { $update78=true; $update80=true; $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.6.0.sql"); } //from 1.6 version if (TableExists("glpi_plugin_certificates_certificates") && !FieldExists("glpi_plugin_certificates_certificates","users_id_tech")) { $DB->runFile(GLPI_ROOT ."/plugins/certificates/sql/update-1.8.0.sql"); } if (TableExists("glpi_plugin_certificates_profiles")) { $notepad_tables = array('glpi_plugin_certificates_certificates'); foreach ($notepad_tables as $t) { // Migrate data if (FieldExists($t, 'notepad')) { $query = "SELECT id, notepad FROM `$t` WHERE notepad IS NOT NULL AND notepad <>'';"; foreach ($DB->request($query) as $data) { $iq = "INSERT INTO `glpi_notepads` (`itemtype`, `items_id`, `content`, `date`, `date_mod`) VALUES ('".getItemTypeForTable($t)."', '".$data['id']."', '".addslashes($data['notepad'])."', NOW(), NOW())"; $DB->queryOrDie($iq, "0.85 migrate notepad data"); } $query = "ALTER TABLE `glpi_plugin_certificates_certificates` DROP COLUMN `notepad`;"; $DB->query($query); } } } if ($install || $update78) { //Do One time on 0.78 $query_id = "SELECT `id` FROM `glpi_notificationtemplates` WHERE `itemtype`='PluginCertificatesCertificate' AND `name` = 'Alert Certificates'"; $result = $DB->query($query_id) or die ($DB->error()); $itemtype = $DB->result($result,0,'id'); $query="INSERT INTO `glpi_notificationtemplatetranslations` VALUES(NULL, ".$itemtype.", '','##certificate.action## : ##certificate.entity##', '##lang.certificate.entity## :##certificate.entity## ##FOREACHcertificates## ##lang.certificate.name## : ##certificate.name## - ##lang.certificate.dateexpiration## : ##certificate.dateexpiration## ##ENDFOREACHcertificates##', '<p>##lang.certificate.entity## :##certificate.entity##<br /> <br /> ##FOREACHcertificates##<br /> ##lang.certificate.name## : ##certificate.name## - ##lang.certificate.dateexpiration## : ##certificate.dateexpiration##<br /> ##ENDFOREACHcertificates##</p>');"; $result=$DB->query($query); $query = "INSERT INTO `glpi_notifications` VALUES (NULL, 'Alert Expired Certificates', 0, 'PluginCertificatesCertificate', 'ExpiredCertificates', 'mail',".$itemtype.", '', 1, 1, '2010-02-17 22:36:46');"; $result=$DB->query($query); $query = "INSERT INTO `glpi_notifications` VALUES (NULL, 'Alert Certificates Which Expire', 0, 'PluginCertificatesCertificate', 'CertificatesWhichExpire', 'mail',".$itemtype.", '', 1, 1, '2010-02-17 22:36:46');"; $result=$DB->query($query); } if ($update78) { $query_="SELECT * FROM `glpi_plugin_certificates_profiles` "; $result_=$DB->query($query_); if ($DB->numrows($result_)>0) { while ($data=$DB->fetch_array($result_)) { $query="UPDATE `glpi_plugin_certificates_profiles` SET `profiles_id` = '".$data["id"]."' WHERE `id` = '".$data["id"]."';"; $result=$DB->query($query); } } $query="ALTER TABLE `glpi_plugin_certificates_profiles` DROP `name` ;"; $result=$DB->query($query); Plugin::migrateItemType( array(1700=>'PluginCertificatesCertificate'), array("glpi_bookmarks", "glpi_bookmarks_users", "glpi_displaypreferences", "glpi_documents_items", "glpi_infocoms", "glpi_logs", "glpi_tickets"), array("glpi_plugin_certificates_certificates_items")); Plugin::migrateItemType( array(1200 => "PluginAppliancesAppliance",1300 => "PluginWebapplicationsWebapplication"), array("glpi_plugin_certificates_certificates_items")); } CronTask::Register('PluginCertificatesCertificate', 'CertificatesAlert', DAY_TIMESTAMP); PluginCertificatesProfile::initProfile(); PluginCertificatesProfile::createFirstAccess($_SESSION['glpiactiveprofile']['id']); $migration = new Migration("2.0.0"); $migration->dropTable('glpi_plugin_certificates_profiles'); return true; }
function plugin_certificates_install() { global $DB; include_once GLPI_ROOT . "/plugins/certificates/inc/profile.class.php"; $install = false; $update78 = false; $update80 = false; if (!TableExists("glpi_plugin_certificates") && !TableExists("glpi_plugin_certificates_certificatetypes")) { $install = true; $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/empty-1.8.0.sql"); } else { if (TableExists("glpi_plugin_certificates_mailing") && !FieldExists("glpi_plugin_certificates", "recursive")) { $update78 = true; $update80 = true; $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.4.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.5.0.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.6.0.sql"); } else { if (TableExists("glpi_plugin_certificates_profiles") && FieldExists("glpi_plugin_certificates_profiles", "interface")) { $update78 = true; $update80 = true; $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.5.0.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.6.0.sql"); } else { if (TableExists("glpi_plugin_certificates") && !FieldExists("glpi_plugin_certificates", "date_mod")) { $update78 = true; $update80 = true; $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.5.1.sql"); $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.6.0.sql"); } else { if (!TableExists("glpi_plugin_certificates_certificatetypes")) { $update78 = true; $update80 = true; $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.6.0.sql"); } } } } } //from 1.6 version if (TableExists("glpi_plugin_certificates_certificates") && !FieldExists("glpi_plugin_certificates_certificates", "users_id_tech")) { $DB->runFile(GLPI_ROOT . "/plugins/certificates/sql/update-1.8.0.sql"); } if ($install || $update78) { //Do One time on 0.78 $query_id = "SELECT `id` FROM `glpi_notificationtemplates` WHERE `itemtype`='PluginCertificatesCertificate' AND `name` = 'Alert Certificates'"; $result = $DB->query($query_id) or die($DB->error()); $itemtype = $DB->result($result, 0, 'id'); $query = "INSERT INTO `glpi_notificationtemplatetranslations`\n VALUES(NULL, " . $itemtype . ", '','##certificate.action## : ##certificate.entity##',\n '##lang.certificate.entity## :##certificate.entity##\n ##FOREACHcertificates##\n ##lang.certificate.name## : ##certificate.name## - ##lang.certificate.dateexpiration## : ##certificate.dateexpiration##\n ##ENDFOREACHcertificates##',\n '<p>##lang.certificate.entity## :##certificate.entity##<br /> <br />\n ##FOREACHcertificates##<br />\n ##lang.certificate.name## : ##certificate.name## - ##lang.certificate.dateexpiration## : ##certificate.dateexpiration##<br /> \n ##ENDFOREACHcertificates##</p>');"; $result = $DB->query($query); $query = "INSERT INTO `glpi_notifications`\n VALUES (NULL, 'Alert Expired Certificates', 0, 'PluginCertificatesCertificate', 'ExpiredCertificates',\n 'mail'," . $itemtype . ",\n '', 1, 1, '2010-02-17 22:36:46');"; $result = $DB->query($query); $query = "INSERT INTO `glpi_notifications`\n VALUES (NULL, 'Alert Certificates Which Expire', 0, 'PluginCertificatesCertificate', 'CertificatesWhichExpire',\n 'mail'," . $itemtype . ",\n '', 1, 1, '2010-02-17 22:36:46');"; $result = $DB->query($query); } if ($update78) { $query_ = "SELECT *\n FROM `glpi_plugin_certificates_profiles` "; $result_ = $DB->query($query_); if ($DB->numrows($result_) > 0) { while ($data = $DB->fetch_array($result_)) { $query = "UPDATE `glpi_plugin_certificates_profiles`\n SET `profiles_id` = '" . $data["id"] . "'\n WHERE `id` = '" . $data["id"] . "';"; $result = $DB->query($query); } } $query = "ALTER TABLE `glpi_plugin_certificates_profiles`\n DROP `name` ;"; $result = $DB->query($query); Plugin::migrateItemType(array(1700 => 'PluginCertificatesCertificate'), array("glpi_bookmarks", "glpi_bookmarks_users", "glpi_displaypreferences", "glpi_documents_items", "glpi_infocoms", "glpi_logs", "glpi_tickets"), array("glpi_plugin_certificates_certificates_items")); Plugin::migrateItemType(array(1200 => "PluginAppliancesAppliance", 1300 => "PluginWebapplicationsWebapplication"), array("glpi_plugin_certificates_certificates_items")); } CronTask::Register('PluginCertificatesCertificate', 'CertificatesAlert', DAY_TIMESTAMP); PluginCertificatesProfile::createFirstAccess($_SESSION['glpiactiveprofile']['id']); return true; }