Browse Source

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
pull/21/head
Fabio Comuni 11 years ago
parent
commit
f35109827b
  1. 20
      include/datetime.php
  2. 8
      view/field_select_raw.tpl

20
include/datetime.php

@ -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
@ -446,4 +462,4 @@ function update_contact_birthdays() {
}
}
}
}

8
view/field_select_raw.tpl

@ -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…
Cancel
Save