You are here

function _datereminder_set_reminders in Date Reminder 6.2

Same name and namespace in other branches
  1. 6 datereminder.module \_datereminder_set_reminders()
  2. 7 includes/db7.inc \_datereminder_set_reminders()

Write back user reminder information.

2 calls to _datereminder_set_reminders()
_datereminder_form_submit_user in ./datereminder.module
Callback on submit from datereminder_form.
_datereminder_update_reminder_nexts in includes/node.inc
Recompute "next" time and write back a group of reminders.

File

includes/db6.inc, line 188

Code

function _datereminder_set_reminders(&$reminders) {
  foreach (array_keys($reminders) as $k) {
    $r = $reminders[$k];

    // Should we save this reminder?
    if ($r->leadtime == 0 || !isset($r->next_due)) {

      // No reminder, so delete any existing entry.
      if ($r->rid > 0) {
        db_query('DELETE FROM {datereminder} WHERE rid = %d', $r->rid);
      }
      unset($reminders[$k]);
    }
    else {
      if ($r->rid > 0) {
        drupal_write_record('datereminder', $r, 'rid');
      }
      else {

        // This is a new entry.
        $ok = drupal_write_record('datereminder', $r);
        if ($ok) {

          // Update worked, so adjust array indix to reflect new rid.
          unset($reminders[$k]);
          $reminders[$r->rid] = $r;
        }
      }
    }
  }
}