You are here

function mobile_navigation_displays_form_submit in Mobile Navigation 7.2

Submit function for Displays form.

File

./mobile_navigation.admin.inc, line 409
Mobile Navigation Administration page.

Code

function mobile_navigation_displays_form_submit($form, &$form_state) {

  /**** Handle creation of new displays ****/
  $name = $form_state['values']['mobile_navigation_display_name'];
  $top = $form_state['values']['mobile_navigation_top'];
  $bottom = $form_state['values']['mobile_navigation_bottom'];
  $mq = $form_state['values']['mobile_navigation_media_query'];

  /* if there is a name and a breakpoint. */
  $created = false;
  if ($name and ($top != "" or $bottom != "" or $mq != "")) {

    /******* Insert New record ******/
    $fields = array(
      'name' => $name,
      'media_query' => $mq,
    );
    if ($bottom != '') {
      $fields['bottom'] = $bottom;
    }
    else {
      $fields['bottom'] = null;
    }
    if ($top != '') {
      $fields['top'] = $top;
    }
    else {
      $fields['top'] = null;
    }
    db_insert('mobile_navigation_displays')
      ->fields($fields)
      ->execute();
    $last_id = db_query('SELECT MAX(id) FROM {mobile_navigation_displays}')
      ->fetchField();
    $created['id'] = $last_id;
    drupal_set_message(t('New display "@name" has been created.', array(
      '@name' => $name,
    )));
  }
  if (isset($form_state['values']['display_actions'])) {
    $displays_actions = $form_state['values']['display_actions'];

    /********* Cheking for deleted items **********/
    $copy = $displays_actions;
    foreach ($copy as $id => $actions) {
      if ($actions['delete']) {
        $deleted = db_delete('mobile_navigation_displays')
          ->condition('id', $id)
          ->execute();
        $config = db_delete('mobile_navigation_configurations')
          ->condition('display', $id)
          ->execute();
        unset($displays_actions[$id]);
      }
    }

    /****** Saving changes on media queries column *****/
    $ii = 0;
    foreach ($displays_actions as $id => $row) {
      $fields = array(
        'media_query' => $row['media_query'],
      );
      if ($row['bottom'] != "") {
        $fields['bottom'] = $row['bottom'];
      }
      else {
        $fields['bottom'] = null;
      }
      if ($row['top'] != "") {
        $fields['top'] = $row['top'];
      }
      else {
        $fields['top'] = null;
      }
      db_update('mobile_navigation_displays')
        ->fields($fields)
        ->condition('id', $id, '=')
        ->execute();
    }
  }
}