/**
  * @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']));
 }
Beispiel #3
0
        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'] = '';