summaryrefslogtreecommitdiff
path: root/html/app
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-04 08:46:09 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-04 08:46:09 +0300
commit8df89ce39d2acf5b23ee15241060bd9dd6551620 (patch)
tree06eded98dc24022ce2e5ccfb43d07696427fb5fb /html/app
parent0d317dc0cfe6ae2b6b62d711b7ae67e63555235f (diff)
downloadclassroom-8df89ce39d2acf5b23ee15241060bd9dd6551620.tar.gz
classroom-8df89ce39d2acf5b23ee15241060bd9dd6551620.tar.bz2
classroom-8df89ce39d2acf5b23ee15241060bd9dd6551620.zip
database migrated; privileges table has an included(-privileges) field
Diffstat (limited to 'html/app')
-rw-r--r--html/app/config/app_constants.php11
-rw-r--r--html/app/controllers/Auth.php1
-rw-r--r--html/app/extends/Send_mail.php29
-rw-r--r--html/app/models/admin/User_model.php40
-rw-r--r--html/app/routes/frontend.php7
-rw-r--r--html/app/views/user/registration.php (renamed from html/app/views/user/register.php)2
6 files changed, 73 insertions, 17 deletions
diff --git a/html/app/config/app_constants.php b/html/app/config/app_constants.php
index 4ddf7ac..5a2c9b3 100644
--- a/html/app/config/app_constants.php
+++ b/html/app/config/app_constants.php
@@ -32,10 +32,15 @@ define('MAIL_PORT', $env['MAIL_PORT']);
define('MAIL_USERNAME', $env['MAIL_USERNAME']);
define('MAIL_PASSWORD', $env['MAIL_PASSWORD']);
define('MAIL_ENCRYPTION', $env['MAIL_ENCRYPTION']);
+define('MAIL_FROM_NAME', $env['MAIL_FROM_NAME']);
define('NO_REPLY_EMAIL', $env['NO_REPLY_EMAIL']);
define('REPLY_TO_EMAIL', $env['REPLY_TO_EMAIL']);
-
+// mailjet setup
+// --- -- -- - - -
+define('MJ_API_KEY', $env['MJ_API_KEY']);
+define('MJ_SECRET_KEY', $env['MJ_SECRET_KEY']);
+define('MJ_SMTP', $env['MJ_SMTP']);
// DEFAULT VALUES //////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
@@ -44,8 +49,8 @@ define('REPLY_TO_EMAIL', $env['REPLY_TO_EMAIL']);
// (array of privilege aliases)
// --- -- -- - - -
define('DEFAULT_PRIVILEGES', [
- 'e.1', // economics, level 1
- 'p.1' // programming. level 1
+ 1, // economics, level 1
+ 5 // programming. level 1
]);
diff --git a/html/app/controllers/Auth.php b/html/app/controllers/Auth.php
index de850fe..50f8fe4 100644
--- a/html/app/controllers/Auth.php
+++ b/html/app/controllers/Auth.php
@@ -9,6 +9,7 @@ use app\extends\Classroom_manager;
use app\models\admin\User_model;
use app\extends\Send_mail;
+use app\extends\Mail_jet;
/** class Auth
diff --git a/html/app/extends/Send_mail.php b/html/app/extends/Send_mail.php
index c3ecb66..7dbb50a 100644
--- a/html/app/extends/Send_mail.php
+++ b/html/app/extends/Send_mail.php
@@ -17,11 +17,11 @@ class Send_mail
$mail->SMTPDebug = 3;
$mail->IsSMTP();
$mail->Host = MAIL_HOST;
- $mail->SMPTAuth = true;
+ $mail->SMPTAuth = false;
$mail->SMTPSecure = MAIL_ENCRYPTION;
// $mail->Protocol = 'mail';
- // $mail->Mailer = MAIL_MAILER;
+ $mail->Mailer = MAIL_MAILER;
$mail->Port = MAIL_PORT;
$mail->Username = MAIL_USERNAME;
$mail->Password = MAIL_PASSWORD;
@@ -61,10 +61,9 @@ class Send_mail
// It's important not to use the submitter's address as the from address as it's forgery,
// which will cause your messages to fail SPF checks.
// Use an address in your own domain as the from address, put the submitter's address in a reply-to
- $mail->setFrom(NO_REPLY_EMAIL, SITE_TITLE);
+ $mail->setFrom(NO_REPLY_EMAIL, MAIL_FROM_NAME);
$mail->addAddress($envelope['email'], $envelope['name']);
- $mail->addReplyTo(REPLY_TO_EMAIL, SITE_TITLE);
- $mail->AddBCC("piipiis@gmail.com", "tester"); // notifiation email while testing
+ $mail->addReplyTo(REPLY_TO_EMAIL, MAIL_FROM_NAME);
$mail->Subject = 'Εγγραφή στο Classroom';
$mail->Body = "Χαίρετε,<br>
το παρόν αυτοποιημένο email σάς έχει σταλεί γιατί έχει γίνει αίτημα εγγραφής σας στο Classroom.<br>
@@ -87,6 +86,10 @@ class Send_mail
}
}
+
+
+
+
}
@@ -153,5 +156,21 @@ Log event to Email
* rU8WEmcHsRcEQaH
* rU8WEmcHsRcEQaH
*
+ * mailjet
+ * piipiis@g
+ * EN6Xg8!99ZTKaYp7
+ *
+ *
+ * sendGrid
+ * piipiis
+ * EN6Xg899ZTKU8WEmcHsR54321
+ *
+ *
+ * time4vps...
+ * https://community.time4vps.com/discussion/75/are-any-ports-blocked-by-time4vps
+ *
+ * test activation code:
+ * ca42d68cfba5fbbafeacc010b8e3a551
+ *
*/
\ No newline at end of file
diff --git a/html/app/models/admin/User_model.php b/html/app/models/admin/User_model.php
index bfed5c5..187da2d 100644
--- a/html/app/models/admin/User_model.php
+++ b/html/app/models/admin/User_model.php
@@ -129,7 +129,7 @@ class User_model
* @return $activation_code
*
*/
- public static function registerUser($data, $password, $privileges = ['ec.1', 'pr.1'])
+ public static function registerUser($data, $password, $privileges = DEFAULT_PRIVILEGES)
{
$required_fields = [
'name',
@@ -174,7 +174,7 @@ class User_model
)->lastInsertID();
// set default privileges
- // self::set_user_privileges($privileges);
+ // self::set_user_privileges($new_user_id, $privileges);
// update history
History::trackUserAccess($new_user_id, TRACK_ACCOUNT, 'Create User Account');
@@ -188,26 +188,54 @@ class User_model
}
- public static fuunction activate($ticket)
+ public static function activate($ticket)
{
$user = Registry::use('database')->query(
"SELECT * FROM user WHERE activation = :ticket",
- [ 'ticket' => $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 activated = 1 WHERE activation = :ticket",
- [ 'ticket' => $ticket]
+ "UPDATE user
+ SET activated = 1, `activation` = NULL
+ WHERE activation = :ticket",
+ [ 'ticket' => $ticket ]
);
+ // update history
+ History::trackUserAccess($new_user_id, TRACK_ACCOUNT, 'User Account Activated');
+
return true;
}
+ /** set_user_privileges
+ *
+ * @param $user_id (int)
+ * @param $privileges (array)
+ */
+ public static function set_user_privileges($user_id, $privileges)
+ {
+
+ foreach($privileges as $pri) {
+ Registry::use('database')->runQuery(
+ "INSERT INTO user_privilege (user_id, privilege_id)
+ VALUES (:user, :privilege)",
+ [
+ ':user' => $user_id,
+ ':privilege' => $pri
+ ]
+ );
+ }
+
+ return true;
+ }
+
/** inherited privileges
*
* list of all inhereted (sub-)privileges
diff --git a/html/app/routes/frontend.php b/html/app/routes/frontend.php
index ca91f7b..e602e87 100644
--- a/html/app/routes/frontend.php
+++ b/html/app/routes/frontend.php
@@ -2,6 +2,7 @@
use app\controllers\Resolve;
use app\controllers\Product;
+use app\controllers\Auth;
use app\controllers\Classroom_user;
// Home/Welcome
@@ -38,7 +39,8 @@ Route::notFound( function() {
Route::add('/login', function() { Render::view('user/login'); });
-Route::add('/register', function() { Render::view('user/register'); });
+Route::add('/registration', function() { Render::view('user/registration'); });
+
@@ -46,10 +48,11 @@ Route::add('/register', function() { Render::view('user/register'); });
// user sends a registration form;
Route::add('/account/register', function() { $x = Auth::register(); print_r($x); }, 'post');
-
+// user requests activation
Route::add('/account/activate', function() { Auth::activate(); } );
+
Route::add('/account/reset_password', function() { Auth::reset_password(); } );
diff --git a/html/app/views/user/register.php b/html/app/views/user/registration.php
index a5ee116..e3527f0 100644
--- a/html/app/views/user/register.php
+++ b/html/app/views/user/registration.php
@@ -105,7 +105,7 @@
};
// select action url (add or update)
- var request = '/register';
+ var request = '/account/register';
// send POST request
$.post(request, data)