HEX
Server: Apache
System: Linux www3.pit.tblive.com 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User: awaldron (1020)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/home/awaldron/public_html/archive/ressyn/include/classes/awAuth.php
<?php
/* Class AWW_Auth.php by Alan Waldron
 * http://www.alanwaldron.com
 * October 28, 2008
*/
 
	class awAuth extends awDatabase {
		var $user_id;
		var $user_email;
		var $user_type;
		
		function awAuth($uid) {
			if (!empty($uid)) {
				$user = awDatabase::quickRSET("SELECT uid, user_email, user_type_id FROM user WHERE uid=".$_SESSION[auth_uid]);
				if (count($user) > 0) {
					$this->user_email = $user[0][user_email];
					$this->user_id    = $user[0][uid];
					$this->user_type  = $user[0][user_type_id];
					return TRUE;
				} else return FALSE;
			} else return FALSE;
		}
	
		function auto_login() {
			if (!$this->is_logged()) {
				// Look for valid cookie
				$cn1 = $this->cookie_name_encode("auth_email");
				$cn2 = $this->cookie_name_encode("auth_uid");
				$cn3 = $this->cookie_name_encode("auth_type");
				if (isset($_COOKIE[$cn1]) && isset($_COOKIE[$cn2])) {
					if (($_COOKIE[$cn1] != "") && ($_COOKIE[$cn2] != "") && ($_COOKIE[$cn3] != "")) {
						$this->user_email = cookie_value_decode($_COOKIE[$cn1]);
						$this->user_id    = cookie_value_decode($_COOKIE[$cn2]);
						$this->user_type  = cookie_value_decode($_COOKIE[$cn3]);
						$this->set_last_login($this->user_id);
						$_SESSION[auth_uid] = $this->user_id;
						return true;
					} else return false;
				} 	
			} else return true;
		}

		function cookie_value_decode($u) {
			$return = "";
			$cud = strrev($u);
			$cud = preg_replace("/[A-Z]+/si","|",$cud);
			$chars = explode("|",$cud);
			for ($i=0; $i < count($chars); $i++) {
				$return .= chr((int)$chars[$i]);
			}
			return trim($return);
		}
		
		function cookie_value_encode($u) {
			$cue = "";
			for ($i=0; $i < strlen($u); $i++) {
				if ($i!=0) $cue .= str_random(1,2);
				$cue .= ord($u[$i]);
			} 
			return strrev($cue);
		}
		
		function cookie_name_encode($cn) {
			return str_replace(array('=','+','/'),'',base64_encode($cn));
		}

		function force_login() {
			if (!$this->get_uid()) $this->auto_login();
			if (!$this->get_uid()) {
				$_SESSION[force_referrer] = self();
				header("Location: /account/sign-in/required");
			}
		}
		
		function fullname() {
			if ($this->is_logged()) {
				$name = awDatabase::quickROW("SELECT user_fname, user_lname FROM user WHERE uid=".$this->user_id);
				return $name[user_fname].' '.$name[user_lname];
			} else {
				return 'No user signed in.';
			}
		}

		function get_uid() {
			return $this->user_id;
		}
		
		function get_user_type() {
			if ($this->is_logged()) return $this->user_type;
			else return FALSE;
		}
		
		function is_logged() {
			if (isset($this->user_type)) return TRUE;
			else return FALSE;
		}

		function login($e,$p,$c=0,$key_req=1) {
			if (!$this->is_logged()) {
				$user = awDatabase::quickRSET("SELECT uid, user_email, user_type_id FROM user WHERE user_email='".$e."' AND user_pass='".md5($p)."'".($key_req?" AND user_regkey='0'":""));
				if (count($user) > 0) {
					$this->user_email = $user[0][user_email];
					$this->user_id    = $user[0][uid];
					$this->user_type  = $user[0][user_type_id];
					$this->set_last_login($this->user_id);
					if ($c == 1) $this->set_login_cookie($this->user_id,$this->user_email,$this->user_type);
					$_SESSION[auth_uid] = $this->user_id;
					return TRUE;
				} else {
					return FALSE;
				}
			} else return TRUE;
		}
		
		function logout() {
			setcookie($this->cookie_name_encode("auth_email"),"",1);
			setcookie($this->cookie_name_encode("auth_uid"),"",1);
			setcookie($this->cookie_name_encode("auth_user_type"),"",1);
			session_unset();
			session_destroy();
		}

		function set_last_login($uid) {
			return awDatabase::quickUPDATE("UPDATE user SET user_last_login=NOW() WHERE uid=".$uid);
		}			
		
		function set_login_cookie($u,$e,$t) {	// Set cookie to keep user logged in.
			setcookie($this->cookie_name_encode("auth_email"),$this->cookie_value_encode($e),(time()+86400*7));  //expires in 7 days	
			setcookie($this->cookie_name_encode("auth_uid"),$this->cookie_value_encode($u),(time()+86400*7));  //expires in 7 days	
			setcookie($this->cookie_name_encode("auth_user_type"),$this->cookie_value_encode($t),(time()+86400*7));  //expires in 7 days	
		}
	}


?>