You are here

function field_weight_multiple_node_update in Field display weights (per node) 7.2

Implements hook_node_update().

When we create a new revision, we want to copy the field_weight_multiple * definitions from the old revision if any exist.

File

modules/field_weight_multiple.module, line 375

Code

function field_weight_multiple_node_update($node) {

  // Don't need to do anything if no new revision...
  if ($node->original->vid !== $node->vid) {
    $field_weights = field_weight_multiple_get_weight($node->original->vid);

    // ...or if no field weights.
    if ($field_weights) {

      // And just save it with the new vid
      db_merge('field_weight_multiple')
        ->key(array(
        'vid' => $node->vid,
      ))
        ->fields(array(
        'nid' => $node->nid,
        'vid' => $node->vid,
        'type' => $node->type,
        'field_weights' => serialize($field_weights),
      ))
        ->execute();
    }
  }
}