]>
jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - plugins/sql_auth/sql_auth.php
a624f6794fabb841108d0804a93f6a73526ef61d
3 require_once "SQL/sql.php";
4 require_once "SQL/user.php";
8 public $name = "SQLAuth";
9 public $author = "Valware";
10 public $version = "1.0";
11 public $description = "Provides a User Auth and Management Panel with an SQL backend";
13 function __construct()
15 self
::create_tables();
16 Hook
::func(HOOKTYPE_NAVBAR
, 'sql_auth::add_navbar');
17 Hook
::func(HOOKTYPE_PRE_HEADER
, 'sql_auth::session_start');
18 Hook
::func(HOOKTYPE_OVERVIEW_CARD
, 'sql_auth::add_overview_card');
20 if (defined('SQL_DEFAULT_USER')) // we've got a default account
22 $lkup = new SQLA_User(SQL_DEFAULT_USER
['username']);
24 if (!$lkup->id
) // doesn't exist, add it with full privileges
26 create_new_user(["user_name" => SQL_DEFAULT_USER
['username'], "user_pass" => SQL_DEFAULT_USER
['password']]);
31 public static function add_navbar(&$pages)
35 $pages["Panel Access"] = "plugins/sql_auth/";
36 if (isset($_SESSION['id']))
38 $pages["Logout"] = "plugins/sql_auth/login.php?logout=true";
42 public static function session_start($n)
44 if (!isset($_SESSION['id']))
46 header("Location: ".BASE_URL
."plugins/sql_auth/login.php");
50 if (!unreal_get_current_user()->id
) // user no longer exists
53 header("Location: ".BASE_URL
."plugins/sql_auth/login.php");
59 public static function create_tables()
62 $conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX
. "users (
63 user_id int AUTO_INCREMENT NOT NULL,
64 user_name VARCHAR(255) NOT NULL,
65 user_pass VARCHAR(255) NOT NULL,
67 user_fname VARCHAR(255),
68 user_lname VARCHAR(255),
69 user_bio VARCHAR(255),
73 $conn->query("CREATE TABLE IF NOT EXISTS " . SQL_PREFIX
. "user_meta (
74 meta_id int AUTO_INCREMENT NOT NULL,
76 meta_key VARCHAR(255) NOT NULL,
77 meta_value VARCHAR(255),
82 public static function add_overview_card(&$stats)
84 $num_of_panel_admins = sqlnew()->query("SELECT COUNT(*) FROM " . SQL_PREFIX
. "users")->fetchColumn();
87 <div
class="container mt-5">
90 <div
class="col-sm-3">
91 <div
class="card text-center">
92 <div
class="card-header bg-success text-white">
95 <i
class="fa fa-lock-open fa-3x"></i
>
98 <h3
class="display-4"><?php
echo $num_of_panel_admins; ?></h3
>
102 <div
class="card-body">
107 <div
class="col"> <a
class="btn btn-primary" href
="<?php echo BASE_URL; ?>plugins/sql_auth/">View
</a
></div
>