Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

<?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, 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();
                return $CI->input->cookie($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 */