summaryrefslogtreecommitdiff
path: root/html/app/models/admin
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-28 03:38:35 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-28 03:38:35 +0300
commit5ce005a4f120c7470cd84c1af306b64c52e3dbfc (patch)
treef93fa229273aad02501d3ecb326091bb2f7d31aa /html/app/models/admin
parentfa7303bc99ed56e6770928d59e16ee3306e26750 (diff)
downloadclassroom-5ce005a4f120c7470cd84c1af306b64c52e3dbfc.tar.gz
classroom-5ce005a4f120c7470cd84c1af306b64c52e3dbfc.tar.bz2
classroom-5ce005a4f120c7470cd84c1af306b64c52e3dbfc.zip
custom user manager extended class (work in progress)
Diffstat (limited to 'html/app/models/admin')
-rw-r--r--html/app/models/admin/User_model.php39
1 files changed, 29 insertions, 10 deletions
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'],