/[drupal]/contributions/modules/office_hours/office_hours.elements.inc
ViewVC logotype

Diff of /contributions/modules/office_hours/office_hours.elements.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.2, Sat May 2 09:51:28 2009 UTC revision 1.1.2.3, Sat Jun 27 17:48:58 2009 UTC
# Line 36  function _office_hours_elements() { Line 36  function _office_hours_elements() {
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   $iteration = $element['#weight'];    $day = $element['#weight'];
40    $field = $form['#field_info'][$element['#field_name']];    $field = $form['#field_info'][$element['#field_name']];
41    if ($field['multiple'] > 7) {    $day =  ($day == 0) ? 0 :(($day & 1) ? ($day-1)/2 : $day/2);
     $day = ($iteration == 0) ? 0 :(($iteration & 1) ? ($iteration-1)/2 : $iteration/2);  
   }  
   else {  
     $day = $iteration;  
  }  
42    $field_day = $element['#columns'][0];    $field_day = $element['#columns'][0];
43    $field_strhrs = $element['#columns'][1];    $field_strhrs = $element['#columns'][1];
44    $field_endhrs = $element['#columns'][2];    $field_endhrs = $element['#columns'][2];
45    $optionshr =  _office_hours_create_hours_arr($field, TRUE);    $days = date_week_days_untranslated();
46    $optionday = array(0 => t('Sunday'), 1 => t('Monday'), 2 => t('Tuesday'),3 => t('Wednesday'), 4 => t('Thursday'), 5 => t('Friday'), 6 => t('Saturday'), 7=> t('None'));    $element['#prefix'] = '<div class="office-hours-block" style="display:inline">';
47   $element['#prefix'] = '<div class="office-hours-block" style="display:inline">';    $element['#prefix'] .= (!($element['#weight'] & 1 )) ?  t($days[$day]) : t('Additional hours:');
48    
49   if ( $field['multiple'] == '7' || ($field['multiple'] == '14' && !($iteration & 1 )) ) {  /*$element['#suffix'] = (!($element['#weight'] & 1 )) ? l(t('Add more hours'),'office-hours-add',array('attributes' => array('id'=>'oh-add-more-link'))).'</div>' : '';*/
     $element['#prefix'] .= t($optionday[$day]);  
   }  
   else {  
      $element['#prefix'] .= t('Additional hours:');  
   }  
   $element['#suffix'] = '</div>';  
50    
51    $element[$field_day] = array(    $element[$field_day] = array(
52      '#type' => 'value',      '#type' => 'value',
53      '#value' => $day,      '#value' => $day,
54   );   );
55    
56   $element[$field_strhrs] = array(    $element[$field_strhrs] = array(
57      '#type' => 'office_hours_select',      '#type' => 'office_hours_select',
58      '#title' => t('From'),      '#title' => t('From'),
59      '#default_hours' => isset($element['#value'][$field_strhrs]) ? $element['#value'][$field_strhrs] : '' ,      '#default_hours' => isset($element['#value'][$field_strhrs]) ? $element['#value'][$field_strhrs] : '' ,
# Line 73  function office_hours_field_process($ele Line 62  function office_hours_field_process($ele
62    
63    );    );
64    
65   $element[$field_endhrs] = array(    $element[$field_endhrs] = array(
66      '#type' => 'office_hours_select',      '#type' => 'office_hours_select',
67      '#title' => t('Until'),      '#title' => t('Until'),
68      '#default_hours' => isset($element['#value'][$field_endhrs]) ? $element['#value'][$field_endhrs] : '',      '#default_hours' => isset($element['#value'][$field_endhrs]) ? $element['#value'][$field_endhrs] : '',
# Line 81  function office_hours_field_process($ele Line 70  function office_hours_field_process($ele
70      '#hoursformat' => $field['hoursformat'],      '#hoursformat' => $field['hoursformat'],
71   );   );
72    
   
73    $form_state['#field_info'][$field['field_name']] = $field;    $form_state['#field_info'][$field['field_name']] = $field;
   
74    return $element;    return $element;
75  }  }
76    
77  /**  /**
78   * Process the hours selector element.   * Process the hours selector element.
79   */   */
80  function office_hours_select_process($element) {  function office_hours_select_process($element, $edit, $form_state, $form) {
81    $ampm = 'am';    $ampm = 'am';
82    $defhr = '';    $defhr = '';
83    $defmin = '';    $defmin = '';
   $hours = ($element['#hoursformat'] == 1) ? date_hours('g') : date_hours('H');  
   $minutes = date_minutes('i', FALSE, $element['#granularity']);  
84    if (!empty($element['#default_hours'])) {    if (!empty($element['#default_hours'])) {
85      $hour =  _office_hours_mil_to_tf($element['#default_hours']);      $hour =  _office_hours_mil_to_tf($element['#default_hours']);
86      list($defhr, $defmin) = explode(":",$hour);      list($defhr, $defmin) = explode(":",$hour);
87      if ($element['#hoursformat']) {      if ($element['#hoursformat']) {
88        if ($defhr > 12) {        if ($defhr >= 12) {
89          $defhr -= 12;          $defhr -= ($defhr != 12) ? 12 : 0;
90          $ampm = 'pm';          $ampm = 'pm';
91        }        }
92        elseif ($defhr == 0) {        elseif ($defhr == 0) {
93          $defhr +=12;          $defhr +=12;
94        }        }
95      }      }
96        else {
97          $defhr = str_pad($defhr, 2, '0', STR_PAD_LEFT);
98        }
99    }    }
100    
101      $hours = ($element['#hoursformat'] == 1) ? date_hours('g') : date_hours('H');
102      $minutes = date_minutes('i', FALSE, $element['#granularity']);
103    
104    $element['hours'] = array(    $element['hours'] = array(
105      '#type' => 'select',      '#type' => 'select',
106      '#options' => drupal_map_assoc($hours),      '#options' => drupal_map_assoc($hours),
# Line 128  function office_hours_select_process($el Line 120  function office_hours_select_process($el
120    );    );
121    }    }
122    return $element;    return $element;
123    
124  }  }
125    
126  /**  /**
127   * Validate the hours selector element.   * Validate the hours selector element.
128   */   */
129  function office_hours_select_validate($element, &$form_state) {  function office_hours_select_validate($element, &$form_state) {
130    $hour = $element['#value']['hours'];    //$hour = $element['#value']['hours'];
131    $minutes = ($element['#value']['minutes'] == 0) ? '00' : $element['#value']['minutes'];    $hour = $element['hours']['#value'];
132      $minutes = ($element['minutes']['#value'] == 0) ? '00' : $element['minutes']['#value'];
133      //$minutes = ($element['#value']['minutes'] == 0) ? '00' : $element['#value']['minutes'];
134    if ($element['#hoursformat']) {    if ($element['#hoursformat']) {
135      if ($element['ampm']['#value'] == 'pm' && $hour < 12) $hour += 12;      if ($element['ampm']['#value'] == 'pm' && $hour < 12) $hour += 12;
136      if ($element['ampm']['#value'] == 'am' && $hour == 12) $hour -= 12;      if ($element['ampm']['#value'] == 'am' && $hour == 12) $hour -= 12;

Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3

  ViewVC Help
Powered by ViewVC 1.1.2