<?php
/**
* Example for TM::Apeform. Shows use of different templates.
*
* @author Thiemo Mättig (http://maettig.com/)
*/
require_once("Apeform.class.php");
srand(time());
echo "<h1>TM::Apeform Templates Example</h1>";
$form = new Apeform();
$form->header("A header");
$form->text("<u>L</u>abel", "A help text", "Default value");
if (! rand(0, 2))
{
$form->error("Random error message No. 1");
}
$form->text("The <u>e</u>lement's label", "This element may get an error");
if (! rand(0, 2))
{
$form->error("Random error message #2");
}
$form->checkbox("Another label", "Another help text", "<u>C</u>heck");
if (! rand(0, 2))
{
$form->error("Random error message three");
}
$radio = $form->radio("Choose the form's templates", "", array(
'default' => "<u>D</u>efault (error message replaces label)<br />\n",
'defaultcss' => "Default with style sheets<br />\n",
'above' => "Error message above element, no help (but tooltips)<br />\n",
'kalsey' => "Style sheets, decent<br />\n",
'css' => "Style sheets, crazy"), "default");
if (! rand(0, 2))
{
$form->error("Fourth random error message");
}
$form->submit("Redraw the form");
switch ($radio)
{
case "default":
/* no templates, no style sheets */
break;
case "defaultcss":
/* no templates */
echo '<style type="text/css">';
echo 'th{background-color:#009;color:#FFF}';
echo 'td{background-color:#CCF}';
echo '.error{color:#F00}';
echo '</style>';
break;
case "above":
$form->templates['input'] =
"<tr>\n<td align=\"right\" valign=\"top\">{label}</td>\n" .
"<td valign=\"top\">{error}{input}</td>\n</tr>\n";
$form->templates['error'] =
"<strong class=\"error\">{error}</strong><br />\n";
echo '<style type="text/css">';
echo 'th{background-color:#009;color:#FFF}';
echo 'td{background-color:#CCF}';
echo '.error{color:#F00}';
echo '</style>';
break;
case "kalsey":
$form->templates = array(
'form' => "{input}",
'header' => "<h3>{header}</h3>\n",
'input' =>
"<div class=\"row\"><div{error}><div class=\"label\">{label}</div>\n" .
"<div class=\"input\">{input}</div></div></div>",
'label' => "{label}:",
'error' => " class=\"error\"><strong>{error}</strong");
echo '<style type="text/css">';
echo 'body,input{font-family:sans-serif;}';
echo 'label{cursor:pointer;cursor:hand;}';
echo '.error{background-color:#FCC;border: 1px solid red;padding:1ex 0;}';
echo '.error strong{padding-left:1ex;}';
echo '.row{margin:2ex 0;}';
echo '.label{float:left;text-align:right;width:30ex;}';
echo '.input{padding-left:31ex;}';
echo '</style>';
break;
case "css":
$form->templates = array(
'form' => "{input}",
'header' => "<h3>{header}</h3>\n",
'input' =>
"{label}<div class=\"element\">{input}{error}</div>\n",
'label' => "<h4>{label}{help}</h4>",
'error' => "<br /><strong class=\"error\">{error}</strong>\n",
'help' => "<br /><small>(?) {help}</small>");
echo '<style type="text/css">';
echo 'h3{background:#FD0}';
echo 'h4{background:#EEA;margin:1ex 0 0 0}';
echo '.element{background:#DDC;border:2px inset white;' .
'margin:0 0 1ex 6ex;padding:.5ex}';
echo 'small{color:#666;font-weight:normal}';
echo '.error{color:#F00}';
echo '</style>';
break;
}
$form->display();
?>
|