public function testInstall($verify = 1) { global $DB; $DB->connect(); if (file_exists("save.sql") and $verify == '0') { $query = "SHOW TABLES"; $result = $DB->query($query); while ($data = $DB->fetch_array($result)) { $DB->query("DROP TABLE " . $data[0]); } $res = $DB->runFile("save.sql"); $this->assertTrue($res, "Fail: SQL Error during import saved GLPI DB"); echo "======= Import save.sql file =======\n"; $TimelineticketInstall = new TimelineticketInstall(); $TimelineticketInstall->testDB(TRUE); } else { $query = "SHOW TABLES"; $result = $DB->query($query); while ($data = $DB->fetch_array($result)) { if (strstr($data[0], "timelineticket")) { $DB->query("DROP TABLE " . $data[0]); } } passthru("cd ../tools && /usr/local/bin/php -f cli_install.php"); Session::loadLanguage("en_GB"); $TimelineticketInstall = new TimelineticketInstall(); $TimelineticketInstall->testDB(TRUE); passthru("mysqldump -h " . $DB->dbhost . " -u " . $DB->dbuser . " -p" . $DB->dbpassword . " " . $DB->dbdefault . " > save.sql"); } $GLPIlog = new GLPIlogs(); $GLPIlog->testSQLlogs(); $GLPIlog->testPHPlogs(); }
function Update($version = '') { global $DB; if ($version == '') { return; } echo "#####################################################\n\n ######### Update from version " . $version . "###############\n\n #####################################################\n"; $GLPIInstall = new GLPIInstall(); $GLPIInstall->testInstall(); $query = "SHOW TABLES"; $result = $DB->query($query); while ($data = $DB->fetch_array($result)) { if (strstr($data[0], "timelineticket")) { $DB->query("DROP TABLE " . $data[0]); } } $query = "DELETE FROM `glpi_displaypreferences` \n WHERE `itemtype` LIKE 'PluginTimelineticket%'"; $DB->query($query); // ** Insert in DB $res = $DB->runFile(GLPI_ROOT . "/plugins/timelineticket/phpunit/TimelineticketInstall/Update/mysql/i-" . $version . ".sql"); $this->assertTrue($res, "Fail: SQL Error during insert version " . $version); passthru("cd ../tools/ && /usr/local/bin/php -f cli_install.php"); $TimelineticketInstall = new TimelineticketInstall(); $TimelineticketInstall->testDB(TRUE); $GLPIlog = new GLPIlogs(); $GLPIlog->testSQLlogs(); $GLPIlog->testPHPlogs(); }