Too many changes

This commit is contained in:
Kumi 2020-08-09 14:51:57 +02:00
parent d5ddc0bb9a
commit 6b16c856c4
6 changed files with 63 additions and 12 deletions

View file

@ -1,6 +1,6 @@
<?php <?php
class Connection { class Database {
private $mysqli = null; private $mysqli = null;
public function __construct() public function __construct()
@ -21,4 +21,14 @@ class Connection {
{ {
return $this->mysqli->real_escape_string($string); return $this->mysqli->real_escape_string($string);
} }
public static function execute_query($query="")
{
return (new self())->query($query);
}
public static function escape_string($string="")
{
return (new self())->escape($string);
}
} }

45
Session.class.php Normal file
View file

@ -0,0 +1,45 @@
<?php
session_start();
require_once("Database.class.php");
class Session {
public static function generate_id()
{
return uniqid(uniqid("", true), true);
}
public static function login($user_id)
{
$session_id = self::generate_id();
$_SESSION["gastoadmin"] = $session_id;
}
public static function logout()
{
unset($_SESSION["gastroadmin"]);
}
public static function is_logged_in()
{
$query = "SELECT `user_id` FROM `visitor_sessions` WHERE `session_id` = '" . $_SESSION["gastroadmin"] . "';";
Database::execute_query($query)
}
public static function remember_visitor($visitor_id)
{
$session_id = self::generate_id();
$_SESSION["gastroguest"] = $session_id;
}
public static function get_visitor($visitor_id)
{
# TODO
}
public static function forget_visitor($visitor_id)
{
# TODO
}
}

View file

@ -1,21 +1,19 @@
<?php <?php
require_once("Connection.class.php"); require_once("Database.class.php");
class Setting { class Setting {
private $connection = null;
private $settingKey = ""; private $settingKey = "";
public function __construct($setting_key) public function __construct($setting_key)
{ {
$this->connection = new Connection(); $this->settingKey = Database::escape_string($setting_key);
$this->settingKey = $this->connection->escape($setting_key);
} }
public function get($default="") public function get($default="")
{ {
$query = "SELECT `setting_value` FROM `settings` WHERE `setting_key` = '" . $this->settingKey . "';"; $query = "SELECT `setting_value` FROM `settings` WHERE `setting_key` = '" . $this->settingKey . "';";
$result = $this->connection->query($query); $result = Database::execute_query($query);
if ($result->num_rows == 1) { if ($result->num_rows == 1) {
return $result->fetch_assoc()["setting_key"]; return $result->fetch_assoc()["setting_key"];
} else { } else {
@ -28,7 +26,7 @@ class Setting {
public function set($value) public function set($value)
{ {
$escaped_value = $this->connection->escape($value); $escaped_value = Database::escape_string($value);
if ($this->get()) { if ($this->get()) {
$query = "UPDATE `settings` SET `setting_value` = '" . $escaped_value . "' WHERE `setting_key` = '" . $this->settingKey . "';"; $query = "UPDATE `settings` SET `setting_value` = '" . $escaped_value . "' WHERE `setting_key` = '" . $this->settingKey . "';";
@ -36,7 +34,7 @@ class Setting {
$query = "INSERT INTO `settings` (`setting_key`, `setting_value`) VALUES ('". $this->settingKey . "', '" . $escaped_value . "');"; $query = "INSERT INTO `settings` (`setting_key`, `setting_value`) VALUES ('". $this->settingKey . "', '" . $escaped_value . "');";
} }
if (!$this->connection->query($query)) { if (!Database::execute_query($query)) {
return false; return false;
} }

View file

@ -1,8 +1,8 @@
<?php <?php
define("GastroData", true); define("GastroData", true);
include("Session.class.php");
include("Router.class.php"); include("Route.class.php");
Route::add('/',function(){ Route::add('/',function(){
include("views/index.php"); include("views/index.php");

View file

@ -16,7 +16,6 @@ CREATE TABLE IF NOT EXISTS `users` (
CREATE TABLE IF NOT EXISTS `user_sessions` ( CREATE TABLE IF NOT EXISTS `user_sessions` (
`session_id` VARCHAR(255) NOT NULL, `session_id` VARCHAR(255) NOT NULL,
`salt` VARCHAR(255) NOT NULL,
`user_id` INT NOT NULL, `user_id` INT NOT NULL,
`expiry` DATETIME NOT NULL, `expiry` DATETIME NOT NULL,
PRIMARY KEY (`session_id`), PRIMARY KEY (`session_id`),
@ -67,7 +66,6 @@ CREATE TABLE IF NOT EXISTS `visitors` (
CREATE TABLE IF NOT EXISTS `visitor_sessions` ( CREATE TABLE IF NOT EXISTS `visitor_sessions` (
`session_id` VARCHAR(255) NOT NULL, `session_id` VARCHAR(255) NOT NULL,
`salt` VARCHAR(255) NOT NULL,
`visitor_id` VARCHAR(255) NOT NULL, `visitor_id` VARCHAR(255) NOT NULL,
`expiry` DATETIME, `expiry` DATETIME,
PRIMARY KEY (`session_id`), PRIMARY KEY (`session_id`),