function apachesolr_exclude_node_nodeapi in Apache Solr Exclude Node 6
Implementation of hook_nodeapi().
File
- ./
apachesolr_exclude_node.module, line 53 - Module file for the Apache Solr Exclude Node module.
Code
function apachesolr_exclude_node_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'insert':
if (!empty($node->apachesolr_exclude_node_enabled)) {
$exclude = $node->apachesolr_exclude_node_enabled ? 1 : 0;
db_query('INSERT INTO {apachesolr_exclude_node} (nid, vid, exclude) VALUES (%d, %d, %d)', $node->nid, $node->vid, $exclude);
}
break;
case 'update':
if (!empty($node->apachesolr_exclude_node_enabled)) {
$result = db_result(db_query('SELECT vid FROM {apachesolr_exclude_node} WHERE vid = %d', $node->vid));
if ($result) {
$exclude = $node->apachesolr_exclude_node_enabled ? 1 : 0;
db_query('UPDATE {apachesolr_exclude_node} SET exclude = %d WHERE vid = %d', $exclude, $node->vid);
}
else {
apachesolr_exclude_node_nodeapi($node, 'insert');
}
}
else {
apachesolr_exclude_node_nodeapi($node, 'delete revision');
}
break;
case 'delete':
db_query('DELETE FROM {apachesolr_exclude_node} WHERE nid = %d', $node->nid);
break;
case 'delete revision':
db_query('DELETE FROM {apachesolr_exclude_node} WHERE vid = %d', $node->vid);
break;
case 'load':
$exclude = db_result(db_query('SELECT exclude FROM {apachesolr_exclude_node} WHERE vid = %d', $node->vid));
$node->apachesolr_exclude_node_enabled = $exclude;
break;
}
}