/** * @test */ public function installDatabase() { $DBvars = get_class_vars('DB'); drop_database($DBvars['dbuser'], $DBvars['dbhost'], $DBvars['dbdefault'], $DBvars['dbpassword']); $result = load_mysql_file($DBvars['dbuser'], $DBvars['dbhost'], $DBvars['dbdefault'], $DBvars['dbpassword'], GLPI_ROOT . "/install/mysql/glpi-0.90-empty.sql"); $this->assertEquals(0, $result['returncode'], "Failed to install GLPI database:\n" . implode("\n", $result['output'])); }
/** * @test */ public function installDatabase() { $DBvars = get_class_vars('DB'); drop_database($DBvars['dbuser'], $DBvars['dbhost'], $DBvars['dbdefault'], $DBvars['dbpassword']); $result = load_mysql_file($DBvars['dbuser'], $DBvars['dbhost'], $DBvars['dbdefault'], $DBvars['dbpassword'], GLPI_ROOT . "/install/mysql/glpi-0.91-empty.sql"); $output = array(); $returncode = 0; exec("php -f " . GLPI_ROOT . "/tools/cliupdate.php -- --upgrade", $output, $returncode); $this->assertEquals(0, $returncode, "Error when update GLPI in CLI mode\n" . implode("\n", $output)); $this->assertEquals(0, $result['returncode'], "Failed to install GLPI database:\n" . implode("\n", $result['output'])); }
die("Connection failed"); } query_check('DROP DATABASE irremote;'); } function create_database() { global $db; $db = new mysqli(DB_SERVER, DB_USER, DB_PASS); if ($db->connect_error) { die("Connect failed"); } query_check('CREATE DATABASE IF NOT EXISTS ' . DB_NAME); query_check('USE ' . DB_NAME); query_check('CREATE TABLE IF NOT EXISTS users (' . 'id int NOT NULL AUTO_INCREMENT,' . 'email VARCHAR(255) NOT NULL,' . 'username VARCHAR(32) NOT NULL,' . 'password VARCHAR(128) NOT NULL,' . 'reg_date TIMESTAMP NOT NULL DEFAULT NOW(),' . 'access_token VARCHAR(32),' . 'PRIMARY KEY (id)' . ');'); query_check('ALTER TABLE users AUTO_INCREMENT=10000;'); query_check('CREATE TABLE IF NOT EXISTS registrations (' . 'username VARCHAR(32) NOT NULL,' . 'email VARCHAR(255) NOT NULL,' . 'password VARCHAR(128) NOT NULL,' . 'reg_date TIMESTAMP NOT NULL DEFAULT NOW(),' . 'token CHAR(32) NOT NULL' . ');'); query_check('CREATE TABLE IF NOT EXISTS remotes (' . 'id int NOT NULL AUTO_INCREMENT,' . 'parent_id int,' . 'user_id int,' . 'manufacturer VARCHAR(64),' . 'model VARCHAR(64),' . 'device_type VARCHAR(64),' . 'PRIMARY KEY (id),' . 'FOREIGN KEY (parent_id) REFERENCES remotes(id),' . 'FOREIGN KEY (user_id) REFERENCES users(id)' . ');'); query_check('ALTER TABLE remotes AUTO_INCREMENT=10000;'); query_check('CREATE TABLE IF NOT EXISTS buttons (' . 'remote_id int,' . 'function VARCHAR(64),' . 'frequency int,' . 'pattern VARCHAR(32768),' . 'FOREIGN KEY (remote_id) REFERENCES remotes(id)' . ');'); query_check('CREATE TABLE IF NOT EXISTS ratings (' . 'remote_id int NOT NULL,' . 'user_id int NOT NULL,' . 'rating tinyint,' . 'FOREIGN KEY (remote_id) REFERENCES remotes(id),' . 'FOREIGN KEY (user_id) REFERENCES users(id)' . ');'); echo '<br><br>All OK'; } if ($allow_db_creation) { if (isset($_GET['drop_db'])) { drop_database(); } if (isset($_GET['create_db'])) { create_database(); } echo '<!DOCTYPE html>' . '<html>' . '<body>' . ' <form mehtod="get" action="create-db.php">' . ' <input hidden name="create_db" value="true">' . ' <button type="submit">Create db</button>' . ' </form><br>' . ' <form mehtod="get" action="create-db.php">' . ' <input hidden name="drop_db" value="true">' . ' <button type="submit">Drop db</button>' . ' </form>' . '</body>' . '</html>'; }
public static function drop_database() { $DBvars = get_class_vars('DB'); $result = drop_database($DBvars['dbuser'], $DBvars['dbhost'], $DBvars['dbdefault'], $DBvars['dbpassword']); self::assertEquals(0, $result['returncode'], "Failed to drop GLPI database:\n" . implode("\n", $result['output'])); }
$s_login['database'] = ''; $s_connected = FALSE; remove_edit_panels(); cleanup_session(); } if (!have_db_suffix($s_delete_db['database'])) { $error = sprintf($ERRORS['WRONG_DB_SUFFIX'], implode("', '", "'" . $DATABASE_SUFFIXES) . "'"); } elseif (!is_allowed_db($s_delete_db['database'])) { $error = sprintf($ERRORS['DB_NOT_ALLOWED'], $s_delete_db['database']); } elseif ($s_cust['askdel'] == TRUE) { $s_confirmations['database'] = array('msg' => sprintf($MESSAGES['CONFIRM_DB_DELETE'], $s_delete_db['database'])); } } // deleting a database is confirmed if (isset($_POST['confirm_yes']) || isset($_POST['db_delete_doit']) && $s_cust['askdel'] == FALSE && empty($error)) { $ib_error = drop_database($s_delete_db, $s_login); unset($s_confirmations['database']); if (empty($ib_error)) { if ($s_login['database'] == $s_delete_db['database']) { $s_login['database'] = ''; $s_connected = FALSE; remove_edit_panels(); cleanup_session(); } $s_delete_db['database'] = ''; } } // deleting a database is canceled if (isset($_POST['confirm_no'])) { unset($s_confirmations['database']); $s_delete_db['database'] = '';