File: /var/www/limestate-api/Controllers/UserController.php
<?php
class UserController {
public static function actionLogin() {
$email = Data::getVar('email', '');
$password = Data::getVar('password', '');
if (empty($email)) {
$errors['email'] = 'Email не должен быть пустой';
}
if (empty($password)) {
$errors['password'] = 'Пароль не должен быть пустой';
}
if (!empty($errors)) {
Ajax::success([
'errors' => $errors
]);
}
$token = User::auth($email, $password, true);
if ($token) {
Ajax::success([
'token' => $token
]);
} else {
Ajax::success([
'errors' => [
'general' => 'Ошибка авторизации'
]
]);
}
}
public static function actionRegistration() {
$agency = Data::getVar('agency', '');
$firstName = Data::getVar('first_name', '');
$middleName = Data::getVar('middle_name', '');
$lastName = Data::getVar('last_name', '');
$phone = Data::getVar('phone', '');
$email = Data::getVar('email', '');
$password = Data::getVar('password', '');
$password2 = Data::getVar('password2', '');
$subscriptionSms = Data::getVar('subscription_sms', 0);
$subscriptionEmail = Data::getVar('subscription_email', 0);
$agreed = Data::getVar('agreed', 0);
$errors = [];
if (empty($email)) {
$errors['email'] = 'Email не должен быть пустой';
}
if (User::isEmailRegistered($email)) {
$errors['email'] = 'Email уже зарегистрирован';
}
if (empty($firstName)) {
$errors['first_name'] = 'Имя не должно быть пустым';
}
if (empty($lastName)) {
$errors['last_name'] = 'Фамилия не должна быть пустой';
}
if (empty($phone)) {
$errors['phone'] = 'Телефон не должным быть пустым';
}
if (empty($agreed)) {
$errors['agreed'] = 'Правила регистрации должны быть прочитаны и отмечены';
}
if (empty($password)) {
$errors['password'] = 'Пароль не должен быть пустой';
}
if ($password != $password2) {
$errors['password2'] = 'Пароли должны совпадать';
}
if (!empty($errors)) {
Ajax::success([
'errors' => $errors
]);
}
$agencyId = Agency::getId($agency, true);
$user = User::signUp([
'agency_id' => $agencyId,
'first_name' => $firstName,
'last_name' => $lastName,
'middle_name' => $middleName,
'phone' => $phone,
'email' => $email,
'password' => $password,
'subscription_sms' => $subscriptionSms,
'subscription_email' => $subscriptionEmail
]);
Ajax::success([
'user' => $user
]);
}
public static function actionPasswordRecovery()
{
$email = Data::getVar('email', '');
$user = User::findUser_byEmail($email);
if ($user) {
User::passwordRecovery($email);
} else {
$errors['common'] = 'Пользователь с таким email не найден';
}
if (!empty($errors)) {
Ajax::success([
'errors' => $errors
]);
} else {
Ajax::success();
}
}
}