| 
<?php/*
 * test_metabase_linked_select.php
 *
 * @(#) $Header: /opt2/ena/metal/forms/test_metabase_linked_select.php,v 1.5 2008/02/16 21:59:31 mlemos Exp $
 *
 */
 
 define("METABASE_PATH","../metabase");
 require(METABASE_PATH."/metabase_database.php");
 require(METABASE_PATH."/metabase_interface.php");
 require("forms.php");
 require("form_linked_select.php");
 require("form_metabase_linked_select.php");
 
 $arguments=array(
 "Type"=>"mysql",
 "User"=>"mysqluser",
 "Password"=>"mysqlpassword",
 "Database"=>"locations",
 "IncludePath"=>METABASE_PATH,
 "Debug"=>"error_log",
 );
 MetabaseSetupDatabase($arguments,$database);
 
 $continents=array(
 ""=>"Select continent",
 "na"=>"North America",
 "eu"=>"Europe",
 "sa"=>"South America",
 "as"=>"Asia",
 "oc"=>"Oceania"
 );
 
 $form=new form_class;
 $form->NAME="location_form";
 $form->METHOD="GET";
 $form->ACTION="";
 $form->debug="error_log";
 $form->AddInput(array(
 "TYPE"=>"select",
 "ID"=>"continent",
 "NAME"=>"continent",
 "LABEL"=>"<u>C</u>ontinent",
 "ACCESSKEY"=>"C",
 "VALUE"=>"",
 "OPTIONS"=>$continents,
 "ValidateAsNotEmpty"=>1,
 "ValidationErrorMessage"=>"It was not specified a valid continent."
 ));
 $form->AddInput(array(
 "TYPE"=>"custom",
 "ID"=>"country",
 "NAME"=>"country",
 "LABEL"=>"Coun<u>t</u>ry",
 "ACCESSKEY"=>"t",
 "CustomClass"=>"form_metabase_linked_select_class",
 "Connection"=>$database,
 "GroupsQuery"=>"SELECT code FROM continents",
 "OptionsQuery"=>"SELECT code, name FROM countries WHERE continent=?",
 "DefaultOption"=>"",
 "DefaultOptionValue"=>"Select country",
 "Dynamic"=>1,
 "VALUE"=>"",
 "LinkedInput"=>"continent",
 "SIZE"=>3,
 "AutoWidthLimit"=>0,
 "AutoHeightLimit"=>0,
 "ValidateAsNotEmpty"=>1,
 "ValidationErrorMessage"=>"It was not specified a valid country."
 ));
 $form->AddInput(array(
 "TYPE"=>"custom",
 "ID"=>"location",
 "NAME"=>"location",
 "LABEL"=>"<u>L</u>ocation",
 "ACCESSKEY"=>"L",
 "CustomClass"=>"form_metabase_linked_select_class",
 "Connection"=>$database,
 "GroupsQuery"=>"SELECT code FROM countries",
 "OptionsQuery"=>"SELECT code, name FROM locations WHERE country=?",
 "DefaultOption"=>"",
 "DefaultOptionValue"=>"Select location",
 "Dynamic"=>1,
 "VALUE"=>"",
 "LinkedInput"=>"country",
 "SIZE"=>3,
 "AutoWidthLimit"=>0,
 "AutoHeightLimit"=>0,
 "ValidateAsNotEmpty"=>1,
 "ValidationErrorMessage"=>"It was not specified a valid location."
 ));
 $form->AddInput(array(
 "TYPE"=>"submit",
 "VALUE"=>">",
 "NAME"=>"update",
 "SubForm"=>"update"
 ));
 $form->AddInput(array(
 "TYPE"=>"submit",
 "VALUE"=>"Go",
 "NAME"=>"doit"
 ));
 $form->Connect("location", "doit", "ONCHANGE", "Click", array());
 
 /*
 * This code is necessary to handle the requests for serving the
 * dynamically generated lists of options for linked select inputs.
 */
 $form->HandleEvent($processed);
 if($processed)
 exit;
 
 
 $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)
 {
 if(strlen($error_message))
 {
 Reset($verify);
 $focus=Key($verify);
 }
 else
 $focus='continent';
 $form->ConnectFormToInput($focus, '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 linked select plug-in input</title>
 </head>
 <body onload="<?php echo $onload; ?>" bgcolor="#cccccc">
 <center><h1>Test for Manuel Lemos' PHP form class using the linked select plug-in input</h1></center>
 <hr />
 <?php
 if($doit)
 {
 $form->GetInputProperty("continent", "SelectedOption", $continent);
 $form->GetInputProperty("country", "SelectedOption", $country);
 $form->GetInputProperty("location", "SelectedOption", $location);
 ?>
 <center><h2>The chosen location is <?php echo HtmlEntities($location), " (",HtmlEntities($country),", ",HtmlEntities($continent),")"; ?></h2></center>
 <?php
 }
 else
 {
 $form->StartLayoutCapture();
 $title="Linked select plug-in test";
 $body_template="form_linked_select_body.html.php";
 include("templates/form_frame.html.php");
 $form->EndLayoutCapture();
 
 $form->DisplayOutput();
 }
 ?>
 <hr />
 </body>
 </html>
 
 |