Exemplo n.º 1
0
 public static function setupUsers($data)
 {
     self::dbFixture(\UserAccount::getTableName(), array());
     foreach ($data as $key => $userRow) {
         $userRights = null;
         if (!isset($userRow['password'])) {
             $userRow['password'] = self::DefaultPassword;
         }
         self::checkUserRow($userRow);
         if (isset($userRow['rights'])) {
             $userRights = $userRow['rights'];
         }
         $userRow['password'] = Password::hash($userRow['password']);
         $user = new \UserAccount($userRow);
         $user->insert();
         if (!empty($userRights)) {
             $user->rights = $userRights;
             $user->update();
         }
     }
 }
Exemplo n.º 2
0
 public static function signup($login, $password, $email, $aData)
 {
     self::validateLogin($login);
     self::validateEmail($email);
     // Проверка данных
     EventController::callEvent('users_registration_check_data', $login, $password, $email, $aData);
     // Проверка существования логина и почты
     self::checkLoginOrEmailExists($login, $email);
     $register = new SystemRegister('Applications/users/front-end/');
     // Если требуется подтвержденте
     if ($register->account_confirmation->value) {
         // Код подтверждения
         $aData['confirmation_code'] = self::getConfirmationCode();
     }
     //
     $aData['login'] = $login;
     $aData['email'] = $email;
     $user = new UserAccount($aData);
     $user->obj_password->setValue($password);
     $user->insert();
     // Добавлени в базу
     $aData['id'] = $user->id->getValue();
     $aData['password'] = $password;
     // Вызов события
     EventController::callEvent('users_registration_after_signup', $aData, $user);
     //
     // Если требуется подтверждение
     if ($register->account_confirmation->value) {
         // Высылка письма
         self::sendEmailConfirmation($aData);
     } else {
         UsersLogin::login($login, $password);
     }
     if ($register->account_registration_success_email->value) {
         // Высылка письма
         self::sendEmailRegistration($aData);
     }
     return $aData['id'];
 }