PHP Classes
elePHPant
Icontem

File: test_date_input.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Manuel Lemos  >  Forms generation and validation  >  test_date_input.php  >  Download  
File: test_date_input.php
Role: Example script
Content type: text/plain
Description: Example to demonstrate how to use the custom date input plug-in
Class: Forms generation and validation
HTML forms generation and validation.
Author: By
Last change: Added the setdate and setagedate tests.
Date: 6 years ago
Size: 3,482 bytes
 

Contents

Class file image Download
<?php
/*
 *
 * @(#) $Id: test_date_input.php,v 1.9 2009/05/26 04:39:08 mlemos Exp $
 *
 */

   
require("forms.php");
    require(
"form_date.php");

   
$day_seconds=60*60*24;
   
$start_date=strftime("%Y-%m-%d",time()+1*$day_seconds);
   
$end_date=strftime("%Y-%m-%d",time()+7*$day_seconds);
   
$today='now';
   
$form=new form_class;
   
$form->NAME="date_form";
   
$form->METHOD="POST";
   
$form->ACTION="";
   
$form->debug="trigger_error";
   
$form->InvalidCLASS='invalid';
   
$form->ShowAllErrors=1;

/*
 * The following lines are for testing purposes.
 * Remove these lines when adapting this example to real applications.
 */
   
if(defined("__TEST"))
    {
        if(IsSet(
$__test_options["ShowAllErrors"]))
           
$form->ShowAllErrors=$__test_options["ShowAllErrors"];
        if(IsSet(
$__test_options["today"]))
           
$today=$__test_options["today"];
        if(IsSet(
$__test_options["start_date"]))
           
$start_date=$__test_options["start_date"];
        if(IsSet(
$__test_options["end_date"]))
           
$end_date=$__test_options["end_date"];
    }

   
$form->AddInput(array(
       
"TYPE"=>"custom",
       
"ID"=>"date",
       
"LABEL"=>"<u>D</u>ate",
       
"ACCESSKEY"=>"D",
       
"CustomClass"=>"form_date_class",
       
"VALUE"=>$today,
       
"Format"=>"{day}/{month}/{year}",
       
"Months"=>array(
           
"01"=>"January",
           
"02"=>"February",
           
"03"=>"March",
           
"04"=>"April",
           
"05"=>"May",
           
"06"=>"June",
           
"07"=>"July",
           
"08"=>"August",
           
"09"=>"September",
           
"10"=>"October",
           
"11"=>"November",
           
"12"=>"December"
       
),
       
"Optional"=>1,
       
"ValidationStartDate"=>$start_date,
       
"ValidationStartDateErrorMessage"=>"It was specified a schedule date before the start date.",
       
"ValidationEndDate"=>$end_date,
       
"ValidationEndDateErrorMessage"=>"It was specified a schedule date after the end date.",
    ));

/*
 * The following lines are for testing purposes.
 * Remove these lines when adapting this example to real applications.
 */
   
if(defined("__TEST"))
    {
        if(IsSet(
$__test_options["set_date"]))
        {
           
$form->SetInputValue('date', $__test_options["set_date"]);
            echo
$form->GetInputValue('date');
            return;
        }
    }
   
$form->AddInput(array(
       
"TYPE"=>"submit",
       
"VALUE"=>"Schedule",
       
"NAME"=>"doit"
   
));

   
$form->LoadInputValues($form->WasSubmitted("doit"));
   
$verify=array();
    if(
$form->WasSubmitted("doit"))
    {
        if((
$error_message=$form->Validate($verify))=="")
           
$doit=1;
        else
        {
           
$doit=0;
           
$error_message=HtmlEntities($error_message);
        }
    }
    else
    {
       
$error_message="";
       
$doit=0;
    }

    if(!
$doit)
       
$form->ConnectFormToInput('date', 'ONLOAD', 'Focus', array());

   
$onload=HtmlSpecialChars($form->PageLoad());

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test for Manuel Lemos' PHP form class using the date plug-in input</title>
<style type="text/css"><!--
.invalid { border-color: #ff0000; background-color: #ffcccc; }
// --></style>
</head>
<body onload="<?php echo $onload; ?>" bgcolor="#cccccc">
<center><h1>Test for Manuel Lemos' PHP form class using the date plug-in input</h1></center>
<hr />
<?php
 
if($doit)
    {
       
$date=$form->GetInputValue("date");
        if(
strlen($date))
        {
?>
<center><h2>The task is scheduled to be started on <?php echo $date; ?></h2></center>
<?php
       
}
        else
        {
?>
<center><h2>The task was not scheduled.</h2></center>
<?php
       
}
    }
    else
    {
       
$form->StartLayoutCapture();
       
$title="Form Date plug-in test";
       
$body_template="form_date_body.html.php";
        include(
"templates/form_frame.html.php");
       
$form->EndLayoutCapture();
       
$form->DisplayOutput();
    }
?>
<hr />
</body>
</html>