diff options
Diffstat (limited to 'html/app')
| -rw-r--r-- | html/app/config/app_constants.php | 11 | ||||
| -rw-r--r-- | html/app/controllers/Auth.php | 1 | ||||
| -rw-r--r-- | html/app/extends/Send_mail.php | 29 | ||||
| -rw-r--r-- | html/app/models/admin/User_model.php | 40 | ||||
| -rw-r--r-- | html/app/routes/frontend.php | 7 | ||||
| -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) |
