You are here

function weight_node_type_form_submit in Weight 7.2

Additional submit function for node_type_form().

1 string reference to 'weight_node_type_form_submit'
weight_form_node_type_form_alter in ./weight.module
Implements hook_form_FORM_ID_alter().

File

./weight.module, line 335

Code

function weight_node_type_form_submit($form, &$form_state) {
  $values = $form_state['values'];
  $default = $values['weight_menu'] ? 'menu' : $values['weight_default'];
  $exists = db_query('SELECT 1 FROM {weight_settings} WHERE type=:type', array(
    ':type' => $values['type'],
  ))
    ->fetchField();
  if ($exists) {
    db_update('weight_settings')
      ->fields(array(
      'weight_enabled' => $values['weight_enabled'],
      'weight_range' => $values['weight_range'],
      'menu_weight' => $values['weight_menu'],
      'weight_default' => $values['weight_default'],
      'sync_translations' => $values['sync_translations'],
    ))
      ->condition('type', $values['type'])
      ->execute();
  }
  else {
    $query = db_insert('weight_settings')
      ->fields(array(
      'type' => $values['type'],
      'weight_enabled' => $values['weight_enabled'],
      'weight_range' => $values['weight_range'],
      'menu_weight' => $values['weight_menu'],
      'weight_default' => $values['weight_default'],
      'sync_translations' => $values['sync_translations'],
    ))
      ->execute();
  }
  if (!$exists) {
    _weight_set_defaults($default, $values['type']);
  }
  if ($values['clear_all']) {
    $query = new EntityFieldQuery();
    $query
      ->entityCondition('entity_type', 'node')
      ->entityCondition('bundle', $values['type'])
      ->addMetaData('account', user_load(1));
    $result = $query
      ->execute();
    if (isset($result['node'])) {
      $nids = array_keys($result['node']);
      db_delete('weight_weights')
        ->condition('entity_type', 'node')
        ->condition('entity_id', $nids, 'IN')
        ->execute();
    }
    _weight_set_defaults($default, $values['type']);
  }
}