<?php
 
error_reporting (E_ALL);
 
define('HTTP_DEBUG', true);
 
echo '<pre>';
 
 
// include class
 
require_once('../Cookie_Jar.php');
 
 
//
 
// Loading and saving
 
//
 
print_section('Loading and saving cookies');
 
$options = array(
 
    'file_persistent' => 'cookies.txt'
 
    );
 
$jar =& new Cookie_Jar($options);
 
var_dump($jar->cookies);
 
// save cookies to new file
 
$jar->save_persistent_cookies('saved_cookies.txt');
 
 
 
//
 
// Get matching cookies
 
//
 
print_section('Get matching cookies');
 
$params = array('domain'=>'www.ebay.co.uk', 'path'=>'/', 'secure'=>false);
 
$cookies = $jar->get_matching_cookies($params);
 
echo "\n",'Cookies found: ',$cookies;
 
 
 
//
 
// Parsing a Set-Cookie HTTP header field
 
//
 
print_section('Parsing a Set-Cookie HTTP header field');
 
// create instance of cookie jar class
 
$jar =& new Cookie_Jar();
 
// As I've not yet finished the HTTP response class,
 
// I'll be using the parse_set_cookies() method.
 
 
// set bbc.co.uk cookie
 
$bbc_cookie = 'BBC-UID=83edcf03bb5df4d84a1ef78f21763b2af0b64907604890a0f250fc054979da5a0Mozilla%2f5%2e0%20%28Windows%3b%20U%3b%20Windows%20NT%205%2e0%3b%20en%2dUS%3b%20rv%3a1%2e0%2e1%29%20Gecko%2f20020826; expires=Mon, 08-Dec-03 21:44:40 GMT; path=/; domain=bbc.co.uk;';
 
// we have to pass the host and path details so the method can determine whether it can set the cookie
 
// or not.
 
$jar->parse_set_cookies(array($bbc_cookie), array('host'=>'www.bbc.co.uk', 'path'=>'/'));
 
 
// set stopwar.org.uk cookie
 
$stopwar_cookie = 'ASPSESSIONIDGGGGGGGG=DRUHSKGCDJMNBPCABXCMFSQQPQQQKGSX; path=/';
 
$jar->parse_set_cookies(array($stopwar_cookie), array('host'=>'www.stopwar.org.uk', 'path'=>'/'));
 
 
echo "\n",'Cookie jar holds: ',"\n";
 
echo var_dump($jar->cookies);
 
 
 
 
//
 
// Use the cookie jar with a callback function
 
//
 
print_section('Use the cookie jar with a callback function');
 
// define callback function to print out all cookies in jar at the moment
 
function print_cookies(&$jar, $cookie_parts, $param)
 
{
 
    extract($cookie_parts);
 
    echo '<tr>';
 
    echo '<td>',$name,'</td>';
 
    echo '<td>',$value,'</td>';
 
    echo '<td>',$domain,'</td>';
 
    echo '<td>',$path,'</td>';
 
    echo '<td>',(is_int($expires) ? gmdate('d m Y, H:i:s', $expires) : 'session'),'</td>';
 
    echo '</tr>';
 
    return true;
 
}
 
echo '<table border="1"><tr><th>';
 
echo implode('</th><th>', array('name','value','domain','path','expires'));
 
echo '</th></tr>';
 
// call scan() with callback
 
$param = null;
 
$jar->scan('print_cookies', $param);
 
echo '</table>';
 
 
 
 
 
//
 
// Save session cookies
 
//
 
print_section('Save session cookies');
 
if ($jar->save_session_cookies('saved_session_cookies.txt')) {
 
    echo 'Session cookies saved!';
 
} else {
 
    echo 'Failed saving session cookies';
 
}
 
 
 
 
 
function print_section($desc='')
 
{
 
    static $num = 1;
 
    echo "\n\n";
 
    echo '+---------------------------------------------',"\n";
 
    echo '| Test ',$num,' - ',$desc,"\n";
 
    echo '+---------------------------------------------',"\n";
 
    echo "\n";
 
    $num++;
 
}
 
?>
 
 |