/[cvs]/nfo/php/libs/net.php.smarty/plugins/function.html_options.php
ViewVC logotype

Annotation of /nfo/php/libs/net.php.smarty/plugins/function.html_options.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Thu Dec 19 16:40:20 2002 UTC (21 years, 8 months ago) by joko
Branch: MAIN
Changes since 1.1: +27 -15 lines
+ updated to version 2.3.1

1 cvsjoko 1.1 <?php
2    
3     /*
4     * Smarty plugin
5     * -------------------------------------------------------------
6     * Type: function
7     * Name: html_options
8     * Purpose: Prints the list of <option> tags generated from
9     * the passed parameters
10     * -------------------------------------------------------------
11     */
12     function smarty_function_html_options($params, &$smarty)
13     {
14     $print_result = true;
15    
16     extract($params);
17    
18     $html_result = '';
19    
20     settype($selected, 'array');
21     if (isset($options)) {
22     settype($options, 'array');
23     foreach ($options as $key => $value) {
24 joko 1.2 $html_result .= smarty_function_html_options_optoutput($key, $value, $selected);
25 cvsjoko 1.1 }
26     } else {
27     settype($output, 'array');
28     settype($values, 'array');
29     for ($i = 0, $for_max = count($output); $i < $for_max; $i++) {
30 joko 1.2 if ($i < count($values)) {
31     $html_result .= smarty_function_html_options_optoutput($values[$i], $output[$i], $selected);
32     } else {
33     $html_result .= smarty_function_html_options_optoutput($output[$i], $output[$i], $selected);
34     }
35 cvsjoko 1.1 }
36     }
37    
38     if ($print_result)
39     print $html_result;
40     else
41     return $html_result;
42 joko 1.2 }
43    
44     function smarty_function_html_options_optoutput($key, $value, $selected) {
45     if(!is_array($value)) {
46     $html_result = "<option label=\"$key\" value=\"$key\"";
47     if (in_array($key, $selected))
48     $html_result .= " selected=\"selected\"";
49     $html_result .= ">$value</option>\n";
50     } else {
51     $html_result = smarty_function_html_options_optgroup($key, $value, $selected);
52     }
53     return $html_result;
54     }
55    
56     function smarty_function_html_options_optgroup($key, $values, $selected) {
57     $optgroup_html = "<optgroup label=\"$key\">\n";
58     foreach ($values as $key => $value) {
59     $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected);
60     }
61     $optgroup_html .= "</optgroup>\n";
62     return $optgroup_html;
63 cvsjoko 1.1 }
64    
65     /* vim: set expandtab: */
66    
67     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed