<?php
/**
* Color form example.
*
* @author Thiemo Mättig (http://maettig.com/)
*/
require_once("Apeform.class.php");
$form = new Apeform();
$color1_rgb = $form->checkbox("Choose one or more colors", "",
"Red|Green|Blue");
$color1_name = $form->text("Or type another color",
"Leave empty if not required");
$form->header("<hr>");
$color2_select = $form->select("Choose a color", "", "Red|Green|Blue");
$name_select = $form->getName();
$color2_name = $form->text("Or type a new color",
"Leave empty if not required");
$form->header("<hr>");
$color3_base = array(
"Black", "Maroon", "Green", "Olive<br>",
"Navy", "Purple", "Teal", "Silver<br>",
"Gray", "Red", "Lime", "Yellow<br>",
"Blue", "Fuchsia", "Aqua", "White");
$color3_bichrome = array(
'<span style="background:maroon;color:white">dark red</span>',
'<span style="background:red;color:white">red</span>',
'<span style="background:green;color:white">dark green</span>',
'<span style="background:lime">green</span>');
$color3_base_index = $form->checkbox("Choose one or more colors", "",
$color3_base);
$color3_bichrome_index = $form->checkbox("Or choose from these colors", "",
$color3_bichrome);
$form->header("<hr>");
$form->header("Type a color name in the text field below");
$color4 = $form->text();
$form->header("<hr>");
$color5 = $form->text("#RRGGBB", "", array("00", "99", "FF"), 2);
$name_rgb = $form->getName();
$form->header("<hr>");
$form->submit();
// Here the construction and validation of the form ends. End of "controller"
// code, start of "view" code.
?>
<style type="text/css">
/* The :first-child and + selectors do not work in Internet Explorer. */
#<?=$name_select?>i option:first-child { background-color: #F99; }
#<?=$name_select?>i option+option { background-color: #9F9; }
#<?=$name_select?>i option+option+option { background-color: #99F; }
#<?=$name_rgb?>i0 { background-color: #FCC; }
#<?=$name_rgb?>i1 { background-color: #CFC; }
#<?=$name_rgb?>i2 { background-color: #CCF; }
</style>
<?=$form->toHTML()?>
<? if ($form->isValid()): ?>
<p style="background-color: <?=empty($color1_name) ? "#" .
(in_array("Red", $color1_rgb) ? "FF" : "00") .
(in_array("Green", $color1_rgb) ? "FF" : "00") .
(in_array("Blue", $color1_rgb) ? "FF" : "00") : $color1_name?>;">
Color No. 1
</p>
<p style="background-color: <?=empty($color2_name) ? $color2_select :
$color2_name?>;">
Color No. 2
</p>
<p>
<? if (! empty($color3_bichrome_index)): ?>
<? foreach ($color3_bichrome_index as $i): ?>
<span style="background-color: <?=preg_replace('/^[^:]*:(\w+).*$/i',
'\1', $color3_bichrome[$i])?>;">
Color No. 3</span>
<? endforeach; ?>
<? else: ?>
<? foreach ($color3_base_index as $i): ?>
<span style="background-color: <?=strip_tags($color3_base[$i])?>;">
Color No. 3</span>
<? endforeach; ?>
<? endif; ?>
</p>
<p style="background-color: <?=$color4?>;">
Color No. 4
</p>
<p style="background-color: <?vprintf("#%02s%02s%02s", $color5)?>;">
Color No. 5
</p>
<? endif; ?>
|