#!/usr/bin/perl
############################################################

# &outputDebug(); # uncomment this to enable debug mode output

############################################################
# name: Cookie
# author: Ian Hickson
# license: GPL
# description: Primitive cookie tests
############################################################

# Initialise System
use lib '../utils';
use strict 'vars';
$output::mediaPath = '../../../media/';
$output::appName = 'Cookie Tester';
$output::authorContact = 'http://www.bath.ac.uk/%7Epy8ieh/';
$output::authorName = 'Ian Hickson';
$output::authorEmail = 'py8ieh=website=cgi=development=tests=cookies\@bath.ac.uk';
require 'inputRoutines.pl'; # get cookies, parameters
require 'outputRoutines.pl'; # so that we can output stuff
############################################################

my $ok = 1;
my $bad = 2;

if ($param::set) {
    if (($param::name ne '') and ($param::value ne '')) {
        &output::addCookie($param::name, $param::value);
        $param::set = $ok;
    } else {
        $param::set = $bad;
    }
}

&output::printHTMLHeader();
if ($param::set) {
    if ($param::set == $ok) {
        print '
    <p>Cookie set ('.$param::name.'='.$param::value.').</p>
    <p><a href="'.$input::relativeURI.'">See if it worked...</a></p>
    <h2>Set Another Cookie!</h2>
';
    } else {
        print '    <p>Make sure you fill in both fields fully, please. (Or, you can just
    <a href="'.$input::relativeURI.'">see what cookies are currently being sent</a>.)</p>
';
    }
} else {
    if (keys %input::cookies > 0) {
        print '
    <p>The following cookies were returned:</p>
    <ul>
';
        my $cookie;
        foreach $cookie (keys %input::cookies) {
            print "      <li>$input::cookies{$cookie}</li>\n";
        }
        print '    </ul>';
    } else {
        print '    <p> Your browser returned no cookies this time. </p>';
    }
    print '

    <h2>Set A Cookie!</h2>
    <p>To add a cookie, use this form.</p>
';
}
&printSetCookieForm();
&output::printHTMLFooter();
############################################################

sub printSetCookieForm {
    print '
    <form method="POST" action="'.$input::relativeURI.'">
       <ol>
          <li>Cookie Name: <input name="name" type="text"></li>
          <li>Value: <input name="value" type="text"></li>
          <li><input name="set" type="submit"></li>
       </ol>
    </form>
';
}
