summaryrefslogtreecommitdiff
path: root/html/app/models/admin/User_model.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-15 08:11:01 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-15 08:11:01 +0300
commit84b2da85a1b452922dadb6a609533b9945afe51d (patch)
tree6ffb8e4d2a294385380332a8c148b153ed55975b /html/app/models/admin/User_model.php
parenta584bf73b6d64dad98f150caba0f25e790cde010 (diff)
downloadclassroom-84b2da85a1b452922dadb6a609533b9945afe51d.tar.gz
classroom-84b2da85a1b452922dadb6a609533b9945afe51d.tar.bz2
classroom-84b2da85a1b452922dadb6a609533b9945afe51d.zip
several user-namagement tests and updates
Diffstat (limited to 'html/app/models/admin/User_model.php')
-rw-r--r--html/app/models/admin/User_model.php76
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)