144 lines
3.2 KiB
PHP
144 lines
3.2 KiB
PHP
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||
|
/**
|
||
|
* CodeIgniter
|
||
|
*
|
||
|
* An open source application development framework for PHP 4.3.2 or newer
|
||
|
*
|
||
|
* @package CodeIgniter
|
||
|
* @author ExpressionEngine Dev Team
|
||
|
* @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
|
||
|
* @license http://codeigniter.com/user_guide/license.html
|
||
|
* @link http://codeigniter.com
|
||
|
* @since Version 1.0
|
||
|
* @filesource
|
||
|
*/
|
||
|
|
||
|
// ------------------------------------------------------------------------
|
||
|
|
||
|
/**
|
||
|
* CodeIgniter Cookie Helpers
|
||
|
*
|
||
|
* @package CodeIgniter
|
||
|
* @subpackage Helpers
|
||
|
* @category Helpers
|
||
|
* @author ExpressionEngine Dev Team
|
||
|
* @link http://codeigniter.com/user_guide/helpers/cookie_helper.html
|
||
|
*/
|
||
|
|
||
|
// ------------------------------------------------------------------------
|
||
|
|
||
|
/**
|
||
|
* Set cookie
|
||
|
*
|
||
|
* Accepts six parameter, or you can submit an associative
|
||
|
* array in the first parameter containing all the values.
|
||
|
*
|
||
|
* @access public
|
||
|
* @param mixed
|
||
|
* @param string the value of the cookie
|
||
|
* @param string the number of seconds until expiration
|
||
|
* @param string the cookie domain. Usually: .yourdomain.com
|
||
|
* @param string the cookie path
|
||
|
* @param string the cookie prefix
|
||
|
* @return void
|
||
|
*/
|
||
|
if ( ! function_exists('set_cookie'))
|
||
|
{
|
||
|
function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path = '/', $prefix = '')
|
||
|
{
|
||
|
if (is_array($name))
|
||
|
{
|
||
|
foreach (array('value', 'expire', 'domain', 'path', 'prefix', 'name') as $item)
|
||
|
{
|
||
|
if (isset($name[$item]))
|
||
|
{
|
||
|
$$item = $name[$item];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Set the config file options
|
||
|
$CI =& get_instance();
|
||
|
|
||
|
if ($prefix == '' AND $CI->config->item('cookie_prefix') != '')
|
||
|
{
|
||
|
$prefix = $CI->config->item('cookie_prefix');
|
||
|
}
|
||
|
if ($domain == '' AND $CI->config->item('cookie_domain') != '')
|
||
|
{
|
||
|
$domain = $CI->config->item('cookie_domain');
|
||
|
}
|
||
|
if ($path == '/' AND $CI->config->item('cookie_path') != '/')
|
||
|
{
|
||
|
$path = $CI->config->item('cookie_path');
|
||
|
}
|
||
|
|
||
|
if ( ! is_numeric($expire))
|
||
|
{
|
||
|
$expire = time() - 86500;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ($expire > 0)
|
||
|
{
|
||
|
$expire = time() + $expire;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$expire = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
setcookie($prefix.$name, $value, $expire, $path, $domain, 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// --------------------------------------------------------------------
|
||
|
|
||
|
/**
|
||
|
* Fetch an item from the COOKIE array
|
||
|
*
|
||
|
* @access public
|
||
|
* @param string
|
||
|
* @param bool
|
||
|
* @return mixed
|
||
|
*/
|
||
|
if ( ! function_exists('get_cookie'))
|
||
|
{
|
||
|
function get_cookie($index = '', $xss_clean = FALSE)
|
||
|
{
|
||
|
$CI =& get_instance();
|
||
|
|
||
|
$prefix = '';
|
||
|
|
||
|
if ( ! isset($_COOKIE[$index]) && config_item('cookie_prefix') != '')
|
||
|
{
|
||
|
$prefix = config_item('cookie_prefix');
|
||
|
}
|
||
|
|
||
|
return $CI->input->cookie($prefix.$index, $xss_clean);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// --------------------------------------------------------------------
|
||
|
|
||
|
/**
|
||
|
* Delete a COOKIE
|
||
|
*
|
||
|
* @param mixed
|
||
|
* @param string the cookie domain. Usually: .yourdomain.com
|
||
|
* @param string the cookie path
|
||
|
* @param string the cookie prefix
|
||
|
* @return void
|
||
|
*/
|
||
|
if ( ! function_exists('delete_cookie'))
|
||
|
{
|
||
|
function delete_cookie($name = '', $domain = '', $path = '/', $prefix = '')
|
||
|
{
|
||
|
set_cookie($name, '', '', $domain, $path, $prefix);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/* End of file cookie_helper.php */
|
||
|
/* Location: ./system/helpers/cookie_helper.php */
|