You are here

function admin_select_defaults in Administration Menu select 7

Same name and namespace in other branches
  1. 6 admin_select.module \admin_select_defaults()

Administration Menu select deafults form.

4 string references to 'admin_select_defaults'
admin_select_defaults_submit in ./admin_select.admin.inc
Submit callback; Administration Menu select defaults form.
admin_select_menu in ./admin_select.module
Implements hook_menu().
admin_select_uninstall in ./admin_select.install
Implements hook_uninstall().
_admin_select_default in ./admin_select.module

File

./admin_select.admin.inc, line 11
Administration page callbacks for the Administration Menu Select module.

Code

function admin_select_defaults($form, &$form_state) {
  $settings = variable_get('admin_select_defaults', array());
  $info = admin_select_get_admin_select_info();
  foreach ($info as &$item) {
    $item = $item['title'];
  }

  // Use an incrementing weight variable for weight so that we don't end up
  // with everything being zero by default, which would result in unexpected
  // ordering of roles.
  $default_weight = 0;
  $form['roles']['#tree'] = TRUE;
  foreach (user_roles(TRUE) as $rid => $role) {
    $form['roles'][$rid]['#weight'] = isset($settings[$rid]) ? $settings[$rid]['weight'] : $default_weight;
    $form['roles'][$rid]["admin_select_default"] = array(
      '#type' => 'select',
      '#title' => ucwords($role),
      '#options' => array(
        '' => t('None'),
      ) + $info,
      '#default_value' => isset($settings[$rid]) ? $settings[$rid]['admin_select_default'] : '',
    );
    $form['roles'][$rid]['weight'] = array(
      '#type' => 'weight',
      '#delta' => count(user_roles(TRUE)),
      '#default_value' => isset($settings[$rid]) ? $settings[$rid]['weight'] : $default_weight,
      '#attributes' => array(
        'class' => array(
          'admin-select-weight',
        ),
      ),
    );
    if (!isset($settings[$rid])) {
      $default_weight++;
    }
  }
  uasort($form['roles'], "element_sort");
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save configuration'),
  );
  return $form;
}