function _weight_set_defaults in Weight 7.2
Set nodes to the default weight.
1 call to _weight_set_defaults()
- weight_node_type_form_submit in ./
weight.module  - Additional submit function for node_type_form().
 
File
- ./
weight.module, line 803  
Code
function _weight_set_defaults($default, $type) {
  // Get the nodes to work with.
  $select = db_select('node', 'n');
  $select
    ->fields('n', array(
    'nid',
  ))
    ->condition('type', $type);
  $results = $select
    ->execute();
  foreach ($results as $result) {
    if ($default == 'menu') {
      // Get the menu weight fot this node.
      $weight = db_select('menu_links', 'ml');
      $weight
        ->fields('ml', array(
        'weight',
      ))
        ->condition('link_path', 'node/' . $result->nid);
      $weight = $weight
        ->execute()
        ->fetchField();
      // If there is no menu item, set the weight to 0.
      if (!$weight) {
        $weight = 0;
      }
    }
    else {
      // Get the weight for this node.
      $weight = db_select('weight_weights', 'w');
      $weight
        ->fields('w', array(
        'weight',
      ))
        ->condition('entity_id', $result->nid);
      $weight = $weight
        ->execute()
        ->fetchField();
      // If there is no weight, set the weight to the default.
      if (!$weight) {
        $weight = $default;
      }
    }
    db_merge('weight_weights')
      ->key(array(
      'entity_id' => $result->nid,
    ))
      ->fields(array(
      'entity_id' => $result->nid,
      'entity_type' => 'node',
      'weight' => $weight,
    ))
      ->updateFields(array(
      'weight' => $weight,
    ))
      ->execute();
  }
}