function _datereminder_set_reminders in Date Reminder 7
Same name and namespace in other branches
- 6.2 includes/db6.inc \_datereminder_set_reminders()
- 6 datereminder.module \_datereminder_set_reminders()
Write back user reminder information.
3 calls to _datereminder_set_reminders()
- datereminder_rules_action_set_reminder in ./
datereminder.rules.inc - Called as a rule action to set a reminder on the given node.
- _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/
db7.inc, line 198
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_delete('datereminder')
->condition('rid', $r->rid)
->execute();
}
unset($reminders[$k]);
}
else {
if (!isset($r->expired)) {
$r->expired = 0;
}
$fvals = array(
'nid' => $r->nid,
'uid' => $r->uid,
'leadtime' => $r->leadtime,
'next_due' => $r->next_due,
'email' => $r->email,
'expired' => $r->expired,
);
if ($r->rid > 0) {
$q = db_merge('datereminder')
->key(array(
'rid' => $r->rid,
))
->fields($fvals)
->execute();
}
else {
// This is a new entry.
$q = db_insert('datereminder')
->fields($fvals);
$rid = $q
->execute();
if ($rid > 0) {
$r->rid = $rid;
// Update worked, so adjust array indix to reflect new rid.
unset($reminders[$k]);
$reminders[$rid] = $r;
}
}
}
}
}