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
class Connection {
class Database {
private $mysqli = null;
public function __construct()
@ -21,4 +21,14 @@ class Connection {
{
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
require_once("Connection.class.php");
require_once("Database.class.php");
class Setting {
private $connection = null;
private $settingKey = "";
public function __construct($setting_key)
{
$this->connection = new Connection();
$this->settingKey = $this->connection->escape($setting_key);
$this->settingKey = Database::escape_string($setting_key);
}
public function get($default="")
{
$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) {
return $result->fetch_assoc()["setting_key"];
} else {
@ -28,7 +26,7 @@ class Setting {
public function set($value)
{
$escaped_value = $this->connection->escape($value);
$escaped_value = Database::escape_string($value);
if ($this->get()) {
$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 . "');";
}
if (!$this->connection->query($query)) {
if (!Database::execute_query($query)) {
return false;
}

View file

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

View file

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