You are here

function mobile_navigation_menu_configurations_form in Mobile Navigation 7.2

Mobile navigation menu display list form.

1 string reference to 'mobile_navigation_menu_configurations_form'
mobile_navigation_menu in ./mobile_navigation.module
Implements hook_menu().

File

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

Code

function mobile_navigation_menu_configurations_form($form, &$form_state) {
  module_load_include('inc', 'mobile_navigation', 'mobile_navigation');
  $menu = menu_load(arg(4));
  drupal_set_title(t('Mobile Navigation configurations for @menu', array(
    '@menu' => $menu['title'],
  )));
  $form['markup'] = array(
    '#markup' => t('Add the displays in wich you want to configure mobile navigation for the @menu menu.<br />', array(
      '@menu' => $menu['title'],
    )),
  );
  $form['display_list'] = array(
    '#tree' => TRUE,
    '#theme' => 'mobile_navigation_display_list_table',
  );
  $menu = arg(4);
  $menu_displays = get_menu_configurations($menu);
  $menu_displays_array = array();
  foreach ($menu_displays as $display) {
    $display_name = get_display_name_from_id($display->display);
    $form['display_list'][$display->id]['delete'] = array(
      '#type' => 'checkbox',
      '#title' => t('Remove Display from this menu'),
      '#extra_data' => array(
        'name' => "<h5>" . $display_name . "</h5>",
        'info' => t("<strong>Navigation Plugin:</strong> @plugin <br /> <strong>Show/Hide Effect:</strong> @effect", array(
          "@plugin" => $display->plugin,
          "@effect" => $display->show_hide_effect,
        )),
      ),
    );
    $form['display_list'][$display->id]['edit'] = array(
      '#type' => 'markup',
      '#title' => t('Edit configuration'),
      '#markup' => l(t('Edit configuration'), 'admin/structure/menu/manage/' . $menu . '/mobile-navigation/configuration/' . $display_name, array(
        'attributes' => array(
          'class' => array(
            'edit-display',
          ),
        ),
        'query' => array(
          'destination' => '/admin/structure/menu/manage/' . $menu . '/mobile-navigation',
        ),
      )),
    );
    $menu_displays_array[$display->display] = $display->display;
  }

  /**** Query all displays ***/
  $displays = get_displays_list();

  /**** create select with all displays ****/
  $options = array(
    0 => t('Select a Display to Add'),
  );
  while ($row = $displays
    ->fetchAssoc()) {
    if (!in_array($row['id'], $menu_displays_array)) {
      $options[$row['id']] = $row['name'];
    }
  }
  if (count($options) < 2) {
    $options = array(
      0 => t('All Displays have been added to this menu.'),
    );
  }
  $form['mobile_navigation_display'] = array(
    '#type' => 'select',
    '#title' => t('Add Mobile Navigation Display to this Menu'),
    '#options' => $options,
    '#default_value' => 0,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Submit Changes'),
  );
  return $form;
}