Beispiel #1
0
 /**
  * Gegenerate an ajax Token
  *
  * @return   array 
  */
 public static function generate()
 {
     $key = \Kanso\Utility\Str::generateRandom(100);
     $salt = \Kanso\Utility\Str::generateRandom(21);
     $encryptedKey = self::encrypt($key, $salt);
     $keys = ['key' => $encryptedKey, 'salt' => $salt];
     return $keys;
 }
Beispiel #2
0
 /**
  * Forgot password
  *
  * @param  string    $username
  * @return boolean
  */
 public function forgotPassword($username)
 {
     # Get a new Query Builder
     $Query = \Kanso\Kanso::getInstance()->Database->Builder();
     # Validate the user exists
     $user = $Query->SELECT('*')->FROM('users')->WHERE('username', '=', $username)->ROW();
     if (!$user) {
         return false;
     }
     # generate a token
     $token = \Kanso\Utility\Str::generateRandom(85, true);
     $Query->UPDATE('users')->SET(['kanso_password_key' => $token])->WHERE('id', '=', $user['id'])->QUERY();
     # Create array of data for email template
     $website = \Kanso\Kanso::getInstance()->Environment['KANSO_WEBSITE_NAME'];
     $emailData = ['name' => $user['name'], 'website' => $website, 'key' => $token];
     # Get the email template
     $msg = \Kanso\Templates\Templater::getTemplate($emailData, 'EmailForgotPassword');
     # Send email
     return \Kanso\Utility\Mailer::sendHTMLEmail($user['email'], $website, 'no-reply@' . $website, 'A reset password request has been made', $msg);
     return false;
 }