function _datereminder_load_reminders in Date Reminder 6
Same name and namespace in other branches
- 6.2 includes/db6.inc \_datereminder_load_reminders()
- 7 includes/db7.inc \_datereminder_load_reminders()
Load reminders filtering one one or more keys.
@example: $reminders = _datereminder_load_reminders(array('uid' => $uid));
Parameters
array $selectors: a key:value array specifying what to load from the reminders table. Anything in the reminder table is fair game, but generally the keys are 'nid', 'rid', or 'uid'.
node $node: Optional parameter. If set, $r->node is set for any loaded reminder with the right nid.
string sortkey: If set, sort loaded reminders by this.
Return value
array an array of reminder objects as selected from the database, keyed by rid. Each object also includes the node title and user name.
3 calls to _datereminder_load_reminders()
- datereminder_form_summary in includes/
datereminder_form.inc - Build a form with a list of reminders.
- _datereminder_get_node_user_reminders in ./
datereminder.module - Get existing reminder info for a node and current user.
- _datereminder_update_node_reminders in ./
datereminder.module - Update all reminders for a node if the node is updated.
File
- ./
datereminder.module, line 513 - Support for reminders for nodes with dates.
Code
function _datereminder_load_reminders($selectors, $node = NULL, $sortkey = NULL) {
global $user;
$s = 'SELECT r.*, title, name FROM {node} n INNER JOIN {datereminder} r ';
$s .= 'USING(nid) INNER JOIN {users} u WHERE r.uid = u.uid';
$vals = array();
foreach ($selectors as $k => $v) {
$s .= " AND r.{$k} = %d";
$vals[] = $v;
}
if ($sortkey != NULL) {
$s .= " ORDER by r.{$sortkey}";
}
$rs = db_rewrite_sql($s);
$q = db_query($rs, $vals);
$ret = array();
while ($r = db_fetch_object($q)) {
if (isset($node) && $node->nid == $r->nid) {
$r->node = $node;
}
if ($r->uid == $user->uid) {
$r->user = $user;
}
$ret[$r->rid] = $r;
}
return $ret;
}