# output a bunch of <option> tags
function enc_options($values, $name) {
if(!isset($GLOBALS[$name . '_options'])) {
- die('pulldown() must be called before this template can be run. See code/wfpl/encode.php');
+ die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
}
if($GLOBALS[$name . '_options']['multiple']) { # FIXME test this
$values = explode(', ', $values);
return encode_options($values, $GLOBALS[$name . '_options']['options'], PULLDOWN_2D);
}
+function enc_radio_n($str, $name, $n) {
+ if(!isset($GLOBALS[$name . '_options'])) {
+ die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+ }
+
+ if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
+ die("Template error: pulldown('$name') does not have element # $n");
+ }
+
+ $value = enc_attr($GLOBALS[$name . '_options']['options'][$n][0]);
+
+ if($str === $value) {
+ $value .= '" checked="checked';
+ }
+
+ return $value;
+}
+function enc_radio_0($str, $name) { return enc_radio_n($str, $name, 0); }
+function enc_radio_1($str, $name) { return enc_radio_n($str, $name, 1); }
+function enc_radio_2($str, $name) { return enc_radio_n($str, $name, 2); }
+function enc_radio_3($str, $name) { return enc_radio_n($str, $name, 3); }
+function enc_radio_4($str, $name) { return enc_radio_n($str, $name, 4); }
+function enc_radio_5($str, $name) { return enc_radio_n($str, $name, 5); }
+function enc_radio_6($str, $name) { return enc_radio_n($str, $name, 6); }
+function enc_radio_7($str, $name) { return enc_radio_n($str, $name, 7); }
+
+
+function enc_radio_caption_n($str, $name, $n) {
+ if(!isset($GLOBALS[$name . '_options'])) {
+ die("pulldown('$name') must be called before this template can be run. See code/wfpl/encode.php");
+ }
+
+ if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
+ die("Template error: pulldown('$name') does not have element #$n");
+ }
+
+ return $GLOBALS[$name . '_options']['options'][$n][1];
+}
+function enc_radio_caption_0($str, $name) { return enc_radio_caption_n($str, $name, 0); }
+function enc_radio_caption_1($str, $name) { return enc_radio_caption_n($str, $name, 1); }
+function enc_radio_caption_2($str, $name) { return enc_radio_caption_n($str, $name, 2); }
+function enc_radio_caption_3($str, $name) { return enc_radio_caption_n($str, $name, 3); }
+function enc_radio_caption_4($str, $name) { return enc_radio_caption_n($str, $name, 4); }
+function enc_radio_caption_5($str, $name) { return enc_radio_caption_n($str, $name, 5); }
+function enc_radio_caption_6($str, $name) { return enc_radio_caption_n($str, $name, 6); }
+function enc_radio_caption_7($str, $name) { return enc_radio_caption_n($str, $name, 7); }
+
+
# use this function along with a special template to generate the html for pulldowns and multiple select boxes.
#
# Parameters:
'textarea' => array('textarea', 'unix', 'text'),
'html' => array('html', 'unix', 'text'),
'pulldown' => array('pulldown', 'options', 'varchar(100)'),
- 'radio' => array('radio', 'oneline', 'varchar(200)'),
+ 'radio' => array('radio', 'options', 'varchar(100)'),
'checkbox' => array('checkbox', 'bool', 'int(1)'),
'yesno' => array('checkbox', 'yesno', 'varchar(3)'),
'delete' => array('checkbox', 'yesno', 'n/a'),
} else {
if($input == 'html') {
$has_html_editors = true;
- } elseif($input == 'pulldown') {
+ } elseif($input == 'pulldown' || $input == 'radio') {
$tem->show('pulldowns');
$tem->show('pulldown_format_extra');
}
$fields = get_fields();
foreach($fields as $field) {
list($name, $type, $input, $format, $sql) = $field;
- if($type == 'pulldown') {
+ if($type == 'pulldown' || $type == 'radio') {
pulldown($name, array('option 1', 'option 2', 'option 3'));
}
}
<div class="caption">~caption html~</div>
<div class="field"><select name="~name~"><option value="">Choose One:</option><!--~~~name~ states~~--></select></div><!--~}~--><!--~radio {~-->
<div class="caption">~caption html~</div>
- <div class="field"><input type="radio" name="~name~~~~name~ checked~~"></div><!--~}~--><!--~checkbox {~-->
+ <div class="field">
+ <input type="radio" name="~name~" value="~~~name~ radio_0~~">~~~name~ radio_caption_0 html~~<br>
+ <input type="radio" name="~name~" value="~~~name~ radio_1~~">~~~name~ radio_caption_1 html~~<br>
+ <input type="radio" name="~name~" value="~~~name~ radio_2~~">~~~name~ radio_caption_2 html~~
+ </div><!--~}~--><!--~checkbox {~-->
<div class="caption"><input type="checkbox" name="~name~~~~name~ checked~~"> ~caption html~</div>
<div class="field"></div><!--~}~--><!--~submit {~-->
<div class="caption"> </div>