mirror of
https://github.com/Fluffy-Bean/image-gallery.git
synced 2025-06-24 10:46:16 +00:00
Progress towards autofix working
This commit is contained in:
parent
2ef5b6d54a
commit
86bba69f81
11 changed files with 438 additions and 174 deletions
103
app/app.php
103
app/app.php
|
@ -324,109 +324,6 @@ class Diff {
|
|||
}
|
||||
}
|
||||
|
||||
class Setup {
|
||||
function create_tables($conn, $sql): bool
|
||||
{
|
||||
/*
|
||||
$sql = "CREATE TABLE IF NOT EXISTS users (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(255) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
pfp_path VARCHAR(255) NOT NULL,
|
||||
admin BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table users created successfully";
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS images (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
imagename VARCHAR(255) NOT NULL,
|
||||
alt VARCHAR(text) NOT NULL,
|
||||
tags VARCHAR(text) NOT NULL,
|
||||
author INT(11) NOT NULL,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table images created successfully";
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS groups (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
group_name VARCHAR(255) NOT NULL,
|
||||
image_list VARCHAR(text) NOT NULL,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table groups created successfully";
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS logs (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
ipaddress VARCHAR(16) NOT NULL,
|
||||
action VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table logs created successfully";
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS bans (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
ipaddress VARCHAR(16) NOT NULL,
|
||||
reason VARCHAR(255) NOT NULL,
|
||||
time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
length VARCHAR(255) NOT NULL,
|
||||
permanent BOOLEAN NOT NULL DEFAULT FALSE
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table bans created successfully";
|
||||
}
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS tokens (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(59) NOT NULL,
|
||||
used BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "Table tokens created successfully";
|
||||
}
|
||||
*/
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
function create_usr() {
|
||||
if (!is_dir(__DIR__."/../usr")) {
|
||||
mkdir("usr");
|
||||
}
|
||||
|
||||
if (!is_dir(__DIR__."/../usr/images")) {
|
||||
mkdir("usr/images");
|
||||
}
|
||||
if (!is_dir(__DIR__."/../usr/images/thumbnails")) {
|
||||
mkdir("usr/images/thumbnails");
|
||||
}
|
||||
if (!is_dir(__DIR__."/../usr/images/previews")) {
|
||||
mkdir("usr/images/previews");
|
||||
}
|
||||
|
||||
if (!is_dir(__DIR__."/../usr/conf")) {
|
||||
mkdir("usr/conf");
|
||||
}
|
||||
|
||||
if (!is_file(__DIR__."/../usr/conf/conf.json")) {
|
||||
$manifest = file_get_contents(__DIR__."/../usr/conf.default.json");
|
||||
file_put_contents(__DIR__."/../usr/conf/conf.json", $manifest);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Sanity {
|
||||
function check_json(): array
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"license": "GPL 3.0",
|
||||
"version": "22.11.02",
|
||||
"version": "22.11.03",
|
||||
"branch": "main"
|
||||
}
|
134
app/sanity/database.php
Normal file
134
app/sanity/database.php
Normal file
|
@ -0,0 +1,134 @@
|
|||
<?php
|
||||
if (defined('ROOT')) {
|
||||
function check_database($conn, $database) {
|
||||
try {
|
||||
$check = $conn->query("SELECT 1 FROM $database LIMIT 1");
|
||||
|
||||
if ($check) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*if (check_database($conn, 'images')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found images table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find images table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS images (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
imagename VARCHAR(255) NOT NULL,
|
||||
alt VARCHAR(text) NOT NULL,
|
||||
tags VARCHAR(text) NOT NULL,
|
||||
author INT(11) NOT NULL,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table images made!</p>";
|
||||
}
|
||||
}
|
||||
|
||||
if (check_database($conn, 'users')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found users table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find users table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS users (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
username VARCHAR(255) NOT NULL UNIQUE,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
pfp_path VARCHAR(255) NOT NULL,
|
||||
admin BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table users made!</p>";
|
||||
}
|
||||
}
|
||||
|
||||
if (check_database($conn, 'groups')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found groups table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find groups table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS groups (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
group_name VARCHAR(255) NOT NULL,
|
||||
image_list VARCHAR(text) NOT NULL,
|
||||
last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table groups made!</p>";
|
||||
}
|
||||
}
|
||||
|
||||
if (check_database($conn, 'logs')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found logs table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find logs table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS logs (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
ipaddress VARCHAR(16) NOT NULL,
|
||||
action VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table logs made!</p>";
|
||||
}
|
||||
}
|
||||
|
||||
if (check_database($conn, 'bans')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found bans table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find bans table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS bans (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
ipaddress VARCHAR(16) NOT NULL,
|
||||
reason VARCHAR(255) NOT NULL,
|
||||
time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
length VARCHAR(255) NOT NULL,
|
||||
permanent BOOLEAN NOT NULL DEFAULT FALSE
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table bans made!</p>";
|
||||
}
|
||||
}
|
||||
|
||||
if (check_database($conn, 'tokens')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found tokens table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[INFO]</span> Could not find tokens table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
|
||||
$sql = "CREATE TABLE IF NOT EXISTS tokens (
|
||||
id INT(11) AUTO_INCREMENT PRIMARY KEY,
|
||||
code VARCHAR(59) NOT NULL,
|
||||
used BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
)";
|
||||
if ($conn->query($sql) === TRUE) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Table tokens made!</p>";
|
||||
}
|
||||
}*/
|
||||
|
||||
if (check_database($conn, 'test')) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found test table</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> Could not find test table</p>";
|
||||
echo "<p><span style='color: var(--alert);'>[INFO]</span> Creating test table...</p>";
|
||||
}
|
||||
}
|
58
app/sanity/folders.php
Normal file
58
app/sanity/folders.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
if (defined('ROOT')) {
|
||||
if (is_dir(__DIR__."/../../usr")) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found usr/ folder!</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/ folder not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/ folder...</p>";
|
||||
|
||||
mkdir("usr");
|
||||
}
|
||||
|
||||
if (is_dir(__DIR__."/../../usr/images")) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found usr/images/ folder!</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/images/ folder not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/images/ folder...</p>";
|
||||
|
||||
mkdir("usr/images");
|
||||
}
|
||||
if (!is_dir(__DIR__."/../../usr/images/thumbnails")) {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/images/thumbnails/ folder not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/images/thumbnails/ folder...</p>";
|
||||
|
||||
mkdir("usr/images/thumbnails");
|
||||
}
|
||||
if (!is_dir(__DIR__."/../../usr/images/previews")) {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/images/previews/ folder not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/images/previews/ folder...</p>";
|
||||
|
||||
mkdir("usr/images/previews");
|
||||
}
|
||||
|
||||
if (!is_dir(__DIR__."/../../usr/conf")) {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/conf/ folder not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/conf/ folder...</p>";
|
||||
|
||||
mkdir("usr/conf");
|
||||
}
|
||||
|
||||
if (is_file(__DIR__."/../../usr/conf/conf.json")) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Found usr/conf/conf.json file!</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> usr/conf/conf.json file not found</p>";
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Creating usr/conf/conf.json file...</p>";
|
||||
|
||||
try {
|
||||
$conf = file_get_contents(__DIR__."/../../usr/conf.default.json");
|
||||
|
||||
if (file_put_contents(__DIR__."/../../usr/conf/conf.json", $conf)) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> usr/conf/conf.json file created!</p>";
|
||||
} else {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> Failed to create usr/conf/conf.json file</p>";
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> Could not read usr/conf.default.json file</p>";
|
||||
}
|
||||
}
|
||||
}
|
42
app/sanity/sanity.php
Normal file
42
app/sanity/sanity.php
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
session_start();
|
||||
|
||||
include dirname(__DIR__) . "/conn.php";
|
||||
include dirname(__DIR__) . "/app.php";
|
||||
|
||||
use App\Sanity;
|
||||
|
||||
$sanity = new Sanity();
|
||||
|
||||
if (isset($_POST['autofix'])) {
|
||||
$autofix_start = microtime(true);
|
||||
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Starting autofix</p>";
|
||||
|
||||
if ($_SESSION['id'] != 1) {
|
||||
echo "<p><span style='color: var(--warning);'>[ERRO]</span> You cannot use Autofix as an Admin currently.</p>";
|
||||
exit();
|
||||
}
|
||||
|
||||
$check_sanity = $sanity->get_results();
|
||||
if (empty($check_sanity)) {
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Sanity check passed. No errors found.</p>";
|
||||
exit();
|
||||
} else {
|
||||
//echo "<p><span style='color: var(--alert);'>[WARN]</span> Sanity check failed</p>";
|
||||
}
|
||||
|
||||
define('ROOT', true); // Only run scripts from this file
|
||||
|
||||
echo "<p>==== Databases ====</p>";
|
||||
include_once "database.php";
|
||||
|
||||
echo "<p>==== Folders ====</p>";
|
||||
include_once "folders.php";
|
||||
|
||||
$autofix_end = microtime(true);
|
||||
$autofix_time = ($autofix_end - $autofix_start);
|
||||
$autofix_time = round($autofix_time, 6) * 1000;
|
||||
|
||||
echo "<p><span style='color: var(--accent);'>[INFO]</span> Autofix complete in $autofix_time ms</p>";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue