diff options
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.php | 42 | ||||
| -rw-r--r-- | public/app/models/todo.md | 7 |
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 |
