function system_module_settings in Util 6.2
Same name and namespace in other branches
- 6.3 system_module.module \system_module_settings()
- 6 system_module.module \system_module_settings()
1 string reference to 'system_module_settings'
File
- ./
system_module.module, line 30 - Customize System Modules fieldsets
Code
function system_module_settings() {
global $user;
drupal_add_css(drupal_get_path('module', 'system_module') . '/system_module.css');
// Get all available packages.
$modules = module_rebuild_cache();
$packages = $includes = array();
foreach ($modules as $module) {
if (!isset($module->info['package']) || !$module->info['package']) {
$module->info['package'] = t('Other');
}
$pkg = $module->info['package'];
$packages[$pkg] = $pkg;
$includes[$pkg][] = $module->info['name'];
}
ksort($packages);
ksort($includes);
// Build settings form
$result = db_fetch_array(db_query("SELECT data FROM {system_module_users} WHERE uid = %d}", $user->uid));
$result = unserialize($result['data']);
$form['system_module_collapse_all'] = array(
'#type' => 'radios',
'#title' => t('Collapse all by default'),
'#description' => t('If you collapse all by default, new packages will be collapsed automatically unless you select them below.'),
'#default_value' => variable_get('system_module_collapse_all', 0),
'#options' => array(
t('Expand all by default'),
t('Collapse all by default'),
),
);
$form['list'] = array(
'#type' => 'fieldset',
'#title' => t('Available module packages'),
'#description' => t('Check the box to reverse the default collapsed state above.'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['list']['system_module_cfg'] = array(
'#type' => 'checkboxes',
'#default_value' => isset($result) && is_array($result) ? array_keys($result) : array(),
'#options' => $packages,
);
$form['dir'] = array(
'#type' => 'fieldset',
'#title' => t('Directory of package contents'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$rows = array();
$header = array(
t('Package'),
t('Includes'),
);
foreach ($includes as $pkg => $modules) {
$pkg_id = _system_modules_make_pkgid($pkg);
$rows[] = array(
l($pkg, 'admin/build/modules', array(
'fragment' => "package_{$pkg_id}",
'query' => 'expand="' . $pkg . '"',
)),
implode(', ', $modules),
);
}
$form['dir']['list'] = array(
'#type' => 'markup',
'#value' => theme('table', $header, $rows),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Save configuration',
);
return $form;
}