You are here

function draggableviews_handler_cck::save in DraggableViews 6.3

Overrides draggableviews_handler::save

File

modules/draggableviews_cck/draggableviews_handler_cck.inc, line 27
The default implementation for draggableviews.

Class

draggableviews_handler_cck

Code

function save($nid, $value) {
  $node = node_load(array(
    'nid' => $nid,
  ));
  $type = content_types($node->type);

  // Get field.
  if (isset($type['fields'][$this->real_field_name])) {
    $field =& $node->{$this->real_field_name};
  }
  else {

    // This note doesn't this field.
    return;
  }
  if (!isset($value)) {

    // Sometimes there is no value available (e.g. a root node without a parent).
    $value = 0;
  }

  // Differ between certain field types.
  switch ($this->field_type) {
    case 'nodereference':
      $field[0]['nid'] = $value;
      break;
    default:
    case 'number_integer':
      $field[0]['value'] = $value;
      break;
  }

  // If we didn't set $node->date then node_submit() would set it to the current timestamp.
  $node->date = format_date($node->created, 'custom', 'Y-m-d H:i:s O');

  // Submit node: Set teaser, format, author and date.
  node_submit($node);

  // Finally save the node.
  node_save($node);
}