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(); } } }
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']; }