You are here

function jquerymenu_admin_settings_submit in JQuery menu 7.4

Same name and namespace in other branches
  1. 7.3 jquerymenu.admin.inc \jquerymenu_admin_settings_submit()

Handle submission of jquerymenu_admin_settings_form, save to module variables and table..

File

./jquerymenu.admin.inc, line 105
Administration page callbacks for the jQuerymenu module

Code

function jquerymenu_admin_settings_submit($form, &$form_state) {

  // Save animation, edit link and parent link toggles.
  variable_set('jquerymenu_animate', $form_state['values']['jquerymenu_animate']);
  variable_set('jquerymenu_edit_link', $form_state['values']['jquerymenu_edit_link']);
  variable_set('jquerymenu_parentlink', $form_state['values']['jquerymenu_parentlink']);
  variable_set('jquerymenu_hover', $form_state['values']['jquerymenu_hover']);
  variable_set('jq_click_to_expand', $form_state['values']['jq_clicktoexpand']);

  // Save selected menus.
  $choices = $form_state['values']['jquerymenu_activate'];

  // get list of currently enabled menus
  $result = db_query("SELECT menu_name FROM {jquerymenus}");
  $enabledmenus = array();
  foreach ($result as $enabled) {
    $enabledmenus[] = $enabled->menu_name;
  }

  // Loop through all menu choices.
  foreach ($choices as $menuname => $value) {

    // if value is not 0 and the menu is not already enabled, save it to the database
    // ??? should it insert it into the block table too?
    if ($value != '0' && !in_array($value, $enabledmenus)) {
      $data = array(
        'menu_name' => $value,
      );
      drupal_write_record('jquerymenus', $data);
    }
    elseif ($value == '0') {
      $delta = db_query("SELECT mid FROM {jquerymenus} WHERE menu_name = :name", array(
        ':name' => $menuname,
      ))
        ->fetchField();
      $delta = $delta - 1;
      db_delete('jquerymenus')
        ->condition('menu_name', $menuname)
        ->execute();
      db_delete('block')
        ->condition('module', 'jquerymenu')
        ->condition('delta', $delta)
        ->execute();
    }
  }

  // Success message.
  drupal_set_message(t('Your settings have been saved.'), $type = 'status', $repeat = FALSE);
}