<?php //session#new $app->get("/login", SessionsHelper::not_logged_in_user($app), function () use($app) { isset($_SESSION['forward_url']) ? $forward_url = $_SESSION['forward_url'] : ($forward_url = null); $app->render('sessions/new.php', ['forward_url' => $forward_url]); }); //session#create $app->post("/login", SessionsHelper::not_logged_in_user($app), function () use($app, $validator) { $params = $app->request()->post(); $validation = $validator->make($params, array_merge(User::$email_alt_rules, User::$password_rules)); //creating array of validation errors $messages_all = $validation->messages()->all(); //if there is any validation errors if (!empty($messages_all)) { $app->flash('messages', ['danger' => $messages_all]); $app->redirect('/login'); } $user = User::where('email', '=', $params['email'])->first(); if ($user && $user->password_verify($params['password'])) { SessionsHelper::is_activated($app, $user); SessionsHelper::log_in($user); isset($params['remember_me']) ? SessionsHelper::remember($app, $user) : SessionsHelper::forget($app, $user); SessionsHelper::redirect_back_or($app, '/'); } else { $app->flash('messages', ['danger' => ['Invalid email/password combination']]); $app->redirect('/login'); } }); //session#destroy $app->get("/logout", function () use($app) {
$user->create_digest('reset'); $user->save(); $user->send_reset_email(); $app->flash('messages', ['info' => ['Email send with password reset instructions']]); $app->redirect('/'); }); //password_resets#edit $app->get("/password_resets/:reset_digest/edit/:email", SessionsHelper::not_logged_in_user($app), function ($reset_digest, $email) use($app) { $user = User::where('email', '=', StringHelper::base64_url_decode($email))->first(); PasswordResetsHelper::valid_user($app, $user, $reset_digest); PasswordResetsHelper::check_expiration($app, $user); SessionsHelper::is_activated($app, $user); $app->render('password_resets/edit.php', ['reset_digest' => $reset_digest, 'email' => $email]); }); //password_resets#update $app->post("/password_resets/:reset_digest", SessionsHelper::not_logged_in_user($app), function ($reset_digest) use($app, $validator) { $params = $app->request()->post(); $user = User::where('email', '=', StringHelper::base64_url_decode($params['email']))->first(); PasswordResetsHelper::valid_user($app, $user, $reset_digest); PasswordResetsHelper::check_expiration($app, $user); SessionsHelper::is_activated($app, $user); $validation = $validator->make($params, array_merge(User::$password_rules)); //creating array of errors $message_password_confirmation = array(); if ($params['password'] != $params['password_confirmation']) { $message_password_confirmation = ['Password confirmation doesn\'t match']; } $messages_validation = $validation->messages()->all(); $messages_all = array_merge($message_password_confirmation, $messages_validation); //if there is any validation errors if (!empty($messages_all)) {
<?php // users#new $app->get("/users/new", SessionsHelper::not_logged_in_user($app), function () use($app) { $app->render('users/new.php'); }); // users#index $app->get("/adminpanel/users", function () use($app) { $app->render('users/index.php'); }); // users#create $app->post("/users", SessionsHelper::not_logged_in_user($app), function () use($app, $validator, $environment) { $params = $app->request()->post(); $validation = $validator->make($params, array_merge(User::$name_rules, User::$email_rules, User::$password_rules, User::$telephone_rules, User::$address_rules)); //creating array of errors $message_password_confirmation = array(); if ($params['password'] != $params['password_confirmation']) { $message_password_confirmation = ['Password confirmation doesn\'t match']; } $messages_validation = $validation->messages()->all(); $messages_all = array_merge($message_password_confirmation, $messages_validation); //if there is any errors if (!empty($messages_all)) { $app->flash('messages', ['danger' => $messages_all]); $app->flash('prev_params', $params); $app->redirect('/users/new'); } $user = new User($params); if ($environment == 'development') { // used on local machine when you not able to send email // after sign up activation link appears in debug_info block