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;
}
}