function _date_pathauto_node in Date 5        
                          
                  
                        Same name and namespace in other branches
- 5.2 date/date_pathauto.inc \_date_pathauto_node()
 
 
1 call to _date_pathauto_node()
  - date_pathauto_node in ./date.module
 
  - Include pathauto files when needed.
 
 
File
 
   - ./date_pathauto.inc, line 14
 
  - Interface between date.module and pathauto.module.
 
Code
function _date_pathauto_node($op, $node = NULL) {
  include_once drupal_get_path('module', 'date_api') . '/date.inc';
  switch ($op) {
    case 'placeholders':
      $placeholders = array();
      foreach (content_fields() as $field) {
        if (($field['type'] == 'date' || $field['type'] == 'datestamp') && is_array($field['granularity'])) {
          if (array_key_exists('Y', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_y]'] = t($field['widget']['label'] . ' - year');
          }
          if (array_key_exists('M', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_m]'] = t($field['widget']['label'] . ' - month');
          }
          if (array_key_exists('D', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_d]'] = t($field['widget']['label'] . ' - day');
          }
          if (array_key_exists('H', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_h]'] = t($field['widget']['label'] . ' - hours');
          }
          if (array_key_exists('N', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_n]'] = t($field['widget']['label'] . ' - minutes');
          }
          if (array_key_exists('S', $field['granularity'])) {
            $placeholders['[' . $field['field_name'] . '_s]'] = t($field['widget']['label'] . ' - seconds');
          }
        }
      }
      return $placeholders;
      break;
    case 'values':
      
      $results = array();
      
      if (node_hook($node, 'view')) {
        node_invoke($node, 'view', false, false);
      }
      else {
        $node = node_prepare($node, false);
      }
      
      node_invoke_nodeapi($node, 'view', false, false);
      
      if (node_hook($node, 'view')) {
        node_invoke($node, 'view', false, false);
      }
      else {
        $node = node_prepare($node, false);
      }
      
      node_invoke_nodeapi($node, 'view', false, false);
      foreach (content_fields() as $field) {
        if ($field['type'] == 'date' || $field['type'] == 'datestamp' && is_array($field['granularity'])) {
          
          $fieldname = $field['field_name'];
          $datefield = $node->{$fieldname};
          $datevalue = $datefield[0]['value'];
          
          if ($field['tz_handling'] == 'none') {
            
            $date = date_make_date(trim($datevalue), 'none', 'local', $field['type']);
          }
          else {
            
            $date = date_make_date(trim($datevalue), 'GMT', 'db', $field['type']);
            
            date_convert_timezone($date, 'GMT', date_get_timezone($field['tz_handling'], $item['timezone']), 'local');
          }
          $iso = $date->local->iso;
          if (is_array($field['granularity'])) {
            
            if (array_key_exists('Y', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_y]'] = pathauto_cleanstring(substr($iso, 0, 4));
            }
            if (array_key_exists('M', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_m]'] = pathauto_cleanstring(substr($iso, 5, 2));
            }
            if (array_key_exists('D', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_d]'] = pathauto_cleanstring(substr($iso, 8, 2));
            }
            if (array_key_exists('H', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_h]'] = pathauto_cleanstring(substr($iso, 11, 2));
            }
            if (array_key_exists('N', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_n]'] = pathauto_cleanstring(substr($iso, 14, 2));
            }
            if (array_key_exists('S', $field['granularity'])) {
              $results['[' . $field['field_name'] . '_s]'] = pathauto_cleanstring(substr($iso, 17, 2));
            }
          }
        }
      }
      return $results;
      break;
    default:
      break;
  }
}