All pastes #2052204 Raw Edit

Unnamed

public text v1 · immutable
#2052204 ·published 2011-04-30 11:44 UTC
rendered paste body
<?php


    namespace Cookie {

	function set($name, $value, $expire=0, $path='/', $domain=false, $secure=false, $httponly=false) {
	    if (defined('SALT')) {
		$salt = \SALT;
	    } else {
		$salt = $_SERVER['SERVER_ADDR'];
	    }

	    $value = array('data' => $value, 'hash' => \md5($value . $salt));
	    $value = \base64_encode(\serialize($value));
	    $domain = (($domain !== false) ? $domain : '' . $_SERVER['HTTP_HOST']);

	    return (bool) \setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
	}

	function get($name) {
	    if (isset($_COOKIE[$name])) {
		$value = \unserialize(base64_decode($_COOKIE[$name], 9));

		if (defined('SALT')) {
		    $salt = \SALT;
		} else {
		    $salt = $_SERVER['SERVER_ADDR'];
		}

		return ($value['hash'] == \md5($value['data'] . $salt)) ? $value['data'] : false;
	    }

	    return (bool) false;
	}

	function delete($name) {
	    return (bool) set($name, null, \time() - 3600);
	}

    }