| 
<?php 
 /**
 * @author Mohammed Cherkaoui
 * @link www.cherkaoui-php.com
 * @copyright 2010
 */
 
 
 
 class userChecker
 {
 
 /**
 * Users table name
 *
 * @private string
 */
 private $tableName;
 
 
 /**
 * Cookies names
 *
 * @private array
 */
 
 private $cookiesNames = array('Username' => 'cookie_username','Password' => 'cookie_password');
 
 
 /**
 * Table columns names
 *
 * @private array
 */
 
 private $columnsNames = array('Username' => 'column_username', 'Password' => 'column_password');
 
 
 /**
 * Array of the navigator rows
 *
 * @private array
 */
 
 private $userinfo = array();
 
 /**
 * Language
 *
 * @private array
 */
 
 // زائر = visitor > for the non-arabs ;)
 
 private $Lang = array('visitor' => 'زائر');
 
 
 /**
 *
 * Class constructor
 *
 */
 
 function userChecker($tableName = 'users', $columnsNames = array('Username' => 'column_username', 'Password' => 'column_password'), $cookiesNames = array('Username' => 'cookie_username','Password' => 'cookie_password'))
 {
 $this->tableName = $tableName;
 $this->columnsNames = $columnsNames;
 $this->cookiesNames = $cookiesNames;
 
 $this->Check();
 }
 
 
 /**
 *
 * Start checking the navigator
 *
 */
 
 function Check()
 {
 $Check = $this->doCheck($this->getCookies());
 
 if($Check == 0)
 {
 $this->userinfo = array($this->columnsNames['Username'] => $this->Lang['visitor'], 'usergroup' => 0);
 
 } else
 {
 $this->userinfo = $Check;
 $this->userinfo['usergroup'] = isset($Check['usergroup']) ? $Check['usergroup'] : 1;
 }
 }
 
 
 /**
 *
 * Getting cookies according to the names in $cookiesNames var
 *
 */
 
 
 function getCookies()
 {
 return array('Username' => $_COOKIE[$this->cookiesNames['Username']], 'Password' => $_COOKIE[$this->cookiesNames['Password']]);
 
 }
 
 
 
 function doCheck($Cookies = array())
 {
 if(empty($Cookies['Username']) || empty($Cookies['Password']))
 {
 return 0;
 } else
 {
 $userQuery = mysql_query("select * from ".$this->tableName." where
 ".$this->columnsNames['Username']." = '".mysql_real_escape_string($Cookies['Username'])."'
 and ".$this->columnsNames['Password']." = '".mysql_real_escape_string($Cookies['Password'])."'
 limit 1
 ") or die(mysql_error());
 
 
 if(mysql_num_rows($userQuery) == 0)
 {
 return 0;
 } else
 {
 return mysql_fetch_assoc($userQuery);
 }
 }
 }
 
 
 function userinfo($column)
 {
 return $this->userinfo[$column];
 }
 
 
 
 }
 
 
 ?>
 |