From 5ce005a4f120c7470cd84c1af306b64c52e3dbfc Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Tue, 28 Mar 2023 03:38:35 +0300 Subject: custom user manager extended class (work in progress) --- html/app/models/admin/User_model.php | 39 +++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 10 deletions(-) (limited to 'html/app/models/admin/User_model.php') diff --git a/html/app/models/admin/User_model.php b/html/app/models/admin/User_model.php index 583d4d9..e4ac2ea 100644 --- a/html/app/models/admin/User_model.php +++ b/html/app/models/admin/User_model.php @@ -13,18 +13,18 @@ class User_model * @param $indexKey (string) : key for user identification * @param $value (string) * - * NOTE: - * $indexKey MUST BE a unique key identilieng the user - * ex. username, email, etc ... - * - * @return $user : [array] or false - * + * @param $identity (array): pair of [index_key => identity_value] + * example: [ 'email' => 'geo@roptron.gr' ] */ - public static function checkUser($indexKey, $value) + public static function checkUser($identity) { + $indexKey = array_key_first($identity); + $user = Registry::use('database')->query( "SELECT * FROM user WHERE {$indexKey} = :val", - [ ':val' => $value ] + [ + ':val' => $identity[$indexKey] + ] )->getFirst(); // if no user, return false @@ -120,10 +120,29 @@ class User_model /** create user * */ - public static function createUser($data, $privileges = ['ec.1', 'pr.1']) + public static function registerUser($data, $privileges = ['ec.1', 'pr.1']) { + + $required_fields = [ + 'name', + 'surname', + 'email', + 'password' + ]; + + // check required fields + $isOK = true; + foreach($required_fields as $fi) { + if (empty($data[$fi])) $isOK = false; + } + // if empty required fields exists ... return false + if (!$isOK) { + return [ "success" => false, 'error' => EMPTY_REQUIRED_FIELDS ]; + } + + // if isOK go on and create user record $user = [ - 'prefix' => $data['prefix'], + 'prefix' => $data['prefix'] ?? '', 'name' => $data['name'], 'surname' => $data['surname'], 'email' => $data['email'], -- cgit v1.2.3