summaryrefslogtreecommitdiff
path: root/html/app/extends
diff options
context:
space:
mode:
Diffstat (limited to 'html/app/extends')
-rw-r--r--html/app/extends/Classroom_manager.php106
-rw-r--r--html/app/extends/Classroom_user.php105
2 files changed, 131 insertions, 80 deletions
diff --git a/html/app/extends/Classroom_manager.php b/html/app/extends/Classroom_manager.php
new file mode 100644
index 0000000..4d38ba3
--- /dev/null
+++ b/html/app/extends/Classroom_manager.php
@@ -0,0 +1,106 @@
+<?php
+namespace app\extends;
+
+use UserManager;
+use Registry;
+
+
+/** ClassUserManager
+ *
+ * extends (anom's) UserManager
+ *
+ * this way it specializes the UserManagement
+ * according to this app's special rules
+ *
+ */
+class Classroom_manager extends UserManager
+{
+
+ private $index_key = 'email'; // identifing user field (username, email, etc )
+
+ protected $user;
+
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+
+ /** register user
+ *
+ * register into database;
+ * send OTP for account confirmation
+ *
+ * @param (void) : user properties passed via REQUEST->POST
+ *
+ */
+ public function register_user()
+ {
+ $req = Registry::get('REQUEST');
+ $register = User_model::registerUser($req->POST);
+
+ if ($register['success']) {
+
+ //create OTP;
+ $otp = $this->create_OPT($register['id']);
+
+ // send for account confirmation
+
+
+ } else {
+ print_r($register);
+ }
+
+ }
+
+
+ public function login_user()
+ {
+
+ }
+
+
+ /** forgot password
+ *
+ * send an otp
+ * (then verify)
+ *
+ */
+ public function forgot_password()
+ {
+
+ }
+
+
+ /** create OTP
+ *
+ * create a random OTP
+ * keep it into User's database Table
+ *
+ * @param $id (int): user id
+ *
+ */
+ public function create_OTP($id)
+ {
+ $otp = rand(100000,999999);
+ User_model::set_OTP($id, $otp);
+
+ return true;
+ }
+
+
+ /** Verify Account
+ *
+ * check if posted OTP matched the one sent to the user
+ *
+ * @param $identity (array): pair of [index_key => identity_value]
+ * example: [ 'email' => 'geo@roptron.gr' ]
+ *
+ */
+ public function verify_otp($identity, $otp)
+ {
+
+ }
+
+
+} \ No newline at end of file
diff --git a/html/app/extends/Classroom_user.php b/html/app/extends/Classroom_user.php
index b451114..fd1e573 100644
--- a/html/app/extends/Classroom_user.php
+++ b/html/app/extends/Classroom_user.php
@@ -1,107 +1,52 @@
<?php
-namespace app\controllers;
+namespace app\extends;
-use UserManager;
+use User;
use Registry;
-use app\models\admin\User_model;
-
-/** ClassUserManager
+/** Classroom_user
*
- * extends (anom's) UserManager
+ * extends (anom's) User
*
* this way it specializes the UserManagement
* according to this app's special rules
*
+ * Add privileges concept
+ * ---
+ * A Class_user has privileges (which are deferent than Roles)
+ * In fact, privileges extend the authorization requirements for users
+ *
+ * Authorized content is marked with some 'minimum Privilege'
+ * So the content is available to the READER(s) that have certain Privileges
+ *
*/
-class Classroom_user extends UserManager
+class Classroom_user extends User
{
- private $index_key = 'email'; // identifing user field (username, email, etc )
-
- protected $user;
-
- public function __construct()
- {
- parent::__construct();
- }
+ // @var array
+ private $privileges = [];
- /** register user
- *
- * register into database;
- * send OTP for account confirmation
- *
- * @param (void) : user properties passed via REQUEST->POST
+ /** getPrivileges
*
+ * @return privileges (array)
*/
- public function register_user()
+ public function getPrivileges(): array
{
- $req = Registry::get('REQUEST');
- $register = User_model::registerUser($req->POST);
-
- if ($register['success']) {
-
- //create OTP;
- $otp = $this->create_OPT($register['id']);
-
- // send for account confirmation
-
-
- } else {
- print_r($register);
- }
-
+ return $this->privileges;
}
-
- public function login_user()
- {
-
- }
-
-
- /** forgot password
+ /** setPrivileges()
*
- * send an otp
- * (then verify)
+ * @param array $privileges
*
+ * @return User
*/
- public function forgot_password()
+ public function setPrivileges(array $privileges): self
{
-
- }
-
-
- /** create OTP
- *
- * create a random OTP
- * keep it into User's database Table
- *
- * @param $id (int): user id
- *
- */
- public function create_OTP($id)
- {
- $otp = rand(100000,999999);
- User_model::set_OTP($id, $otp);
-
- return true;
- }
-
-
- /** Verify Account
- *
- * check if posted OTP matched the one sent to the user
- *
- * @param $identity (array): pair of [index_key => identity_value]
- * example: [ 'email' => 'geo@roptron.gr' ]
- *
- */
- public function verify_otp($identity, $otp)
- {
-
+ $this->privileges = $privileges;
+ return $this;
}