Location: PHPKode > scripts > Encode Cookie > encode-cookie/encodeCookie.Class.php
<?

//=============================//
//                             //
//   encodeCookie v0.1         //
//   encodeCookie Class        //
//   encodeCookie.Class.php    //
//   by Stanga Razvan          //
//   hide@address.com   //
//   http://www.phprebel.org   //
//                             //
//       MADE IN ROMANIA       //
//                             //
//=============================//

define ("DOMAIN", "phprebel.org");
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 = 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 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;
}

}

?>
Return current item: Encode Cookie