function datereminder_token_values in Date Reminder 6.2
Same name and namespace in other branches
- 6 datereminder.module \datereminder_token_values()
Implements hook_token().
Parameters
string $type: Type of tokens being requested
string $object: Associated object
array $options: Not used here
File
- ./
datereminder.module, line 586 - Support for reminders for nodes with dates.
Code
function datereminder_token_values($type, $object = NULL, $options = array()) {
$values = array();
if ($type == 'datereminder') {
$r = $object;
if ($r) {
module_load_include('inc', 'datereminder', 'includes/date');
$datefield = _datereminder_get_datefield($r);
$tz = $r->user->timezone_name;
if (!isset($tz)) {
$tz = date_default_timezone_name(FALSE);
}
$next_due = $r->next_due;
// We want then next-date tokens to show next occurrance after
// the time this reminder will be sent. But if the reminder isn't
// currently scheduled, use 'now'.
if (isset($next_due)) {
$next_due = _datereminder_internal_date_to_datetime($next_due);
}
else {
$next_due = _datereminder_now();
}
$dobj = _datereminder_get_occurance_after_date($datefield, $next_due);
if (isset($dobj)) {
date_timezone_set($dobj, timezone_open($tz));
$values['next-date-short'] = date_format_date($dobj, 'short');
$values['next-date-medium'] = date_format_date($dobj, 'medium');
$values['next-date-long'] = date_format_date($dobj, 'long');
}
else {
$values['next-date-short'] = t('Past');
$values['next-date-medium'] = t('Past');
$values['next-date-long'] = t('Past');
}
}
}
return $values;
}