X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/6930484cee8ca01014e0194df0ad8001e340ae5a..refs/pull/10/head:/Classes/class-paneluser.php diff --git a/Classes/class-paneluser.php b/Classes/class-paneluser.php index e2a9322..8d44bbc 100644 --- a/Classes/class-paneluser.php +++ b/Classes/class-paneluser.php @@ -1,18 +1,30 @@ prepare("INSERT INTO " . SQL_PREFIX . "users (user_name, user_pass, user_fname, user_lname, user_bio, created) VALUES (:name, :pass, :fname, :lname, :user_bio, :created)"); - $prep->execute(["name" => $username, "pass" => $password, "fname" => $first_name, "lname" => $last_name, "user_bio" => $user_bio, "created" => date("Y-m-d H:i:s")]); + if (($u = new PanelUser($user['user_name']))->id) + { + $user['err'] = "User already exists"; + return false; + } + // internal use + $user['success'] = false; + $user['errmsg'] = []; + + Hook::run(HOOKTYPE_USER_CREATE, $user); + if (!$user['success']) + return false; return true; } @@ -236,17 +257,8 @@ function delete_user(int $id, &$info = []) : int $info[] = "Could not find user"; return 0; } - $query = "DELETE FROM " . SQL_PREFIX . "users WHERE user_id = :id"; - $conn = sqlnew(); - $stmt = $conn->prepare($query); - $stmt->execute(["id" => $user->id]); - $deleted = $stmt->rowCount(); - if ($user->id) - { - $info[] = "Successfully deleted user \"$user->username\""; - return 1; - } - $info[] = "Unknown error"; - return 0; + $arr = ["user" => $user, "info" => &$info, "boolint" => 0]; + Hook::run(HOOKTYPE_USER_DELETE, $arr); + return $arr["boolint"]; }