Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class auth{
- //Авторизация пользователя
- public static function login ($login, $password){
- $login = mysqli_real_escape_string (dbConnection::get_link (), $login);
- $password = mysqli_real_escape_string (dbConnection::get_link (), $password);
- if ($user = user::model ()->find (array ('username' => $login, 'password' => md5 ($password)))){
- $_SESSION['user_id'] = $user->id;
- $_SESSION['admin'] = $user->role;
- $_SESSION['username'] = $user->username;
- return true;
- }
- else
- return false;
- }
- //Проверка на то, что пользователь прошел авторизацию
- public static function is_logged (){
- if (isset ($_SESSION ['user_id']))
- return true;
- else
- return false;
- }
- //Проверка роли авторизованного пользователя
- public static function is_admin (){
- if (isset ($_SESSION ['admin']) && $_SESSION ['admin'] == '1')
- return true;
- else
- return false;
- }
- //Возвращает ID пользователя
- public static function user_id (){
- if (isset ($_SESSION ['user_id']))
- return $_SESSION ['user_id'];
- else
- return null;
- }
- public static function logout (){
- unset ($_SESSION ['user_id']);
- unset ($_SESSION ['admin']);
- }
- //Имя пользователя
- public static function user_name (){
- if (isset ($_SESSION ['username']))
- return $_SESSION ['username'];
- else
- return null;
- }
- }
- ?>
- *****************************************************************************
- <?php
- class login{
- //Авторизация пользователя
- public function index (){
- if (!auth::is_logged ()){
- if (isset ($_POST['submit']) && isset ($_POST['user']['username']) && isset ($_POST['user']['password'])){
- if (auth::login ($_POST['user']['username'], $_POST['user']['password']))
- header ('Location: '.BASE_URL);
- else
- view::render ('./views/login/index.php', array ('error'=>'Неверное имя пользователя или пароль.'));
- }
- else
- view::render ('./views/login/index.php');
- }
- else
- header ('Location: '.BASE_URL);
- }
- //Регистрация пользователя
- public function registration (){
- if (!auth::is_logged ()){
- if (isset ($_POST['submit']) && isset ($_POST['user'])){
- $model = new user();
- $model->set_attributes ($_POST['user']);
- $model->role = "0";
- if ($_POST['double_password'] == $model->password){
- if ($model->validate ()){
- if (!user::model ()->find (array ('username' => $model->username)))
- {
- $model->password = md5($model->password);
- $model->save ();
- header ('Location: '.BASE_URL);
- }
- else
- $model->add_validation_error ('Пользователь с таким логином уже существует.');
- }
- }
- else
- $model->add_validation_error ('Ошибка подтверждения пароля.');
- view::render ('./views/login/registration.php', array ('model' => $model));
- }
- view::render ('./views/login/registration.php');
- }
- else
- header ('Location: '.BASE_URL);
- }
- //Выход из системы
- public function logout (){
- auth::logout ();
- header ('Location: '.BASE_URL);
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement