id) // doesn't exist, add it with full privileges
{
create_new_user(["user_name" => SQL_DEFAULT_USER['username'], "user_pass" => SQL_DEFAULT_USER['password']]);
}
}
}
public static function add_navbar(&$pages)
{
$user = unreal_get_current_user();
if (!$user)
{
$pages = NULL;
return;
}
$pages["Panel Access"] = "plugins/sql_auth/";
if (isset($_SESSION['id']))
{
$pages["Logout"] = "plugins/sql_auth/login.php?logout=true";
}
}
public static function add_footer_info($empty)
{
if (!($user = unreal_get_current_user()))
return;
else {
echo "Admin Panel v" . WEBPANEL_VERSION . "
";
}
}
/* pre-Header hook */
public static function session_start($n)
{
if (!isset($_SESSION))
{
session_set_cookie_params(3600);
session_start();
}
do_log($_SESSION);
if (!isset($_SESSION['id']) || empty($_SESSION))
{
$secure = ($_SERVER['HTTPS'] == 'on') ? "https://" : "http://";
$current_url = "$secure$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$tok = split($_SERVER['SCRIPT_FILENAME'], "/");
if ($check = security_check() && $tok[count($tok) - 1] !== "error.php") {
header("Location: " . BASE_URL . "plugins/sql_auth/error.php");
die();
}
header("Location: ".BASE_URL."plugins/sql_auth/login.php?redirect=".urlencode($current_url));
die();
}
else
{
if (!unreal_get_current_user()->id) // user no longer exists
{
session_destroy();
header("Location: ".BASE_URL."plugins/sql_auth/login.php");
die();
}
// you'll be automatically logged out after one hour of inactivity
}
}
/**
* Create the tables we'll be using in the SQLdb
* @return void
*/
public static function create_tables()
{
$conn = sqlnew();
$conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX . "users (
user_id int AUTO_INCREMENT NOT NULL,
user_name VARCHAR(255) NOT NULL,
user_pass VARCHAR(255) NOT NULL,
user_fname VARCHAR(255),
user_lname VARCHAR(255),
user_bio VARCHAR(255),
created VARCHAR(255),
PRIMARY KEY (user_id)
)");
$conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX . "user_meta (
meta_id int AUTO_INCREMENT NOT NULL,
user_id int NOT NULL,
meta_key VARCHAR(255) NOT NULL,
meta_value VARCHAR(255),
PRIMARY KEY (meta_id)
)");
$conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX . "auth_settings (
id int AUTO_INCREMENT NOT NULL,
setting_key VARCHAR(255) NOT NULL,
setting_value VARCHAR(255),
PRIMARY KEY (id)
)");
$conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX . "fail2ban (
id int AUTO_INCREMENT NOT NULL,
ip VARCHAR(255) NOT NULL,
count VARCHAR(255),
PRIMARY KEY (id)
)");
new AuthSettings();
}
/**
* Summary of add_overview_card
* @param mixed $stats
* @return void
*/
public static function add_overview_card(object &$stats) : void
{
$num_of_panel_admins = sqlnew()->query("SELECT COUNT(*) FROM " . SQL_PREFIX . "users")->fetchColumn();
?>