]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - plugins/sql_auth/SQL/settings.php
e01aab9930e6ad4a97bb0994b8f616d1d122d3eb
[irc/unrealircd/unrealircd-webpanel.git] / plugins / sql_auth / SQL / settings.php
1 <?php
2 class DbSettings {
3 public static function get()
4 {
5 $conn = sqlnew();
6 $query = "SELECT * FROM " . get_config("mysql::table_prefix") . "settings";
7 $result = $conn->query($query);
8 $list = [];
9 while ($row = $result->fetch())
10 {
11 $list[$row['setting_key']] = unserialize($row['setting_value']);
12 }
13 return $list;
14 }
15 public static function set($key, $val) : int
16 {
17 $conn = sqlnew();
18 $stmt = $conn->prepare("SELECT * FROM " . get_config("mysql::table_prefix") . "settings WHERE setting_key = :name LIMIT 1");
19 $stmt->execute(["name" => $key]);
20 if ($stmt->rowCount()) // if it already exists update it
21 $stmt = $conn->prepare("UPDATE " . get_config("mysql::table_prefix") . "settings SET setting_value = :value WHERE setting_key = :name");
22
23 else // otherwise create it
24 $stmt = $conn->prepare("INSERT INTO " . get_config("mysql::table_prefix") . "settings (setting_key, setting_value) VALUES (:name, :value)");
25
26 // make sure it's there/correct
27 $stmt->execute(["name" => $key, "value" => serialize($val)]);
28 $stmt = $conn->prepare("SELECT * FROM " . get_config("mysql::table_prefix") . "settings WHERE setting_key = :name LIMIT 1");
29 $stmt->execute(["name" => $key]);
30 return $stmt->rowCount(); // return 1 or 0 bool-like int
31 }
32 }