Issue #1106636 by pwolanin: use system_get_info() API function instead of unserializing from DB to get module names.

merge-requests/26/head
webchick 2011-03-28 08:47:46 -07:00
parent d8679a62e4
commit d5b3e46468
1 changed files with 7 additions and 12 deletions

View File

@ -31,18 +31,12 @@ function search_reindex_confirm_submit(&$form, &$form_state) {
function _search_get_module_names() { function _search_get_module_names() {
$search_info = search_get_info(TRUE); $search_info = search_get_info(TRUE);
$modules = db_select('system', 's') $system_info = system_get_info('module');
->fields('s', array('name', 'info'))
->condition('s.status', 1)
->condition('s.type', 'module')
->condition('s.name', array_keys($search_info), 'IN')
->orderBy('s.name')
->execute();
$names = array(); $names = array();
foreach ($modules as $item) { foreach ($search_info as $module => $info) {
$info = unserialize($item->info); $names[$module] = $system_info[$module]['name'];
$names[$item->name] = $info['name'];
} }
asort($names, SORT_STRING);
return $names; return $names;
} }
@ -114,19 +108,20 @@ function search_admin_settings($form) {
'#type' => 'fieldset', '#type' => 'fieldset',
'#title' => t('Active search modules ') '#title' => t('Active search modules ')
); );
$module_options = _search_get_module_names();
$form['active']['search_active_modules'] = array( $form['active']['search_active_modules'] = array(
'#type' => 'checkboxes', '#type' => 'checkboxes',
'#title' => t('Active modules'), '#title' => t('Active modules'),
'#title_display' => 'invisible', '#title_display' => 'invisible',
'#default_value' => variable_get('search_active_modules', array('node', 'user')), '#default_value' => variable_get('search_active_modules', array('node', 'user')),
'#options' => _search_get_module_names(), '#options' => $module_options,
'#description' => t('Choose which search modules are active from the available modules.') '#description' => t('Choose which search modules are active from the available modules.')
); );
$form['active']['search_default_module'] = array( $form['active']['search_default_module'] = array(
'#title' => t('Default search module'), '#title' => t('Default search module'),
'#type' => 'radios', '#type' => 'radios',
'#default_value' => variable_get('search_default_module', 'node'), '#default_value' => variable_get('search_default_module', 'node'),
'#options' => _search_get_module_names(), '#options' => $module_options,
'#description' => t('Choose which search module is the default.') '#description' => t('Choose which search module is the default.')
); );
$form['#validate'][] = 'search_admin_settings_validate'; $form['#validate'][] = 'search_admin_settings_validate';