Example #1
0
function setup()
{
    global $settings;
    $exec_start = microtime(true);
    mkdir($settings->data_dir, 0660);
    touch("{$settings->data_dir}/sqlite.log");
    $db = new PDO("sqlite:{$settings->data_dir}/{$settings->database_filename}");
    sqlite_gateway::exec("create table users (\r\n\tid integer primary key,\r\n\tusername text,\r\n\tpassword_hash text,\r\n\troles int\r\n);", $db);
    sqlite_gateway::exec("insert into users (id, username, password_hash, roles) values (\r\n\t1,\r\n\t'admin',\r\n\t'" . SQLite3::escapeString(password_hash("password", PASSWORD_DEFAULT, ["cost" => $settings->password_hash_cost])) . "',\r\n\t" . (ROLE_USER | ROLE_MODERATOR | ROLE_ADMIN) . "\r\n);", $db);
    sqlite_gateway::exec("create table sessions (\r\n\tid integer primary key,\r\n\tkey text,\r\n\tusername text,\r\n\texpiry_timestamp int\r\n);", $db);
    sqlite_gateway::exec("create table code_snippets (\r\n\tid integer primary key,\r\n\ttimestamp int,\r\n\tauthor text,\r\n\ttitle text,\r\n\tdescription text,\r\n\tcode text,\r\n\tlanguage text,\r\n\ttags text\r\n);", $db);
    // insert test data here
    sqlite_gateway::exec("insert into code_snippets values (?, 1440668479, 'admin', 'test snippet', 'this is a test snippet.', 'function test(x) { console.log(x); }', 'javascript', 'test, function');", $db);
    // todo display a nice welcome page
    return microtime(true) - $exec_start;
}
Example #2
0
 public static function clean()
 {
     return sqlite_gateway::exec("delete from sessions where expiry_timestamp < " . time() . ";");
 }