_profile_date_field
- Versions
- 4.6
_profile_date_field($field, $edit)
Helper function: output a date selector
Code
modules/profile.module, line 308
<?php
function _profile_date_field($field, $edit) {
// Default to current date
if (!isset($edit[$field->name])) {
$edit[$field->name] = array('day' => format_date(time(), 'custom', 'j'),
'month' => format_date(time(), 'custom', 'n'),
'year' => format_date(time(), 'custom', 'Y'));
}
// Determine the order of day, month, year in the site's chosen date format.
$format = variable_get('date_format_short', 'm/d/Y');
$sort = array();
$sort['day'] = max(strpos($format, 'd'), strpos($format, 'j'));
$sort['month'] = max(strpos($format, 'm'), strpos($format, 'M'));
$sort['year'] = strpos($format, 'Y');
asort($sort);
$order = array_keys($sort);
// Output multi-selector for date
$output = '<div class="container-inline">';
foreach ($order as $type) {
switch ($type) {
case 'day':
$options = drupal_map_assoc(range(1, 31));
break;
case 'month':
$options = drupal_map_assoc(range(1, 12), '_profile_map_month');
break;
case 'year':
$options = drupal_map_assoc(range(1900, 2050));
break;
}
$output .= form_select('', $field->name .']['. $type, $edit[$field->name][$type], $options, '', 0, 0);
}
$output .= '</div>';
return form_item(check_plain($field->title), $output, _profile_form_explanation($field), NULL, $field->required);
}
?>Login or register to post comments 