diff options
Diffstat (limited to 'html/app/models/admin')
| -rw-r--r-- | html/app/models/admin/User_model.php | 76 |
1 files changed, 8 insertions, 68 deletions
diff --git a/html/app/models/admin/User_model.php b/html/app/models/admin/User_model.php index 397f198..62d99db 100644 --- a/html/app/models/admin/User_model.php +++ b/html/app/models/admin/User_model.php @@ -13,18 +13,13 @@ class User_model * @param $indexKey (string) : key for user identification * @param $value (string) * - * @param $identity (array): pair of [index_key => identity_value] - * example: [ 'email' => 'geo@roptron.gr' ] + * @param $email (string): user's email */ - public static function checkUser($identity) + public static function checkUser($email) { - $indexKey = array_key_first($identity); - $user = Registry::use('database')->query( - "SELECT * FROM user WHERE {$indexKey} = :val", - [ - ':val' => $identity[$indexKey] - ] + "SELECT * FROM user WHERE email = :email AND active = 1", + [ ':email' => $email ] )->getFirst(); // if no user, return false @@ -72,27 +67,17 @@ class User_model WHERE user_privilege.user_id = :id ) ) AS RootPrivileges_json, - ( - SELECT CONCAT( -- array of array of sub-privileges + ( -- construct array of (root-)privileges granted to user + SELECT CONCAT( '[', - GROUP_CONCAT( - ( - SELECT CONCAT( -- array (json) of subprivileges - '[', - GROUP_CONCAT(included_id), - ']' - ) - FROM privilege_includes - WHERE privilege_id = privilege.id - ) - ), + GROUP_CONCAT(privilege.includes), ']' ) FROM privilege WHERE privilege.id IN ( SELECT user_privilege.privilege_id FROM user_privilege - WHERE user_id = :id + WHERE user_privilege.user_id = :id ) ) AS SubPrivileges_json FROM user @@ -222,51 +207,6 @@ class User_model } - /** set_user_privileges - * - * @param $user_id (int) - * @param $privileges (array) - */ - public static function set_user_privileges($user_id, $privileges) - { - - foreach($privileges as $pri) { - Registry::use('database')->runQuery( - "INSERT INTO user_privilege (user_id, privilege_id) - VALUES (:user, :privilege)", - [ - ':user' => $user_id, - ':privilege' => $pri - ] - ); - } - - return true; - } - - /** inherited privileges - * - * list of all inhereted (sub-)privileges - * from a list of root-privileges - * - * @param $list (array of int): list of root privilege id(s) - */ - public static function inheritedPrivileges($list) - { - $rootList = "(". implode(', ', $list) .")"; - - $subPrivileges = Registry::use('database')->runQuery( - "SELECT privilege.id, ( - SELECT CONCAT('[', GROUP_CONCAT(included_id), ']') FROM privilege_includes - WHERE privilege_id = privilege.id - ) as subprivilege_json - FROM privilege - WHERE privilege.id IN {$rootlist}", [] - ); - } - - - } /* example query getUser (super-array) |
