You are here

function power_menu_fields_configuration_form in Power Menu 7.2

Form definition for menu fileds configuration.

1 string reference to 'power_menu_fields_configuration_form'
power_menu_menu in ./power_menu.module
Implements hook_menu().

File

./power_menu.admin.inc, line 300
This contains all the admin stuff of the module

Code

function power_menu_fields_configuration_form() {
  $form['fields'] = array(
    '#type' => 'fieldset',
    '#title' => t('Fields settings'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );
  $header = array(
    'menu_name' => t('Menu name'),
    'operation_field' => t('Fields'),
    'operation_display' => t('Display'),
  );
  $options = array();
  $default_values = array();
  $menus = menu_get_menus();
  $selected_menus = variable_get('power_menu_fields_menus', array());
  foreach ($menus as $key => $value) {
    $options[$key] = array(
      'menu_name' => $value,
      'operation_field' => array(
        'data' => array(
          '#type' => 'link',
          '#title' => t('Manage fields'),
          '#href' => 'admin/config/search/power_menu/fields/' . power_menu_create_machine_name($key) . '/fields',
        ),
      ),
      'operation_display' => array(
        'data' => array(
          '#type' => 'link',
          '#title' => t('Manage display'),
          '#href' => 'admin/config/search/power_menu/fields/' . power_menu_create_machine_name($key) . '/display',
        ),
      ),
    );

    // Add manage fields/display link when menu is selected
    if (in_array($key, $selected_menus)) {
      $default_values[$key] = TRUE;
      $options[$key]['operation_field'] = array(
        'data' => array(
          '#type' => 'link',
          '#title' => t('Manage fields'),
          '#href' => 'admin/config/search/power_menu/fields/' . power_menu_create_machine_name($key) . '/fields',
        ),
      );
      $options[$key]['operation_display'] = array(
        'data' => array(
          '#type' => 'link',
          '#title' => t('Manage display'),
          '#href' => 'admin/config/search/power_menu/fields/' . power_menu_create_machine_name($key) . '/display',
        ),
      );
    }
    else {
      $default_values[$key] = FALSE;
      $options[$key]['operation_field'] = '';
      $options[$key]['operation_display'] = '';
    }
  }
  $form['fields']['menus'] = array(
    '#type' => 'tableselect',
    '#header' => $header,
    '#options' => $options,
    '#empty' => t('No menus available.'),
    '#multiple' => TRUE,
    '#default_value' => $default_values,
    '#js_select' => FALSE,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}