From 5375e22de976b74f5f04d800014c30d9c66f0fe5 Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Mon, 12 Jun 2023 01:12:30 +0300 Subject: official Reliese Candidate; themes added; routes organized; fine tuning --- public/app/models/Access_model.php | 73 +++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 4 deletions(-) (limited to 'public/app/models/Access_model.php') diff --git a/public/app/models/Access_model.php b/public/app/models/Access_model.php index c98b6c4..90aac11 100644 --- a/public/app/models/Access_model.php +++ b/public/app/models/Access_model.php @@ -22,7 +22,8 @@ class Access_model public static function checkUser($email) { $user = Registry::use('database')->query( - "SELECT * FROM user WHERE email = :email AND active = 1", + "SELECT * FROM user + WHERE email = :email AND active = 1 AND deprecated IS NULL", [ ':email' => $email ] )->getFirst(); @@ -39,7 +40,8 @@ class Access_model public static function getUser_byID($uid) { $user = Registry::use('database')->query( - "SELECT * FROM user WHERE id = :uid AND active = 1", + "SELECT * FROM user + WHERE id = :uid AND active = 1 AND deprecated IS NULL", [ ':uid' => $uid ] )->getFirst(); @@ -56,7 +58,8 @@ class Access_model public static function getUserByInvitation($invitation) { return Registry::use('database')->query( - "SELECT * FROM user WHERE invitation = :invitation", + "SELECT * FROM user + WHERE invitation = :invitation AND deprecated IS NULL", [ 'invitation' => $invitation ] )->getFirst(); } @@ -177,7 +180,6 @@ class Access_model History_model::trackUserAccess($post['id'], TRACK_ACCOUNT, 'User Account Activated'); return $rowCount; - } @@ -263,6 +265,69 @@ class Access_model return $rowCount; } + /** deprecate user account + * by @param int $uid: user-id + */ + public static function deprecate_user($uid) + { + Registry::use('database')->runQuery( + "UPDATE user + SET active = :active, + deprecated = :deprecated + WHERE id = :id", + [ + ':active' => 0, + ':deprecated' => 1, + ':id' => $uid + ] + ); + return true; + } + + + /** invite user + * + * update user with invitation data + * + * @param int $uid: user-id + * @param hash $invitation: MD5 hash invitation + * @param int expiration: expiration timestamp + */ + public static function invite_user($uid, $invitation, $expiration) + { + Registry::use('database')->runQuery( + "UPDATE user + SET invitation = :inv, + otp_expiration = :expiration + WHERE id = :id", + [ + ':inv' => $invitation, + ':expiration' => $expiration, + ':id' => $uid + ] + ); + } + + + /** activate user account + * by @param int $uid: user-id + */ + public static function activate_user($uid) + { + Registry::use('database')->runQuery( + "UPDATE user + SET active = :active, + deprecated = :deprecated + WHERE id = :id", + [ + ':active' => 1, + ':deprecated' => NULL, + ':id' => $uid + ] + ); + return true; + } + ## Set permission methods -- cgit v1.2.3