taxonomy_field_update
- Versions
- 7
taxonomy_field_update($obj_type, $object, $field, $instance, $langcode, &$items)
Implements hook_field_update().
Related topics
Code
modules/taxonomy/taxonomy.module, line 1415
<?php
function taxonomy_field_update($obj_type, $object, $field, $instance, $langcode, &$items) {
if (variable_get('taxonomy_maintain_index_table', TRUE) && $field['storage']['type'] == 'field_sql_storage' && $obj_type = 'node') {
$first_call = &drupal_static(__FUNCTION__, array());
// We don't maintain data for old revisions, so clear all previous values
// from the table. Since this hook runs once per field, per object, make
// sure we only wipe values once.
if (!isset($first_call[$object->nid])) {
$first_call[$object->nid] = FALSE;
db_delete('taxonomy_index')->condition('nid', $object->nid)->execute();
}
// Only save data to the table if the node is published.
if ($object->status) {
$query = db_insert('taxonomy_index')->fields(array('nid', 'tid', 'sticky', 'created'));
foreach ($items as $item) {
$query->values(array(
'nid' => $object->nid,
'tid' => $item['tid'],
'sticky' => $object->sticky,
'created' => $object->created,
));
}
$query->execute();
}
}
}
?>Login or register to post comments 