implemented admin control panel with the ability to delete articles/users in bulk, and open user panels with the standard options to reset passwords, change email/usernames, or delete. additionally, updated SQL schema, created dummy data, and fixed some bugs.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
require 'db_functions.php';
|
||||
require_once 'db_functions.php';
|
||||
|
||||
function user_id_exists($user_id)
|
||||
{
|
||||
@@ -220,6 +220,7 @@ function reset_pw_form()
|
||||
<span class="modal_close">×</span>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form_id" value="reset_pw_form">
|
||||
<input type="hidden" name="user_id" value="' . $_GET['user_id'] . '">
|
||||
|
||||
<label for="new_pw">New Password</label>
|
||||
<input id="new_pw" name="new_pw" type="password" required>
|
||||
@@ -260,6 +261,7 @@ function update_email_form()
|
||||
<span class="modal_close">×</span>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form_id" value="update_email_form">
|
||||
<input type="hidden" name="user_id" value="' . $_GET['user_id'] . '">
|
||||
|
||||
<label for="new_email">New Email</label>
|
||||
<input id="new_email" name="new_email" required>
|
||||
@@ -299,6 +301,7 @@ function update_username_form()
|
||||
<span class="modal_close">×</span>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form_id" value="update_username_form">
|
||||
<input type="hidden" name="user_id" value="' . $_GET['user_id'] . '">
|
||||
|
||||
<label for="new_username">New Username</label>
|
||||
<input id="new_username" name="new_username" required>
|
||||
@@ -387,6 +390,7 @@ function delete_account_form()
|
||||
<span class="modal_close">×</span>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form_id" value="delete_account_form">
|
||||
<input type="hidden" name="user_id" value="' . $_GET['user_id'] . '">
|
||||
|
||||
<label for="delete_password">Password</label>
|
||||
<input id="delete_password" name="delete_password" type="password" required>
|
||||
@@ -402,7 +406,7 @@ function delete_account_form()
|
||||
return $form;
|
||||
}
|
||||
|
||||
function delete_account($user_id, $password, $verify_password)
|
||||
function delete_account($user_id, $password = null, $verify_password = null)
|
||||
{
|
||||
if ($user_id == 2025) {
|
||||
$error_msg = '
|
||||
@@ -424,23 +428,43 @@ function delete_account($user_id, $password, $verify_password)
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
$password_hash = hash('sha256', $password);
|
||||
$query = 'SELECT user_id FROM user WHERE user_id = ' . $user_id . ' AND password_hash = "' . $password_hash . '";';
|
||||
$user = query_one_result($query);
|
||||
if ($password && $verify_password) {
|
||||
$password_hash = hash('sha256', $password);
|
||||
$query = 'SELECT user_id, profile_picture FROM user WHERE user_id = ' . $user_id . ' AND password_hash = "' . $password_hash . '";';
|
||||
$user = query_one_result($query);
|
||||
|
||||
if ($user == null) {
|
||||
$error_msg = '
|
||||
if ($user == null) {
|
||||
$error_msg = '
|
||||
<div class="error">
|
||||
Username and/or Password are invalid!
|
||||
</div>
|
||||
';
|
||||
|
||||
return $error_msg;
|
||||
}
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
$stmt = 'DELETE FROM user WHERE user_id = ' . $user_id . ';';
|
||||
exec_statement($stmt, 1);
|
||||
logout();
|
||||
delete_file($_ENV['PROFILE_IMAGES_FQ_PATH'] . $user['profile_picture']);
|
||||
$stmt = 'DELETE FROM user WHERE user_id = ' . $user_id . ';';
|
||||
exec_statement($stmt, 1);
|
||||
logout();
|
||||
} else if ($_COOKIE['role_id'] < 3) {
|
||||
$query = 'SELECT user_id FROM user WHERE user_id = ' . $user_id . ';';
|
||||
$user = query_one_result($query);
|
||||
|
||||
if ($user['user_id'] == 2025) {
|
||||
$error_msg = '
|
||||
<div class="error">
|
||||
Cannot delete the owner!
|
||||
</div>
|
||||
';
|
||||
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
delete_file($_ENV['PROFILE_IMAGES_FQ_PATH'] . $user['profile_picture']);
|
||||
$stmt = 'DELETE FROM user WHERE user_id = ' . $user_id . ';';
|
||||
exec_statement($stmt, 1);
|
||||
}
|
||||
}
|
||||
|
||||
function user_view($user_id)
|
||||
@@ -492,9 +516,3 @@ function user_view($user_id)
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
function admin_user_view($user_id)
|
||||
{
|
||||
$query = 'SELECT user_id, username, email, role_id, created_at, last_active, is_active, profile_picture FROM user WHERE user_id = ' . $user_id . ';';
|
||||
$user = query_one_result($query);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user