You are here

function mobile_navigation_menu_configurations_form_submit in Mobile Navigation 7.2

Submit function for menu display configuration form.

File

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

Code

function mobile_navigation_menu_configurations_form_submit($form, &$form_state) {

  /*** Check for deleted displays. ***/
  if (isset($form_state['values']['display_list'])) {
    $displays_list = $form_state['values']['display_list'];
    foreach ($displays_list as $id => $actions) {
      if ($actions['delete']) {
        $display_name = get_display_name_from_id($id);
        $deleted = db_delete('mobile_navigation_configurations')
          ->condition('id', $id)
          ->execute();
        drupal_set_message(t('@display Mobile Navigation Display has been removed from this menu.', array(
          '@display' => $display_name,
        )));
      }
    }
  }

  /**** Handle creation of new display cofiguration ****/
  $display = $form_state['values']['mobile_navigation_display'];
  if ($display) {
    $menu = arg(4);
    $data = array(
      'menu' => $menu,
      'menu_selector' => MOBILE_NAVIGATION_MENU_SELECTOR,
      'display' => $display,
      'plugin' => MOBILE_NAVIGATION_PLUGIN,
      'show_items_policy' => MOBILE_NAVIGATION_SHOW_ITEMS_POLICY,
      'expand_only_active_trail' => MOBILE_NAVIGATION_EXPAND_ONLY_ACTIVE_TRAIL,
      'show_hide_effect' => MOBILE_NAVIGATION_SHOW_HIDE_EFFECT,
      'collapse_by_default' => MOBILE_NAVIGATION_COLLAPSED_BY_DEFAULT,
      'menu_width' => MOBILE_NAVIGATION_MENU_WIDTH,
      'use_button' => MOBILE_NAVIGATION_USE_BUTTON,
      'button_title' => MOBILE_NAVIGATION_BUTTON_TITLE,
      'use_handler' => MOBILE_NAVIGATION_USE_HANDLER,
      'handler_title' => MOBILE_NAVIGATION_HANDLER_TITLE,
      'use_mask' => MOBILE_NAVIGATION_USE_MASK,
      'use_classes' => MOBILE_NAVIGATION_USE_CLASSES,
    );
    db_insert('mobile_navigation_configurations')
      ->fields($data)
      ->execute();
    $display_name = get_display_name_from_id($display);
    drupal_set_message(t('Added Display "@name" to menu "@menu"', array(
      '@name' => $display_name,
      '@menu' => $menu,
    )));
  }
}