system_modules.inc in Util 5
File
utilities/system_modules/system_modules.inc
View source
<?php
function system_modules_util($case) {
switch ($case) {
case 'settings form':
$form = array();
$form['util_system_collapse'] = array(
'#type' => 'checkbox',
'#title' => t('Collapse all fieldsets on the module enabling page'),
'#default_value' => variable_get('system_collapse', 1),
);
return $form;
break;
case 'hook registry':
return array(
'form_alter',
);
break;
}
}
function system_modules_util_form_alter($form_id, &$form) {
if ($form_id == 'system_modules' && variable_get('util_system_collapse', 1) == 1) {
$form['#theme'] = 'system_modules_util_system_modules_form';
}
}
function theme_system_modules_util_system_modules_form($form) {
if (isset($form['confirm'])) {
return drupal_render($form);
}
$header = array(
t('Enabled'),
);
if (module_exists('throttle')) {
$header[] = t('Throttle');
}
$header[] = t('Name');
$header[] = t('Version');
$header[] = t('Description');
$modules = $form['validation_modules']['#value'];
foreach ($modules as $module) {
if (!isset($module->info['package']) || !$module->info['package']) {
$module->info['package'] = t('Other');
}
$packages[$module->info['package']][$module->name] = $module->info;
}
ksort($packages);
$output = '';
foreach ($packages as $package => $modules) {
$rows = array();
foreach ($modules as $key => $module) {
$row = array();
$row[] = array(
'data' => drupal_render($form['status'][$key]),
'align' => 'center',
);
if (module_exists('throttle')) {
$row[] = array(
'data' => drupal_render($form['throttle'][$key]),
'align' => 'center',
);
}
$row[] = '<strong>' . drupal_render($form['name'][$key]) . '</strong>';
$row[] = drupal_render($form['version'][$key]);
$row[] = array(
'data' => drupal_render($form['description'][$key]),
'class' => 'description',
);
$rows[] = $row;
}
$fieldset = array(
'#title' => t($package),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#value' => theme('table', $header, $rows, array(
'class' => 'package',
)),
);
$output .= theme('fieldset', $fieldset);
}
$output .= drupal_render($form);
return $output;
}