prepare("INSERT INTO USER (EMAIL, USERNAME, PASS_HASH) VALUES(:email, :username, :password_hash)"); $stmt->bindParam("email", $S_email); $stmt->bindParam("username", $S_username); $stmt->bindParam("password_hash", $S_password_hash); $stmt->execute(); } public function isEmailInDatabase($S_email){ $O_model = Model::get(); $stmt = $O_model->prepare("SELECT count(*) FROM USER WHERE EMAIL=:email"); $stmt->bindParam("email", $S_email); $stmt->execute(); $count = $stmt->fetch()[0]; return $count != 0; } public function getUserByID($I_id){ $O_model = Model::get(); $stmt = $O_model->prepare("SELECT * FROM USER WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->execute(); $row = $stmt->fetch(); if ($row === false) return null; return $row; } public function getUserByEmail($S_email){ $O_model = Model::get(); $stmt = $O_model->prepare("SELECT * FROM USER WHERE email=:email"); $stmt->bindParam("email", $S_email); $stmt->execute(); $row = $stmt->fetch(); if ($row === false) return null; return $row; } public function getUsernameByID($I_id) { $O_model = Model::get(); $stmt = $O_model->prepare("SELECT USERNAME FROM USER WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->execute(); $row = $stmt->fetch(); if ($row === false) return null; return $row["USERNAME"]; } public function isUserActive($I_id) { $O_model = Model::get(); $stmt = $O_model->prepare("SELECT DISABLED FROM USER WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->execute(); $row = $stmt->fetch(); if ($row === false) return false; return $row["DISABLED"] !== 1; } public function isUserAdmin($I_id) { $O_model = Model::get(); $stmt = $O_model->prepare("SELECT ADMIN FROM USER WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->execute(); $row = $stmt->fetch(); if ($row === false) return false; return $row["ADMIN"] === 1; } public function updateEmailByID($I_id, $S_newEmail){ $O_model = Model::get(); $stmt = $O_model->prepare("UPDATE USER SET EMAIL=:new_email WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->bindParam("new_email", $S_newEmail); $stmt->execute(); } public function updateUsernameByID($I_id, $S_newUsername){ $O_model = Model::get(); $stmt = $O_model->prepare("UPDATE USER SET USERNAME=:new_username WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->bindParam("new_username", $S_newUsername); $stmt->execute(); } public function deleteByID($I_id){ $O_model = Model::get(); $stmt = $O_model->prepare("DELETE FROM USER WHERE ID=:id"); $stmt->bindParam("id", $I_id); $stmt->execute(); } public function searchUsers($S_query) { $O_model = Model::get(); $stmt = $O_model->prepare(" SELECT * FROM USER WHERE USER.USERNAME LIKE :full_query OR USER.EMAIL LIKE :full_query LIMIT 10 "); $S_full_query = "%".$S_query."%"; $stmt->bindParam("full_query", $S_full_query); $stmt->execute(); $rows = $stmt->fetchAll(); return $rows; } }