diff options
-rw-r--r-- | common.php | 26 | ||||
-rw-r--r-- | index.php | 14 | ||||
-rw-r--r-- | login.php | 4 |
3 files changed, 35 insertions, 9 deletions
diff --git a/common.php b/common.php new file mode 100644 index 0000000..367ae55 --- /dev/null +++ b/common.php @@ -0,0 +1,26 @@ +<?php + +function sanity_check() { + + if (!is_writable(SCRATCH_DB)) { + die(SCRATCH_DB . " is not writable"); + } + + if (!is_writable(dirname(SCRATCH_DB))) { + die(dirname(SCRATCH_DB) . " directory is not writable"); + } + + try { + $dbh = new PDO("sqlite:" . SCRATCH_DB); + + $res = $dbh->query("SELECT id FROM epube_users LIMIT 1"); + + if (!$res) { + die("Test query failed, is schema installed? (sqlite3 " . SCRATCH_DB . "< schema.sql)"); + } + + } catch (Exception $e) { + die($e); + } + +}
\ No newline at end of file @@ -7,12 +7,16 @@ die("sessions/ directory is not writable."); } + require_once "config.php"; + require_once "common.php"; + + sanity_check(); + if (!isset($_COOKIE['epube_sid'])) { header("Location: login.php"); exit; } - require_once "config.php"; require_once "sessions.php"; require_once "db.php"; @@ -34,14 +38,6 @@ die; } - if (!is_writable(SCRATCH_DB)) { - die(SCRATCH_DB . " is not writable"); - } - - if (!is_writable(dirname(SCRATCH_DB))) { - die(dirname(SCRATCH_DB) . " directory is not writable"); - } - // TODO: this should be unified with the service worker cache list $check_files_mtime = [ 'manifest.json', @@ -1,5 +1,9 @@ <?php require_once "config.php"; + require_once "common.php"; + + sanity_check(); + require_once "sessions.php"; @$op = $_REQUEST["op"]; |