Advertisement
Guest User

Untitled

a guest
May 31st, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.56 KB | None | 0 0
  1. CO TO KURVA JE!!!!
  2. <?php
  3. class User {
  4.    
  5.     var $userdata;
  6.    
  7.     function User() {
  8.         session_start();
  9.         header("Cache-control: private");
  10.     }
  11.    
  12.     function logout() {
  13.         unset($this->userdata);
  14.         session_destroy();
  15.         return true;
  16.     }
  17.    
  18.     function checkLogin($login = '', $password = '', $successURL = '', $failURL = '') {
  19.         require_once 'database.php';
  20.        
  21.         $db = new Database;
  22.        
  23.         if ($_SESSION['user_login'] && $_SESSION['user_password']) {
  24.             $user = $db->query("SELECT * FROM rs_users WHERE login = ".$_SESSION['user_login']." AND password = ".$_SESSION['user_password']."");
  25.             $this->userdata = $db->fetchArray($user);
  26.            
  27.             if ($db->numRows($user) == 1) {
  28.                 if ($successURL) {
  29.                     header('location: '.$successURL);
  30.                 }
  31.                
  32.                 return true;
  33.             }
  34.             else {
  35.                 $this->logout();
  36.                
  37.                 if ($failURL) {
  38.                     header('location: '.$failURL);
  39.                 }
  40.                
  41.                 return false;
  42.             }
  43.         }
  44.         else {
  45.             $user = $db->query("SELECT * FROM rs_users WHERE login = '$login' AND password = '$password'");
  46.             $this->userdata = $db->fetchArray($user);
  47.            
  48.             if ($db->numRows($user) == 1) {
  49.                 $_SESSION['user_login'] = $login;
  50.                 $_SESSION['user_id'] = $this->userdata['id'];
  51.                 $_SESSION['user_password'] = $this->userdata['password'];
  52.                
  53.                 if ($successURL) {
  54.                     header('location: '.$successURL);
  55.                 }
  56.                
  57.                 return true;
  58.             }
  59.             else {
  60.                 unset($this->userdata);
  61.                
  62.                 if ($failURL) {
  63.                     header('location: '.$failURL);
  64.                 }
  65.                
  66.                 return false;
  67.             }
  68.         }
  69.     }
  70.    
  71.     function userHasPermission($userId, $permissionName) {
  72.         require_once 'database.php';
  73.         require_once 'validation.php';
  74.        
  75.         $db = new Database;
  76.         $validation = new Validation;
  77.        
  78.         if (!$validation->validateNumber($userId)) {
  79.             return false;
  80.         }
  81.        
  82.         $hasPermission = false;
  83.        
  84.         $permissionId = $db->fetchArray($db->query("SELECT id FROM rs_permissions WHERE name = '$permission'"));
  85.         $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
  86.         if ($userGroups) {
  87.             while ($group = $db->fetchArray($userGroups)) {
  88.                 $groupPermissions = $db->fetchArray($db->query("SELECT permission_id FROM rs_group_permission_relations WHERE group_id = ".$group['group_id'].""));
  89.                 if ($permissionId['id'] == $groupPermissions['permission_id']) {
  90.                     $hasPermission = true;
  91.                     break;
  92.                 }
  93.             }
  94.         }
  95.        
  96.         return ($hasPermission)?true:false;
  97.     }
  98.    
  99.     function userGetPermissions($userId) {
  100.         require_once 'database.php';
  101.         require_once 'validation.php';
  102.        
  103.         $db = new Database;
  104.         $validation = new Validation;
  105.        
  106.         if (!$validation->validateNumber($userId)) {
  107.             return false;
  108.         }
  109.        
  110.         $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
  111.         if ($userGroups) {
  112.             while ($group = $db->fetchArray($userGroups)) {
  113.                 $groupPermissions = $db->query("SELECT permission_id FROM rs_group_permission_relations WHERE group_id = ".$group['group_id']."");
  114.                 if ($groupPermissions) {
  115.                     while ($permission = $db->fetchArray($groupPermissions)) {
  116.                         $permissionInfo = $db->fetchArray($db->query("SELECT name FROM rs_permissions WHERE id = ".$permission['permission_id'].""));
  117.                         $this->userdata['permissions'][] .= $permissionInfo['name'];
  118.                     }
  119.                 }
  120.             }          
  121.         return $this->userdata['permissions'];
  122.         }
  123.         else return false;
  124.     }
  125.    
  126.     function userIsInGroup($userId, $groupName) {
  127.         require_once 'database.php';
  128.         require_once 'validation.php';
  129.        
  130.         $db = new Database;
  131.         $validation = new Validation;
  132.        
  133.         if (!$validation->validateNumber($userId)) {
  134.             return false;
  135.         }      
  136.        
  137.         $groupId = $db->fetchArray($db->query("SELECT id FROM rs_groups WHERE name = '$groupName'"));
  138.         if ($groupId) {
  139.             $groupRelation = $db->query("SELECT id FROM rs_user_group_relations WHERE group_id = ".$groupId['id']." AND user_id = $userId");
  140.        
  141.             if ($db->numRows($groupRelation) > 0) {
  142.                 return true;
  143.             }
  144.         }
  145.         else return false;
  146.     }
  147.    
  148.     function userGetGroups($userId) {
  149.         require_once 'database.php';
  150.         require_once 'validation.php';
  151.        
  152.         $db = new Database;
  153.         $validation = new Validation;
  154.        
  155.         if (!$validation->validateNumber($userId)) {
  156.             return false;
  157.         }      
  158.        
  159.         $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
  160.         if ($userGroups) {
  161.             while ($group = $db->fetchArray($userGroups)) {
  162.                 $groupInfo = $db->fetchArray($db->query("SELECT name FROM rs_groups WHERE id = ".$group['group_id'].""));
  163.                 $this->userdata['groups'][] .= $groupInfo['name'];
  164.             }
  165.        
  166.             return $this->userdata['groups'];
  167.         }
  168.         else return false;
  169.     }
  170. }
  171. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement