make compatible to postgres
This commit is contained in:
28
database.php
28
database.php
@@ -3,8 +3,6 @@ require_once("config.php");
|
|||||||
if (!isset($config["databaseURI"])) {
|
if (!isset($config["databaseURI"])) {
|
||||||
throw new Exception ("malformed configuration: databaseURI not defined");
|
throw new Exception ("malformed configuration: databaseURI not defined");
|
||||||
}
|
}
|
||||||
$db_input = "sqlite:" . dirname(__FILE__) . "/db_file.sqlite";
|
|
||||||
$db_input = $config["databaseURI"];
|
|
||||||
|
|
||||||
abstract class RegisterState
|
abstract class RegisterState
|
||||||
{
|
{
|
||||||
@@ -45,7 +43,7 @@ class mxDatabase
|
|||||||
$this->db = new PDO($db_input, $user, $password);
|
$this->db = new PDO($db_input, $user, $password);
|
||||||
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
$this->db->exec("CREATE TABLE IF NOT EXISTS registrations(
|
$this->db->exec("CREATE TABLE IF NOT EXISTS registrations(
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id SERIAL PRIMARY KEY,
|
||||||
state INT DEFAULT 0,
|
state INT DEFAULT 0,
|
||||||
first_name TEXT,
|
first_name TEXT,
|
||||||
last_name TEXT,
|
last_name TEXT,
|
||||||
@@ -57,7 +55,7 @@ class mxDatabase
|
|||||||
admin_token TEXT,
|
admin_token TEXT,
|
||||||
request_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");
|
request_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");
|
||||||
$this->db->exec("CREATE TABLE IF NOT EXISTS logins (
|
$this->db->exec("CREATE TABLE IF NOT EXISTS logins (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id SERIAL PRIMARY KEY,
|
||||||
active INT DEFAULT 1,
|
active INT DEFAULT 1,
|
||||||
first_name TEXT,
|
first_name TEXT,
|
||||||
last_name TEXT,
|
last_name TEXT,
|
||||||
@@ -100,28 +98,28 @@ class mxDatabase
|
|||||||
|
|
||||||
function setRegistrationStateVerify($state, $token) {
|
function setRegistrationStateVerify($state, $token) {
|
||||||
$sql = "UPDATE registrations SET state = " . $state
|
$sql = "UPDATE registrations SET state = " . $state
|
||||||
. ' WHERE verify_token = "' . $token . '";';
|
. " WHERE verify_token = '" . $token . "';";
|
||||||
|
|
||||||
return $this->db->exec($sql);
|
return $this->db->exec($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRegistrationStateById($state, $id) {
|
function setRegistrationStateById($state, $id) {
|
||||||
$sql = "UPDATE registrations SET state = " . $state
|
$sql = "UPDATE registrations SET state = " . $state
|
||||||
. ' WHERE id = "' . $id . '";';
|
. " WHERE id = '" . $id . "';";
|
||||||
|
|
||||||
return $this->db->exec($sql);
|
return $this->db->exec($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRegistrationStateAdmin($state, $token) {
|
function setRegistrationStateAdmin($state, $token) {
|
||||||
$sql = "UPDATE registrations SET state = " . $state
|
$sql = "UPDATE registrations SET state = " . $state
|
||||||
. ' WHERE admin_token = "' . $token . '";';
|
. " WHERE admin_token = '" . $token . "';";
|
||||||
|
|
||||||
return $this->db->exec($sql);
|
return $this->db->exec($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRegistrationState($state, $token) {
|
function setRegistrationState($state, $token) {
|
||||||
$sql = "UPDATE registrations SET state = " . $state
|
$sql = "UPDATE registrations SET state = " . $state
|
||||||
. " WHERE verify_token = \"" . $token . '" OR admin_token = "' . $token . '";';
|
. " WHERE verify_token = '" . $token . "' OR admin_token = '" . $token . "';";
|
||||||
|
|
||||||
return $this->db->exec($sql);
|
return $this->db->exec($sql);
|
||||||
}
|
}
|
||||||
@@ -168,10 +166,10 @@ class mxDatabase
|
|||||||
$verify_token = bin2hex(random_bytes(16));
|
$verify_token = bin2hex(random_bytes(16));
|
||||||
$admin_token = bin2hex(random_bytes(16));
|
$admin_token = bin2hex(random_bytes(16));
|
||||||
|
|
||||||
$this->db->exec('INSERT INTO registrations
|
$this->db->exec("INSERT INTO registrations
|
||||||
(first_name, last_name, username, note, email, verify_token, admin_token)
|
(first_name, last_name, username, note, email, verify_token, admin_token)
|
||||||
VALUES ("' . $first_name.'","' . $last_name . '","' . $username . '","' . $note . '","'
|
VALUES ('" . $first_name."','" . $last_name . "','" . $username . "','" . $note . "','"
|
||||||
. $email.'","' .$verify_token.'","' .$admin_token.'")');
|
. $email."','" .$verify_token."','" .$admin_token."')");
|
||||||
|
|
||||||
return [
|
return [
|
||||||
"verify_token"=> $verify_token,
|
"verify_token"=> $verify_token,
|
||||||
@@ -270,8 +268,8 @@ class mxDatabase
|
|||||||
$password_hash = password_hash($password, PASSWORD_BCRYPT, ["cost"=>12]);
|
$password_hash = password_hash($password, PASSWORD_BCRYPT, ["cost"=>12]);
|
||||||
|
|
||||||
$sql = "INSERT INTO logins (first_name, last_name, localpart, password_hash, email) VALUES "
|
$sql = "INSERT INTO logins (first_name, last_name, localpart, password_hash, email) VALUES "
|
||||||
. '("' . $first_name.'","' . $last_name . '","' . $username . '","'
|
. "('" . $first_name."','" . $last_name . "','" . $username . "','"
|
||||||
. $password_hash . '","' . $email . '")';
|
. $password_hash . "','" . $email . "');";
|
||||||
|
|
||||||
if ($this->db->exec($sql)) {
|
if ($this->db->exec($sql)) {
|
||||||
return $password;
|
return $password;
|
||||||
@@ -280,5 +278,7 @@ class mxDatabase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$mx_db = new mxDatabase($db_input);
|
if (!isset($mx_db)) {
|
||||||
|
$mx_db = new mxDatabase($config["databaseURI"], $config["databaseUser"], $config["databasePass"]);
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -51,7 +51,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
$first_name = filter_var($_POST["first_name"], FILTER_SANITIZE_STRING);
|
$first_name = filter_var($_POST["first_name"], FILTER_SANITIZE_STRING);
|
||||||
$last_name = filter_var($_POST["last_name"], FILTER_SANITIZE_STRING);
|
$last_name = filter_var($_POST["last_name"], FILTER_SANITIZE_STRING);
|
||||||
$username = filter_var($_POST["username"], FILTER_SANITIZE_STRING);
|
$username = filter_var($_POST["username"], FILTER_SANITIZE_STRING);
|
||||||
$password = filter_var($_POST["password"], FILTER_SANITIZE_STRING);
|
if (isset($_POST["password"])) {
|
||||||
|
$password = filter_var($_POST["password"], FILTER_SANITIZE_STRING);
|
||||||
|
}
|
||||||
$note = filter_var($_POST["note"], FILTER_SANITIZE_STRING);
|
$note = filter_var($_POST["note"], FILTER_SANITIZE_STRING);
|
||||||
$email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL);
|
$email = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user