You are here

function _datereminder_get_occurance_after_date in Date Reminder 6.2

Same name and namespace in other branches
  1. 6 includes/date.inc \_datereminder_get_occurance_after_date()
  2. 7 includes/date.inc \_datereminder_get_occurance_after_date()

Get date of next occurance after given date.

Parameters

field $datefield: The date field

DateTime $dt: DateTime object for the date in question

Return value

DateTime DateTime object for next occurance after $dt.

2 calls to _datereminder_get_occurance_after_date()
datereminder_token_values in ./datereminder.module
Implements hook_token().
_datereminder_get_next_occurance in includes/date.inc
Return string datetime for next occurance after a suitable delay from now.

File

includes/date.inc, line 117
Some functions dealing with dates.

Code

function _datereminder_get_occurance_after_date($datefield, $dt) {

  // Get map of type to format string.
  $ftmap = _datereminder_supported_date_field_types();
  $fmtstring = $ftmap[$datefield[0]['date_type']];
  if (!$fmtstring) {

    // Shouldn't happen. Paranoia.
    return NULL;
  }

  // Format the date, as appropriate for this date field type.
  $datestr = $dt
    ->format($fmtstring);
  $dt = NULL;
  foreach ($datefield as $dt) {
    $etime = $dt['value'];
    if (!isset($etime)) {
      continue;
    }
    if (strcmp($etime, $datestr) > 0) {

      // This is the one we want. Turn back into DateTime.
      return _datereminder_date_field_value_to_datetime($datefield, $etime);
    }
  }
  return NULL;
}