diff options
| author | root | 2014-04-14 08:35:13 +0200 |
|---|---|---|
| committer | root | 2014-04-14 08:35:13 +0200 |
| commit | 12734da8826299ffd24c0a15f6dbf205892d7221 (patch) | |
| tree | 3b894dd30e332df23a564ce44e42ce164c8abd78 /www/setup.php | |
| parent | 7b9d516cd3bcdb8eaa5f1eb533d71010061c681b (diff) | |
| download | jungegemeinde-12734da8826299ffd24c0a15f6dbf205892d7221.tar.gz | |
Pushed to v3
Diffstat (limited to 'www/setup.php')
| -rwxr-xr-x[-rw-r--r--] | www/setup.php | 88 |
1 files changed, 75 insertions, 13 deletions
diff --git a/www/setup.php b/www/setup.php index 2465822..3e8ca76 100644..100755 --- a/www/setup.php +++ b/www/setup.php @@ -1,14 +1,76 @@ -<? - -$db = new SQLite3("../database/database.sqlite"); - -if($db-exec(" - BEGIN TRANSACTION; - CREATE TABLE log (id INTEGER PRIMARY KEY, user INTEGER, login TEXT, FOREIGN KEY(user) REFERENCES user(id)); - CREATE TABLE user (id INTEGER PRIMARY KEY, name TEXT, adresse TEXT, telefonnummer TEXT, handynummer TEXT, email TEXT, geburtstag TEXT, salt TEXT, password TEXT); - COMMIT; - ")){ - echo "Success!"; -else{ - echo "Failure. :("; +<?php + +/* + Sets up the database with the necessary tables. Add ?drop to drop _everything_! + Don't forget to create a individual pepper in ../database/pepper.txt first! +*/ + +$db = new SQLite3("../database/sqlite.db"); +session_start(); + +$bool = false; + +if (version_compare(phpversion(), '5.5', '<')) { + echo "You need at least PHP version 5.5 or higher"; + exit; +} + +foreach ($_GET as $name => $value) { + if(preg_match("/drop(ped)?/i",$name)){ + $bool=true; + } } + +if($bool){ + if(isset($_SESSION["login"])){ + session_destroy(); + } + if($db->exec(" + BEGIN TRANSACTION; + DROP TRIGGER delete_files; + PRAGMA writable_schema = 1; + DELETE FROM sqlite_master WHERE type = 'table'; + PRAGMA writable_schema = 0; + COMMIT; + VACUUM;") + ){ + echo "dropped everything"; + } else { + echo "error with database"; + } +} else { + $cleartext_password="password"; + $email="admin@iamfabulous.de"; + $pepper = file_get_contents("../database/pepper.txt"); + if(!$pepper){ + echo "There is no pepper in '../database/pepper.txt'! <br> Please generate one manually and run this script again."; + exit; + } + $password = $cleartext_password . $pepper; + + $hash_password = password_hash($password, PASSWORD_DEFAULT); + + if($db->exec(" + BEGIN TRANSACTION; + CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT UNIQUE, password TEXT, email TEXT UNIQUE, status INTEGER, register INTEGER); + INSERT INTO user (id, name, status, password, email, register) VALUES (NULL, 'admin', 0, '" . $hash_password . "', '" . $email . "', (SELECT strftime('%s', 'now'))); + CREATE TABLE IF NOT EXISTS log (id INTEGER PRIMARY KEY, user INTEGER, login INTEGER, FOREIGN KEY(user) REFERENCES user(id)); + CREATE TABLE IF NOT EXISTS banned_user (id INTEGER PRIMARY KEY, ip TEXT, session_id TEXT, time INTEGER); + CREATE TABLE IF NOT EXISTS jg(id INTEGER PRIMARY KEY, name TEXT, adresse TEXT, telefonnummer INTEGER, handynummer INTEGER, email TEXT, geburtstag TEXT); + CREATE TRIGGER IF NOT EXISTS delete_files AFTER DELETE ON user FOR EACH ROW BEGIN DELETE FROM files WHERE owner=OLD.id; END; + COMMIT;") + ) { + $_SESSION["login"] = true; + $_SESSION["username"] = "admin"; + $_SESSION["userid"] = 1; + + include("include.php"); + header("Refresh: 2; ".$scheme.$_SERVER["HTTP_HOST"]."/"); + echo "Success! You will redirected any moment."; + } else { + echo "Failure! :( <br>"; + echo "Your password: ".$hash_password; + } +} +// INSERT INT0 user (id, name, salt, password, status, invites, email, senpai, key) VALUES (NULL, 'admin', '$salt', '$hash_password', 1, 5, 'admin@iamfabulous.de', 0, '11111'); + |
