function datereminder_nodeapi in Date Reminder 6
Same name and namespace in other branches
- 6.2 datereminder.module \datereminder_nodeapi()
- 7 datereminder.module \datereminder_nodeapi()
Implements hook_nodeapi().
Parameters
node &$node: The node in question
string $op: What are we doing to the node?
boolean $teaser: Set if we're working with teaser.
boolean $page: Set if we're working with page.
File
- ./
datereminder.module, line 128 - Support for reminders for nodes with dates.
Code
function datereminder_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
module_load_include('inc', 'datereminder', 'includes/defines');
$ret = array();
// Are reminders enabled for this node type?
$enabled = _datereminder_type_enabled($node->type);
switch ($op) {
case 'delete':
// Clean up anything for this node, even if we don't think the node type
// or node has any reminders.
_datereminder_clean_node_reminders($node->nid);
break;
case 'load':
// Return array of items to add to node.
if ($enabled >= DATEREMINDER_TYPE_ALLOWED) {
$dflt = $enabled == DATEREMINDER_TYPE_ON ? DATEREMINDER_TYPE_ON : DATEREMINDER_TYPE_DISABLED;
$enabled = _datereminder_get_node_enabled($node->nid, $dflt);
$ret = array(
'datereminder_enabled' => $enabled,
);
$node->datereminder_enabled = $enabled;
// We'll defer loading the actual reminders until we need them.
}
return $ret;
case 'view':
if ($page && $enabled >= DATEREMINDER_TYPE_ALLOWED && !variable_get('datereminder_as_tab', FALSE)) {
$content = _datereminder_node_output($node, 'node');
$node->content['reminder'] = array(
'#value' => $content,
'#weight' => 50,
);
}
break;
case 'insert':
// Node was just inserted into the database.
if ($enabled >= DATEREMINDER_TYPE_ALLOWED) {
$enabled = $node->datereminder_enabled;
_datereminder_set_node_enabled($node, $enabled);
}
break;
case 'update':
// Node has been edited. Writing back now.
if ($enabled >= DATEREMINDER_TYPE_ALLOWED) {
_datereminder_update_node_reminders($node);
}
break;
}
}