function xmlsitemap_term_nodeapi in XML sitemap 5.2
Implementation of hook_nodeapi().
File
- xmlsitemap_term/
xmlsitemap_term.module, line 78 - Adds taxonomy terms to the sitemap.
Code
function xmlsitemap_term_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'insert':
if (!empty($node->taxonomy)) {
$terms = array_keys($node->taxonomy);
$query_args = array_merge(array(
$node->changed,
), $terms);
}
break;
case 'update':
$taxonomy = empty($node->taxonomy) ? array() : array_keys($node->taxonomy);
$xmlsitemap_term_taxonomy = empty($node->xmlsitemap_term_taxonomy) ? array() : array_keys($node->xmlsitemap_term_taxonomy);
$terms = array_merge(array_diff($taxonomy, $xmlsitemap_term_taxonomy), array_diff($xmlsitemap_term_taxonomy, $taxonomy));
$query_args = array_merge(array(
$node->changed,
), $terms);
break;
case 'delete':
if (!empty($node->taxonomy)) {
$terms = array_keys($node->taxonomy);
$query_args = array_merge(array(
REQUEST_TIME,
), $terms);
}
break;
}
if (!empty($terms)) {
db_query("UPDATE {xmlsitemap_term}\n SET previously_changed = last_changed, last_changed = %d WHERE tid IN(" . xmlsitemap_placeholders($terms, 'int') . ")", $query_args);
xmlsitemap_flag_sitemap();
}
}