You are here

function datereminder_rules_action_set_reminder in Date Reminder 7

Called as a rule action to set a reminder on the given node.

Parameters

type $node:

type $user:

type $lead:

File

./datereminder.rules.inc, line 113
DateReminder rules.

Code

function datereminder_rules_action_set_reminder($node, $user, $lead) {
  if (!datereminder_rules_condition_user_may_set($node, $user)) {
    return;
  }
  module_load_include('inc', 'datereminder', 'includes/db7');

  // Get existing reminders so we can check for redundancy.
  $selector = array(
    'nid' => $node->nid,
    'uid' => $user->uid,
  );
  $reminders = _datereminder_load_reminders($selector, $node);
  foreach ($reminders as $r) {
    if ($r->leadtime == $lead) {

      // Reminder is already set.
      return;
    }
  }

  // Create new reminder.
  $r = (object) array();
  $r->rid = -1;
  $r->leadtime = $lead;
  $r->nid = $node->nid;
  $r->uid = $user->uid;
  $r->email = NULL;
  $r->next_due = NULL;
  module_load_include('inc', 'datereminder', 'includes/node');
  _datereminder_get_next_reminder($r);
  $reminders[] = $r;
  _datereminder_set_reminders($reminders);
}