Example #1
0
 public static function onSiteCreated($requestData)
 {
     // create initial developer
     if (!empty($requestData['create_user'])) {
         try {
             $userClass = User::getStaticDefaultClass();
             $User = $userClass::create(array_merge($requestData['create_user'], array('AccountLevel' => 'Developer')));
             $User->setClearPassword($requestData['create_user']['Password']);
             $User->save();
         } catch (Exception $e) {
             // fail silently
         }
     }
     // execute configured method
     if (is_callable(static::$onSiteCreated)) {
         call_user_func(static::$onSiteCreated, $requestData);
     }
 }
 public static function handleRecoverPasswordRequest()
 {
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $userClass = User::getStaticDefaultClass();
         if (empty($_REQUEST['username'])) {
             $error = 'Please provide either your username or email address to reset your password.';
         } elseif (!($User = $userClass::getByUsername($_REQUEST['username'])) && !($User = $userClass::getByEmail($_REQUEST['username']))) {
             $error = 'No account is currently registered for that username or email address.';
         } elseif (!$User->Email) {
             $error = 'Unforunately, there is no email address on file for this account. Please contact an administrator.';
         } else {
             $Token = PasswordToken::create(array('CreatorID' => $User->ID), true);
             $Token->sendEmail($User->Email);
             return static::respond('recoverPasswordComplete', array('success' => true));
         }
     }
     return static::respond('recoverPassword', array('success' => empty($error), 'error' => isset($error) ? $error : false));
 }