datetime: new field_timezone() function, new template field_select_raw.tpl
returns a timezone select like select_timezone() but using template field_select_raw.tpl. field_select_raw get options html as forth argument, instead of array value=>label like field_select
This commit is contained in:
parent
4b09566579
commit
f35109827b
2 changed files with 26 additions and 2 deletions
|
@ -15,7 +15,6 @@ function timezone_cmp($a, $b) {
|
|||
}}
|
||||
|
||||
// emit a timezone selector grouped (primarily) by continent
|
||||
|
||||
if(! function_exists('select_timezone')) {
|
||||
function select_timezone($current = 'America/Los_Angeles') {
|
||||
|
||||
|
@ -55,6 +54,23 @@ function select_timezone($current = 'America/Los_Angeles') {
|
|||
return $o;
|
||||
}}
|
||||
|
||||
// return a select using 'field_select_raw' template, with timezones
|
||||
// groupped (primarily) by continent
|
||||
// arguments follow convetion as other field_* template array:
|
||||
// 'name', 'label', $value, 'help'
|
||||
if (!function_exists('field_timezone')){
|
||||
function field_timezone($name='timezone', $label='', $current = 'America/Los_Angeles', $help){
|
||||
$options = select_timezone($current);
|
||||
$options = str_replace('<select id="timezone_select" name="timezone">','', $options);
|
||||
$options = str_replace('</select>','', $options);
|
||||
|
||||
$tpl = get_markup_template('field_select_raw.tpl');
|
||||
return replace_macros($tpl, array(
|
||||
'$field' => array($name, $label, $current, $help, $options),
|
||||
));
|
||||
|
||||
}}
|
||||
|
||||
// General purpose date parse/convert function.
|
||||
// $from = source timezone
|
||||
// $to = dest timezone
|
||||
|
|
8
view/field_select_raw.tpl
Normal file
8
view/field_select_raw.tpl
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
<div class='field select'>
|
||||
<label for='id_$field.0'>$field.1</label>
|
||||
<select name='$field.0' id='id_$field.0'>
|
||||
$field.4
|
||||
</select>
|
||||
<span class='field_help'>$field.3</span>
|
||||
</div>
|
Loading…
Reference in a new issue