summaryrefslogtreecommitdiff
path: root/public/app/models
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 20:15:02 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 20:15:02 +0300
commit463139601c046a5201cb8a73473f8fe5c568b760 (patch)
treee174bed994e3939c1d47f4fb2ae402bdfc1a77f9 /public/app/models
parentb52e052bd3741c1ddf1bdaa43079ba5a9eafc8bd (diff)
downloadclassroom-463139601c046a5201cb8a73473f8fe5c568b760.tar.gz
classroom-463139601c046a5201cb8a73473f8fe5c568b760.tar.bz2
classroom-463139601c046a5201cb8a73473f8fe5c568b760.zip
rearangment completed; now anything is simplel
Diffstat (limited to 'public/app/models')
-rw-r--r--public/app/models/Access_model.php (renamed from public/app/models/User_model.php)140
-rw-r--r--public/app/models/History_model.php (renamed from public/app/models/admin/History_model.php)2
-rw-r--r--public/app/models/admin/Privilege_model.php42
-rw-r--r--public/app/models/todo.md7
4 files changed, 54 insertions, 137 deletions
diff --git a/public/app/models/User_model.php b/public/app/models/Access_model.php
index f799dd9..d5ae19e 100644
--- a/public/app/models/User_model.php
+++ b/public/app/models/Access_model.php
@@ -3,9 +3,9 @@
namespace app\models;
use \Registry;
-use app\models\admin\History_model;
+use app\models\History_model;
-class User_model
+class Access_model
{
## User methods
@@ -136,11 +136,6 @@ class User_model
return [ "success" => false, 'error' => EMPTY_REQUIRED_FIELDS ];
}
-
- // TODO:
- // check if email exists
- // ...
-
// create an activation code
$activation_code = md5($data['email'].time().rand(0, 10000));
@@ -179,6 +174,40 @@ class User_model
}
+ /** activate
+ *
+ * check if activation code is valid;
+ * if valid, set account active;
+ *
+ * @param $ticket (hex/MD5): activation code;
+ *
+ */
+ public static function activate($ticket)
+ {
+ $user = Registry::use('database')->query(
+ "SELECT * FROM user WHERE activation = :ticket",
+ [ 'ticket' => $ticket ]
+ )->getFirst();
+
+ // if no user with this activation code, return false
+ if ($user === false) return false;
+
+ // remove activation code from user record
+ Registry::use('database')->runQuery(
+ "UPDATE user
+ SET active = 1, `activation` = NULL
+ WHERE activation = :ticket",
+ [ 'ticket' => $ticket ]
+ );
+
+ // update history
+ History_model::trackUserAccess($user['id'], TRACK_ACCOUNT, 'User Account Activated');
+
+ return true;
+
+ }
+
+
## Set permission methods
## -------------------------------------------------------------------------
@@ -217,95 +246,24 @@ class User_model
}
- /** activate
- *
- * check if activation code is valid;
- * if valid, set account active;
- *
- * @param $ticket (hex/MD5): activation code;
+ ## List methods
+ ## -------------------------------------------------------------------------
+
+
+ /** privileges
+ * ---
+ * get all privileges (as a list)
+ * used by cacher; speeds up seveal things
*
+ * @param void
+ * @return privileges (array)
*/
- public static function activate($ticket)
+ public static function privileges()
{
- $user = Registry::use('database')->query(
- "SELECT * FROM user WHERE activation = :ticket",
- [ 'ticket' => $ticket ]
- )->getFirst();
-
- // if no user with this activation code, return false
- if ($user === false) return false;
-
- // remove activation code from user record
- Registry::use('database')->runQuery(
- "UPDATE user
- SET active = 1, `activation` = NULL
- WHERE activation = :ticket",
- [ 'ticket' => $ticket ]
+ return Registry::use('database')->runQuery(
+ "SELECT * FROM privilege",[]
);
-
- // update history
- History_model::trackUserAccess($user['id'], TRACK_ACCOUNT, 'User Account Activated');
-
- return true;
-
}
- ## documention methods
- ## methods related to properties that determin user's access
- ##--------------------------------------------------------------------------
-
}
-
-/* example query getUser (super-array)
---- -- -- - - -
-
-SELECT user.*,
-( -- array (json) of roles granted to user
- SELECT CONCAT('[', GROUP_CONCAT(role.id), ']')
- FROM `role`
- WHERE role.id IN (
- SELECT user_role.role_id
- FROM user_role
- WHERE user_role.user_id = 1
- )
-) AS Roles_json,
-(
- SELECT CONCAT(
- '[',
- GROUP_CONCAT(privilege.id),
- ']'
- )
- FROM privilege
- WHERE privilege.id IN (
- SELECT user_privilege.privilege_id
- FROM user_privilege
- WHERE user_privilege.user_id = 1
- )
-) AS RootPrivileges_json,
-(
- SELECT CONCAT( -- array of array of sub-privileges
- '[',
- GROUP_CONCAT( -- array (json) of subprivileges
- (
- SELECT CONCAT(
- '[',
- GROUP_CONCAT(included_id),
- ']'
- )
- FROM privilege_includes
- WHERE privilege_id = privilege.id
- )
- ),
- ']'
- )
- FROM privilege
- WHERE privilege.id IN (
- SELECT user_privilege.privilege_id
- FROM user_privilege
- WHERE user_id = 1
- )
-) AS SubPrivileges_json
-FROM user
-WHERE id = 1
---- */ \ No newline at end of file
diff --git a/public/app/models/admin/History_model.php b/public/app/models/History_model.php
index 04ce630..f50539f 100644
--- a/public/app/models/admin/History_model.php
+++ b/public/app/models/History_model.php
@@ -1,5 +1,5 @@
<?php
-namespace app\models\admin;
+namespace app\models;
use \Registry;
diff --git a/public/app/models/admin/Privilege_model.php b/public/app/models/admin/Privilege_model.php
deleted file mode 100644
index c385484..0000000
--- a/public/app/models/admin/Privilege_model.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace app\models\admin;
-
-use Registry;
-use Render;
-
-
-class Privilege_model {
-
- /** privileges
- * ---
- * get all privileges
- *
- * @param void
- * @return privileges (array)
- */
- public static function privileges()
- {
- return Registry::use('database')->runQuery(
- "SELECT * FROM privilege",[]
- );
- }
-
- /** edit privileges
- * ---
- */
- public static function edit_privileges()
- {
- // TODO: ...
- }
-
-
- /** update course
- * ---
- */
- public static function update_course()
- {
- // TODO: ...
- }
-
-} \ No newline at end of file
diff --git a/public/app/models/todo.md b/public/app/models/todo.md
index 5a18f38..ec027a6 100644
--- a/public/app/models/todo.md
+++ b/public/app/models/todo.md
@@ -13,9 +13,9 @@ Rearange
[ok] app\models\admin\User_model -> [*] app\models\User_model
-app\models\admin\Privilege_model -> [merge_to] -> [**] app\models\User_model
+[ok] app\models\admin\Privilege_model -> [merge_to] -> [**] app\models\User_model
-app\models\admin\History_model -> [*] app\models\History_model
+[ok] app\models\admin\History_model -> [*] app\models\History_model
[ok] app\models\cms\Page_model -> [delete]
@@ -23,6 +23,7 @@ app\models\admin\History_model -> [*] app\models\History_model
[ok] app\models\cms\Course_model -> [*] app\models\Course_model
+
[*] = move
@@ -34,7 +35,7 @@ app\models\admin\History_model -> [*] app\models\History_model
[ok] app\models\Course_model -> [rename] app\models\Cms_model
-
+[ok] app\extends\Send_mail -> [rename] SendMail_service