xmlsitemap_node_nodeapi(&$node, $op, $teaser = NULL, $page = NULL)
contributions/modules/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module, line 254
Implmentation of hook_nodeapi().
| Name | Description |
|---|---|
| XML Sitemap | Notify search engines of site updates. |
function xmlsitemap_node_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
switch ($op) {
case 'prepare':
$priority = db_result(db_query("SELECT priority_override FROM {xmlsitemap_node} WHERE nid = %d", $node->nid));
$node->priority_override = isset($priority) && $priority !== FALSE ? $priority : 'NULL';
break;
case 'insert':
$node->priority_override = isset($node->priority_override) ? $node->priority_override : 'NULL';
db_query("INSERT INTO {xmlsitemap_node} (nid, last_changed, priority_override) VALUES (%d, %d, %s)", $node->nid, $node->changed, $node->priority_override);
if ($node->status) {
xmlsitemap_update_sitemap();
}
break;
case 'update':
if (!isset($node->priority_override)) {
$priority = db_result(db_query("SELECT priority_override FROM {xmlsitemap_node} WHERE nid = %d", $node->nid));
$node->priority_override = isset($priority) && $priority !== FALSE ? $priority : 'NULL';
}
db_query("
UPDATE {xmlsitemap_node}
SET previously_changed = last_changed, last_changed = %d, priority_override = %s
WHERE nid = %d
", $node->changed, $node->priority_override, $node->nid);
if ($node->status || $node->xmlsitemap_node_status) {
xmlsitemap_update_sitemap();
}
break;
case 'delete':
db_query("DELETE FROM {xmlsitemap_node} WHERE nid = %d", $node->nid);
if ($node->status) {
xmlsitemap_update_sitemap();
}
break;
}
}