summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/app/controllers/Auth.php15
-rw-r--r--public/app/controllers/CmsAdmin.php2
-rw-r--r--public/app/extends/Cache_service.php4
-rw-r--r--public/app/extends/Classroom_manager.php4
-rw-r--r--public/app/extends/SendMail_service.php (renamed from public/app/extends/Send_mail.php)2
-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
9 files changed, 67 insertions, 151 deletions
diff --git a/public/app/controllers/Auth.php b/public/app/controllers/Auth.php
index aeec41c..4b3dcfb 100644
--- a/public/app/controllers/Auth.php
+++ b/public/app/controllers/Auth.php
@@ -7,10 +7,9 @@ use Render;
// user classes and models
use app\extends\Classroom_user;
use app\extends\Classroom_manager;
-use app\models\User_model;
+use app\models\Access_model;
+use app\extends\SendMail_service;
-use app\extends\Send_mail;
-use app\extends\Mail_jet;
/** class Auth
@@ -31,7 +30,7 @@ class Auth {
$req = Registry::get('REQUEST');
// get the record of the target user
- $record = User_model::checkUser($req->POST['email']);
+ $record = Access_model::checkUser($req->POST['email']);
// if no user exists, return false
if ($record === false) return false;
@@ -51,7 +50,7 @@ class Auth {
if ($userManager->isPasswordValid($user, $req->POST['password'])) {
// get user's security attributes
- $attributes = User_Model::getUser($record['id']);
+ $attributes = Access_model::getUser($record['id']);
$roles = json_decode($attributes['Roles_json']);
$user
->setRoles($roles)
@@ -111,7 +110,7 @@ class Auth {
$req = Registry::get('REQUEST');
// get the record of the target user
- $check = User_model::activate($req->GET['ticket']);
+ $check = Access_model::activate($req->GET['ticket']);
if ($check == true) {
Render::view('/error/general', [
@@ -151,7 +150,7 @@ class Auth {
->setPrivileges([]); // none privilege until acount confirmation
// create user record
- $activation_code = User_model::registerUser($req->POST, $password);
+ $activation_code = Access_model::registerUser($req->POST, $password);
// TODO:
// handle error on user registration
@@ -164,7 +163,7 @@ class Auth {
// ];
// }
- $send_mail = Send_mail::send_activation_code([
+ $send_mail = SendMail_service::send_activation_code([
'email' => $req->POST['email'],
'name' => $req->POST['name'] .' '. $req->POST['surname'],
'code' => $activation_code['activation']
diff --git a/public/app/controllers/CmsAdmin.php b/public/app/controllers/CmsAdmin.php
index aa6ff6f..9629741 100644
--- a/public/app/controllers/CmsAdmin.php
+++ b/public/app/controllers/CmsAdmin.php
@@ -1,6 +1,6 @@
<?php
-namespace app\controllers\admin;
+namespace app\controllers;
use Registry;
use Render;
diff --git a/public/app/extends/Cache_service.php b/public/app/extends/Cache_service.php
index e372e1e..c435b75 100644
--- a/public/app/extends/Cache_service.php
+++ b/public/app/extends/Cache_service.php
@@ -2,7 +2,7 @@
namespace app\extends;
use app\models\Cms_model;
-use app\models\admin\Privilege_model;
+use app\models\Access_model;
/** Cache service
* -----------------------------------------------------------------------------
@@ -39,7 +39,7 @@ class Cache_service
public static function privileges_hierarchy( $options = 0 )
{
return proxy(
- [\app\models\admin\Privilege_model::class, 'privileges'],
+ [\app\models\Access_model::class, 'privileges'],
[], CACHE_ROOT_TTL,
$options
);
diff --git a/public/app/extends/Classroom_manager.php b/public/app/extends/Classroom_manager.php
index 4d38ba3..ea2e891 100644
--- a/public/app/extends/Classroom_manager.php
+++ b/public/app/extends/Classroom_manager.php
@@ -37,7 +37,7 @@ class Classroom_manager extends UserManager
public function register_user()
{
$req = Registry::get('REQUEST');
- $register = User_model::registerUser($req->POST);
+ $register = Access_model::registerUser($req->POST);
if ($register['success']) {
@@ -83,7 +83,7 @@ class Classroom_manager extends UserManager
public function create_OTP($id)
{
$otp = rand(100000,999999);
- User_model::set_OTP($id, $otp);
+ Access_model::set_OTP($id, $otp);
return true;
}
diff --git a/public/app/extends/Send_mail.php b/public/app/extends/SendMail_service.php
index 52eab53..c717e61 100644
--- a/public/app/extends/Send_mail.php
+++ b/public/app/extends/SendMail_service.php
@@ -6,7 +6,7 @@ use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
-class Send_mail
+class SendMail_service
{
/** send_activation_code
*
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