define ( "DOMAIN" , "54dev.com" ); |
define ( "PATH" , "/" ); |
define ( "COOKIEID" , "encodeCookie" ); |
define ( "COOKIEKEY" , "raz" ); // max 5 chars is good |
/** |
* class encodeCookie |
* |
* encode cookies before you send them |
* |
*/ |
class encodeCookie { |
/** |
* encodeCookie::$config |
* |
* configuration |
* |
*/ |
var $config ; |
/** |
* encodeCookie::encodeCookie() |
* |
* constructor |
* |
*/ |
function encodeCookie () { |
$this ->config = array (); |
$this ->config[ 'cookie_key' ] = COOKIEKEY; |
$this ->config[ 'cookie' ] = array ( |
'cookie_id' => COOKIEID, |
'cookie_path' => PATH, |
'cookie_domain' => DOMAIN, |
); |
} |
/** |
* encodeCookie::set_Cookie() |
* |
* sets the cookie |
* |
* @param string $value |
* @param integer $sticky |
*/ |
function set_Cookie ( $name , $value = "" , $sticky = 0) { |
$exipres = "" ; |
if ( $sticky == 1) { |
$expires = time() + 60*60*24*365; |
} |
$name = $this ->config[ 'cookie' ][ 'cookie_id' ]. $name ; |
$newValue = $this ->encodeC ( $value ); |
@setcookie( $name , urlencode( $newValue ), $expires , $this ->config[ 'cookie' ][ 'cookie_path' ], $this ->config[ 'cookie' ][ 'cookie_domain' ]); |
} |
/** |
* encodeCookie::get_Cookie() |
* |
* gets the cookie |
* |
*/ |
function get_Cookie ( $name ) { |
if ( isset( $_COOKIE [ $this ->config[ 'cookie' ][ 'cookie_id' ]. $name ] ) ) { |
$cookie = urldecode ( $_COOKIE [ $this ->config[ 'cookie' ][ 'cookie_id' ]. $name ] ); |
return $this ->decodeC ( $cookie ); |
} else { |
return FALSE; |
} |
} |
/** |
* encodeCookie::encodeC() |
* |
* encodes the cookie |
* |
*/ |
function encodeC ( $cookie ) { |
$newcookie = array (); |
$cookie = base64_encode ( $cookie ); |
for ( $i =0; $i <= strlen ( $cookie ); $i ++ ) { |
$newcookie [ $i ] = ord ( $cookie [ $i ] ) * $this ->encodeKey (); |
} |
$newcookie = implode ( '.' , $newcookie ); |
return $newcookie ; |
} |
/** |
* encodeCookie::decodeC() |
* |
* decodes the cookie |
* |
*/ |
function decodeC ( $oldcookie ) { |
$newcookie = array (); |
$cookie = explode ( '.' , $oldcookie ); |
for ( $i =0; $i <= strlen ( $oldcookie ); $i ++ ) { |
$newcookie [ $i ] = chr ( $cookie [ $i ] / $this ->encodeKey () ); |
} |
$newcookie = implode ( '' , $newcookie ); |
$newcookie = base64_decode ( $newcookie ); |
return $newcookie ; |
} |
/** |
* encodeCookie::encodeKey() |
* |
* encodes the key |
* |
*/ |
function encodeKey () { |
$newkey = 0; |
for ( $i =0; $i <= strlen ( $this ->config[ 'cookie_key' ] ); $i ++ ) { |
$newkey += ord ( $this ->config[ 'cookie_key' ][ $i ] ); |
} |
return $newkey ; |
} |
} |