You are here

function defaultconfig_optional_admin in Default config 7

1 string reference to 'defaultconfig_optional_admin'
defaultconfig_menu in ./defaultconfig.module
Implements hook_menu().

File

./defaultconfig.admin.inc, line 83
Main administration page for default config.

Code

function defaultconfig_optional_admin($form, &$form_state) {
  $form = array();
  $form_state['optional_settings'] = $optional_settings = defaultconfig_get_optionals();
  $optionals = defaultconfig_optional_info();
  $show_submit = FALSE;
  $form['components'] = array(
    '#tree' => TRUE,
  );
  foreach ($optionals as $type => $type_optionals) {
    $form['components'][$type] = array(
      '#tree' => TRUE,
    );
    foreach ($type_optionals as $optional => $info) {
      $optional_name = $type . ':' . $optional;
      if ($info['applicable']) {
        $show_submit = TRUE;
        $form['components'][$type][$optional] = array(
          '#type' => 'checkbox',
          '#title' => $info['title'],
          '#default_value' => isset($optional_settings[$optional_name]) ? $optional_settings[$optional_name]->status : $info['default'],
          '#description' => $info['description'],
        );
      }
    }
  }
  if ($show_submit) {
    $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Save settings'),
    );
  }
  else {
    $form['description'] = array(
      '#markup' => t('No extensions were provided by any of the enabled modules.'),
    );
  }
  return $form;
}