File indexing completed on 2024-05-12 17:26:17

0001 <?php
0002 
0003 /*
0004  *   TRT GFX 3.0.1 (beta build) BackToSlash
0005  * 
0006  *   support: happy.snizzo@gmail.com
0007  *   website: http://trt-gfx.googlecode.com
0008  *   credits: Claudio Desideri
0009  *   
0010  *   This software is released under the MIT License.
0011  *   http://opensource.org/licenses/mit-license.php
0012  */ 
0013 
0014 class EUser{
0015   
0016   public static $debug = true;
0017   
0018   private static $logged = false;
0019   private static $group = "anonymous";
0020   private static $pass;
0021   private static $nick;
0022   private static $mail;
0023   private static $id;
0024   
0025   public static function load(){
0026     
0027     EUser::$debug = true;
0028     EUser::$logged = false;
0029     EUser::$group = "anonymous";
0030     
0031     if(isset($_SESSION['nick'])){
0032       EUser::$logged = true;
0033       EUser::$nick = $_SESSION['nick'];
0034       EUser::$id = $_SESSION['id'];
0035       EUser::$group = $_SESSION['group'];
0036       EUser::$mail = $_SESSION['mail'];
0037       EUser::$pass = $_SESSION['pass'];
0038     } else {
0039       if(isset($_COOKIE['nick']) and isset($_COOKIE['pass'])){
0040         $r = EDatabase::q("SELECT * FROM ocs_person WHERE login='".$_COOKIE['nick']."' AND password='".$_COOKIE['pass']."' LIMIT 1");
0041         
0042         while($row = mysql_fetch_array($r)){
0043           EUser::$nick = $_SESSION['nick'] = $row['login'];
0044           EUser::$id = $_SESSION['id'] = $row['id'];
0045           EUser::$group = $_SESSION['group'] = $row['tgroup'];
0046           EUser::$mail = $_SESSION['mail'] = $row['email'];
0047           EUser::$pass = $_SESSION['pass'] = $row['password'];
0048           if(!empty($row['login'])){
0049             EUser::$logged = true;
0050           } else {
0051             EUser::$logged = false;
0052           }
0053         }
0054       
0055       } else {
0056         EUser::$logged = false;
0057       }
0058     }
0059     
0060   }
0061   
0062   
0063   public static function status(){
0064     return EUser::$status;
0065   }
0066   
0067   public static function password(){
0068     return EUser::$pass;
0069   }
0070   
0071   public static function mail(){
0072     return EUser::$mail;
0073   }
0074   
0075   public static function id(){
0076     return EUser::$id;
0077   }
0078   
0079   public static function nick(){
0080     return EUser::$nick;
0081   }
0082   
0083   public static function logged(){
0084     return EUser::$logged;
0085   }
0086   
0087   public static function login($nick, $pass){
0088     $r = EDatabase::q("SELECT * FROM ocs_person WHERE login='$nick' AND password='$pass' LIMIT 1");
0089     while($row = mysql_fetch_array($r)){
0090       
0091       if(!empty($row['login'])){
0092         EUser::$logged = true;
0093       } else {
0094         EUser::$logged = false;
0095       }
0096             
0097       setcookie("nick",$nick, time()+2419200);
0098       setcookie("pass",$pass, time()+2419200);
0099       EUser::$nick = $_SESSION['nick'] = $row['login'];
0100       EUser::$id = $_SESSION['id'] = $row['id'];
0101       EUser::$group = $_SESSION['group'] = $row['tgroup'];
0102       EUser::$logged = true;
0103       EUser::$mail = $_SESSION['mail'] = $row['email'];
0104       EUser::$pass = $_SESSION['pass'] = $row['password'];
0105     }
0106     return EUser::logged();
0107   }
0108   
0109   public static function logout(){
0110     session_destroy();
0111     setcookie("nick","", time()-2419200);
0112     setcookie("pass","", time()-2419200);
0113     EUser::$logged = false;
0114   }
0115   
0116   public static function gdeny($g){
0117     $groups = explode("|", EUser::$group);
0118     foreach($groups as $thGroup){
0119       if($thGroup==$g){
0120         ELog::error("You're not allowed to be here.");
0121         die($error);
0122       }
0123     }
0124     if(EUser::$logged==false){
0125       $error = "Loggati e riprova!";
0126       die($error);
0127     }
0128   }
0129   
0130   public static function refresh(){
0131     $r = EDatabase::q("SELECT * FROM ocs_person WHERE login='".EUser::$nick."' AND password='".EUser::$pass."' LIMIT 1");
0132     while($row = mysql_fetch_array($r)){
0133       EUser::$nick = $_SESSION['nick'] = $row['login'];
0134       EUser::$id = $_SESSION['id'] = $row['id'];
0135       EUser::$group = $_SESSION['group'] = $row['tgroup'];
0136       EUser::$logged = true;
0137       EUser::$mail = $_SESSION['mail'] = $row['email'];
0138     }
0139     return EUser::$logged();
0140   }
0141   
0142   public static function gallow($g){
0143     $allowedgroups = explode("|", $g);
0144     $groups = explode("|", EUser::$group);
0145     foreach($groups as $thGroup){
0146       foreach($allowedgroups as $alGroup){
0147         if($thGroup==$alGroup){
0148           return true;
0149         }
0150       }
0151     }
0152     ELog::error("You're not allowed to be here.");
0153     return false;
0154   }
0155   
0156   public static function belongs_to_group($g){
0157     $groups = explode("|", EUser::$group);
0158     foreach($groups as $thGroup){
0159       if($thGroup==$g){
0160         return true;
0161       }
0162     }
0163     //else return false :)
0164     return false;
0165   }
0166   
0167   public static function group(){
0168     return EUser::$group;
0169   }
0170   
0171   public static function register($nick, $pass, $group){
0172     EDatabase::q("INSERT INTO ocs_person (login, password, tgroup) VALUES ('$nick', '$pass', '$group')");
0173   }
0174   
0175 }
0176 
0177 ?>