'Module filter', 'description' => 'Configure settings for Module Filter.', 'access arguments' => array('administer module filter'), 'page callback' => 'drupal_get_form', 'page arguments' => array('module_filter_settings'), 'file' => 'module_filter.admin.inc' ); $items['module_filter/autocomplete'] = array( 'access arguments' => array('administer site configuration'), 'page callback' => 'module_filter_autocomplete', 'file' => 'module_filter.admin.inc', 'type' => MENU_CALLBACK ); return $items; } /** * Implementation of hook_form_FORM_ID_alter(). */ function module_filter_form_system_modules_alter(&$form, $form_state) { // Don't alter the form when confirming. if (isset($form['confirm'])) { return; } $form['module_filter'] = array('#tree' => TRUE); $form['module_filter']['name'] = array( '#type' => 'textfield', '#title' => t('Filter list') ); if (variable_get('module_filter_autocomplete', 0)) { $form['module_filter']['#autocomplete_path'] = 'module/autocomplete'; } $form['module_filter']['show'] = array( '#type' => 'checkboxes', '#default_value' => array('enabled', 'disabled', 'required', 'unavailable'), '#options' => array('enabled' => t('Enabled'), 'disabled' => t('Disabled'), 'required' => t('Required'), 'unavailable' => t('Unavailable')), '#prefix' => '
', '#suffix' => '
' ); $form['#theme'] = 'module_filter_system_modules'; } /** * Implementation of hook_theme(). */ function module_filter_theme() { return array( 'module_filter_system_modules' => array( 'arguments' => array('form' => NULL), 'file' => 'module_filter.theme.inc' ), 'module_filter_system_modules_tabs' => array( 'arguments' => array('form' => NULL), 'file' => 'module_filter.theme.inc' ) ); }