Advertisement
Guest User

Untitled

a guest
May 11th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.53 KB | None | 0 0
  1. class PrivilegedUser extends Goodies
  2. {
  3.     private $roles;
  4.  
  5.     public function __construct() {
  6.     }
  7.    
  8.     public static function getByUsername($username) {
  9.        
  10.         $sql = "SELECT * FROM crm_utilizadores WHERE u_username = '".$username."' ";
  11.        
  12.         $result_sql = mysql_query($sql);
  13.        
  14.         $row = mysql_fetch_array($result_sql);
  15.  
  16.         if (!empty($row)) {
  17.             $privUser = new PrivilegedUser();
  18.             $privUser->user_id = $row[0]["u_cod"];
  19.             $privUser->username = $username;
  20.             $privUser->password = $row[0]["u_password"];
  21.             $privUser->email_addr = $row[0]["u_email"];
  22.             $privUser->initRoles($row["u_cod"]);
  23.             return $privUser;
  24.         } else {
  25.             return false;
  26.         }
  27.     }
  28.    
  29.  
  30.     //realiza a busca dos papeis do utilizador em questão
  31.     protected function initRoles($userID) {
  32.        
  33.         $this->roles = array();
  34.         $sql = "SELECT t1.role_id, t2.role_name FROM user_role as t1
  35.                JOIN roles as t2 ON t1.role_id = t2.role_id
  36.                WHERE t1.user_id = '".$userID."' ";
  37.        
  38.         $result_sql = mysql_query($sql);
  39.  
  40.         while($row = mysql_fetch_array($result_sql)){
  41.             $this->roles[$row["role_name"]] = Role::getRolePerms($row["role_id"]);
  42.         }
  43.     }
  44.  
  45.     // check if user has a specific privilege
  46.     public function hasPrivilege($perm) {
  47.         foreach ($this->roles as $role) {
  48.             if ($role->hasPerm($perm)) {
  49.                 return true;
  50.             }
  51.         }
  52.         return false;
  53.         //return true;
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement