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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Wed Oct 9 00:53:36 2002 UTC (21 years, 9 months ago) by cvsjoko
Branch: MAIN
no message

1 cvsjoko 1.1 <?php
2    
3     /*
4     * Smarty plugin
5     * -------------------------------------------------------------
6     * Type: function
7     * Name: html_select_time
8     * Purpose: Prints the dropdowns for time selection
9     * -------------------------------------------------------------
10     */
11     require_once $this->_get_plugin_filepath('shared','make_timestamp');
12     require_once $this->_get_plugin_filepath('function','html_options');
13     function smarty_function_html_select_time($params, &$smarty)
14     {
15     /* Default values. */
16     $prefix = "Time_";
17     $time = time();
18     $display_hours = true;
19     $display_minutes = true;
20     $display_seconds = true;
21     $display_meridian = true;
22     $use_24_hours = true;
23     $minute_interval = 1;
24     $second_interval = 1;
25     /* Should the select boxes be part of an array when returned from PHP?
26     e.g. setting it to "birthday", would create "birthday[Hour]",
27     "birthday[Minute]", "birthday[Seconds]" & "birthday[Meridian]".
28     Can be combined with prefix. */
29     $field_array = null;
30     $all_extra = null;
31     $hour_extra = null;
32     $minute_extra = null;
33     $second_extra = null;
34     $meridian_extra = null;
35    
36     extract($params);
37    
38     $time = smarty_make_timestamp($time);
39    
40     $html_result = '';
41    
42     if ($display_hours) {
43     $hours = $use_24_hours ? range(0, 23) : range(1, 12);
44     $hour_fmt = $use_24_hours ? '%H' : '%I';
45     for ($i = 0, $for_max = count($hours); $i < $for_max; $i++)
46     $hours[$i] = sprintf('%02d', $hours[$i]);
47     $html_result .= '<select name=';
48     if (null !== $field_array) {
49     $html_result .= '"' . $field_array . '[' . $prefix . 'Hour]"';
50     } else {
51     $html_result .= '"' . $prefix . 'Hour"';
52     }
53     if (null !== $hour_extra){
54     $html_result .= ' ' . $hour_extra;
55     }
56     if (null !== $all_extra){
57     $html_result .= ' ' . $all_extra;
58     }
59     $html_result .= '>'."\n";
60     $html_result .= smarty_function_html_options(array('output' => $hours,
61     'values' => $hours,
62     'selected' => strftime($hour_fmt, $time),
63     'print_result' => false),
64     $smarty);
65     $html_result .= "</select>\n";
66     }
67    
68     if ($display_minutes) {
69     $all_minutes = range(0, 59);
70     for ($i = 0, $for_max = count($all_minutes); $i < $for_max; $i+= $minute_interval)
71     $minutes[] = sprintf('%02d', $all_minutes[$i]);
72     $selected = intval(floor(strftime('%M', $time) / $minute_interval) * $minute_interval);
73     $html_result .= '<select name=';
74     if (null !== $field_array) {
75     $html_result .= '"' . $field_array . '[' . $prefix . 'Minute]"';
76     } else {
77     $html_result .= '"' . $prefix . 'Minute"';
78     }
79     if (null !== $minute_extra){
80     $html_result .= ' ' . $minute_extra;
81     }
82     if (null !== $all_extra){
83     $html_result .= ' ' . $all_extra;
84     }
85     $html_result .= '>'."\n";
86    
87     $html_result .= smarty_function_html_options(array('output' => $minutes,
88     'values' => $minutes,
89     'selected' => $selected,
90     'print_result' => false),
91     $smarty);
92     $html_result .= "</select>\n";
93     }
94    
95     if ($display_seconds) {
96     $all_seconds = range(0, 59);
97     for ($i = 0, $for_max = count($all_seconds); $i < $for_max; $i+= $second_interval)
98     $seconds[] = sprintf('%02d', $all_seconds[$i]);
99     $selected = intval(floor(strftime('%S', $time) / $second_interval) * $second_interval);
100     $html_result .= '<select name=';
101     if (null !== $field_array) {
102     $html_result .= '"' . $field_array . '[' . $prefix . 'Second]"';
103     } else {
104     $html_result .= '"' . $prefix . 'Second"';
105     }
106    
107     if (null !== $second_extra){
108     $html_result .= ' ' . $second_extra;
109     }
110     if (null !== $all_extra){
111     $html_result .= ' ' . $all_extra;
112     }
113     $html_result .= '>'."\n";
114    
115     $html_result .= smarty_function_html_options(array('output' => $seconds,
116     'values' => $seconds,
117     'selected' => $selected,
118     'print_result' => false),
119     $smarty);
120     $html_result .= "</select>\n";
121     }
122    
123     if ($display_meridian && !$use_24_hours) {
124     $html_result .= '<select name=';
125     if (null !== $field_array) {
126     $html_result .= '"' . $field_array . '[' . $prefix . 'Meridian]"';
127     } else {
128     $html_result .= '"' . $prefix . 'Meridian"';
129     }
130    
131     if (null !== $meridian_extra){
132     $html_result .= ' ' . $meridian_extra;
133     }
134     if (null !== $all_extra){
135     $html_result .= ' ' . $all_extra;
136     }
137     $html_result .= '>'."\n";
138    
139     $html_result .= smarty_function_html_options(array('output' => array('AM', 'PM'),
140     'values' => array('am', 'pm'),
141     'selected' => strtolower(strftime('%p', $time)),
142     'print_result' => false),
143     $smarty);
144     $html_result .= "</select>\n";
145     }
146    
147     print $html_result;
148     }
149    
150     /* vim: set expandtab: */
151    
152     ?>

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