| 36 |
* The $fields array is in $form['#field_info'][$element['#field_name']]. |
* The $fields array is in $form['#field_info'][$element['#field_name']]. |
| 37 |
*/ |
*/ |
| 38 |
function office_hours_field_process($element, $edit, $form_state, $form) { |
function office_hours_field_process($element, $edit, $form_state, $form) { |
| 39 |
|
drupal_add_js(drupal_get_path('module', 'office_hours') ."/office_hours.js"); |
| 40 |
$day = $element['#weight']; |
$day = $element['#weight']; |
| 41 |
$field = $form['#field_info'][$element['#field_name']]; |
$field = $form['#field_info'][$element['#field_name']]; |
| 42 |
$day = ($day == 0) ? 0 :(($day & 1) ? ($day-1)/2 : $day/2); |
$day = ($day == 0) ? 0 :(($day & 1) ? ($day-1)/2 : $day/2); |
| 44 |
$field_strhrs = $element['#columns'][1]; |
$field_strhrs = $element['#columns'][1]; |
| 45 |
$field_endhrs = $element['#columns'][2]; |
$field_endhrs = $element['#columns'][2]; |
| 46 |
$days = date_week_days_untranslated(); |
$days = date_week_days_untranslated(); |
| 47 |
$element['#prefix'] = '<div class="office-hours-block" style="display:inline">'; |
if (!($element['#weight'] & 1)) { //first cell |
| 48 |
$element['#prefix'] .= (!($element['#weight'] & 1 )) ? t($days[$day]) : t('Additional hours:'); |
$element['#prefix'] = '<div class="office-hours-block">'.t($days[$day]); |
| 49 |
|
} |
| 50 |
/*$element['#suffix'] = (!($element['#weight'] & 1 )) ? l(t('Add more hours'),'office-hours-add',array('attributes' => array('id'=>'oh-add-more-link'))).'</div>' : '';*/ |
elseif ($field['addhrs']) { //we're supposed to show the 'add hours link' |
| 51 |
|
$link = l(t('Add more hours'),'office-hours-add',array('attributes' => array('class'=>'oh-add-more-link'))).'<div class="office-hours-block">'.t('And from'); |
| 52 |
|
$element['#prefix'] = isset($element['#value'][$field_strhrs]) ? '<div class="office-hours-block">'.t('And from') : $link; |
| 53 |
|
} |
| 54 |
|
else { //this is the second cell and were not showing it- better to clear it. |
| 55 |
|
unset($element['#value'][$field_strhrs]); |
| 56 |
|
} |
| 57 |
|
|
| 58 |
|
$element['#suffix'] = '</div>'; |
| 59 |
|
|
| 60 |
$element[$field_day] = array( |
$element[$field_day] = array( |
| 61 |
'#type' => 'value', |
'#type' => 'value', |
| 62 |
'#value' => $day, |
'#value' => $day, |
| 63 |
); |
); |
|
|
|
| 64 |
$element[$field_strhrs] = array( |
$element[$field_strhrs] = array( |
| 65 |
'#type' => 'office_hours_select', |
'#type' => 'office_hours_select', |
| 66 |
'#title' => t('From'), |
'#title' => t('From'), |
| 69 |
'#hoursformat' => $field['hoursformat'], |
'#hoursformat' => $field['hoursformat'], |
| 70 |
|
|
| 71 |
); |
); |
|
|
|
| 72 |
$element[$field_endhrs] = array( |
$element[$field_endhrs] = array( |
| 73 |
'#type' => 'office_hours_select', |
'#type' => 'office_hours_select', |
| 74 |
'#title' => t('Until'), |
'#title' => t('Until'), |
| 75 |
'#default_hours' => isset($element['#value'][$field_endhrs]) ? $element['#value'][$field_endhrs] : '', |
'#default_hours' => isset($element['#value'][$field_endhrs]) ? $element['#value'][$field_endhrs] : '', |
| 76 |
'#granularity' => $field['granularity'], |
'#granularity' => $field['granularity'], |
| 77 |
'#hoursformat' => $field['hoursformat'], |
'#hoursformat' => $field['hoursformat'], |
| 78 |
); |
); |
| 79 |
|
|
| 80 |
$form_state['#field_info'][$field['field_name']] = $field; |
$form_state['#field_info'][$field['field_name']] = $field; |
| 81 |
return $element; |
return $element; |