You are here

function node_class_form_submit in Node Class 7

Same name and namespace in other branches
  1. 6.2 node_class.module \node_class_form_submit()
  2. 6 node_class.module \node_class_form_submit()

Form submission handler for node form.

1 string reference to 'node_class_form_submit'
node_class_form_alter in ./node_class.module

File

./node_class.module, line 77

Code

function node_class_form_submit($form, &$form_state) {
  if ($form_state['values']['form_id'] == $form['#node']->type . '_node_form') {
    if (isset($form_state['values']['node_class']['css_class']) && user_access('administer nodes')) {
      $nid = $form_state['values']['nid'];
      $class = check_plain($form_state['values']['node_class']['css_class']);

      // update existing nodes that already have nid AND a class
      if (isset($form_state['values']['node_class']['existing_css']) && !is_null($nid)) {
        db_update('node_class')
          ->fields(array(
          'css_class' => $class,
        ))
          ->condition('nid', $nid)
          ->execute();
      }

      // update existing nodes that are getting classes for the first time
      // quickest fix without a refactoring.
      if (!isset($form_state['values']['node_class']['existing_css']) && !is_null($nid) && !is_null($form_state['values']['node_class']['css_class'])) {

        // technically this could replace the above, but merges are expensive.
        db_merge('node_class')
          ->key(array(
          'nid' => $nid,
        ))
          ->fields(array(
          'css_class' => $class,
        ))
          ->execute();
      }
    }
  }
}