function apachesolr_settings in Apache Solr Search 6
Same name and namespace in other branches
- 8 apachesolr.admin.inc \apachesolr_settings()
- 5.2 apachesolr.admin.inc \apachesolr_settings()
- 5 apachesolr.module \apachesolr_settings()
- 6.3 apachesolr.admin.inc \apachesolr_settings()
- 6.2 apachesolr.admin.inc \apachesolr_settings()
- 7 apachesolr.admin.inc \apachesolr_settings()
@file Administrative pages for the Apache Solr framework.
1 string reference to 'apachesolr_settings'
- apachesolr_menu in ./
apachesolr.module - Implementation of hook_menu().
File
- ./
apachesolr.admin.inc, line 8 - Administrative pages for the Apache Solr framework.
Code
function apachesolr_settings() {
$form = array();
// Perform a check to ensure the server is there
if (empty($_POST)) {
module_load_install('apachesolr');
foreach (apachesolr_requirements('runtime') as $requirement) {
$status = $requirement['severity'] == REQUIREMENT_ERROR ? 'error' : 'status';
drupal_set_message($requirement['title'] . ': ' . $requirement['value'], $status);
}
}
$form['apachesolr_host'] = array(
'#type' => 'textfield',
'#title' => t('Solr host name'),
'#default_value' => variable_get('apachesolr_host', 'localhost'),
'#description' => t('Host name of your Solr server, e.g. <code>localhost</code> or <code>example.com</code>.'),
'#required' => TRUE,
);
$form['apachesolr_port'] = array(
'#type' => 'textfield',
'#title' => t('Solr port'),
'#default_value' => variable_get('apachesolr_port', '8983'),
'#description' => t('Port on which the Solr server listens. The Jetty example server is 8983, while Tomcat is 8080 by default.'),
'#required' => TRUE,
);
$form['apachesolr_path'] = array(
'#type' => 'textfield',
'#title' => t('Solr path'),
'#default_value' => variable_get('apachesolr_path', '/solr'),
'#description' => t('Path that identifies the Solr request handler to be used.'),
);
$numbers = drupal_map_assoc(array(
1,
5,
10,
20,
50,
100,
200,
));
$default_cron_limit = variable_get('apachesolr_cron_limit', 50);
// apachesolr_cron_limit may be overridden in settings.php. If its current
// value is not among the default set of options, add it.
if (!isset($numbers[$default_cron_limit])) {
$numbers[$default_cron_limit] = $default_cron_limit;
}
$form['apachesolr_cron_limit'] = array(
'#type' => 'select',
'#title' => t('Number of items to index per cron run'),
'#default_value' => $default_cron_limit,
'#options' => $numbers,
'#description' => t('The maximum number of items indexed in each pass of a <a href="@cron">cron maintenance task</a>. If necessary, reduce the number of items to prevent timeouts and memory errors while indexing.', array(
'@cron' => url('admin/reports/status'),
)),
);
$form['apachesolr_rows'] = array(
'#type' => 'textfield',
'#title' => t('Results per page'),
'#default_value' => variable_get('apachesolr_rows', 10),
'#description' => t('The number of results that will be shown per page.'),
);
$form['apachesolr_failure'] = array(
'#type' => 'select',
'#title' => t('On failure'),
'#options' => array(
'show_error' => t('Show error message'),
'show_drupal_results' => t('Show core Drupal results'),
'show_no_results' => t('Show no results'),
),
'#default_value' => variable_get('apachesolr_failure', 'show_error'),
'#description' => t('What to display if Apache Solr search is not available.'),
);
// Add a link to add more mlt blocks.
$form['mlt_link'] = array(
'#type' => 'item',
'#value' => l(t('Add a new content recommendation block'), 'admin/settings/apachesolr/mlt/add_block'),
'#description' => format_plural(count(apachesolr_mlt_list_blocks()), 'You currently have 1 block.', 'You currenly have @count blocks.'),
);
$form['advanced'] = array(
'#type' => 'fieldset',
'#title' => t('Advanced configuration'),
'#collapsed' => TRUE,
'#collapsible' => TRUE,
);
$form['advanced']['apachesolr_set_nodeapi_messages'] = array(
'#type' => 'radios',
'#title' => t('Extra help messages for administrators'),
'#default_value' => variable_get('apachesolr_set_nodeapi_messages', 1),
'#options' => array(
0 => t('Disabled'),
1 => t('Enabled'),
),
);
$form['advanced']['apachesolr_read_only'] = array(
'#type' => 'radios',
'#title' => t('Index write access'),
'#default_value' => variable_get('apachesolr_read_only', APACHESOLR_READ_WRITE),
'#options' => array(
APACHESOLR_READ_WRITE => t('Read and write (normal)'),
APACHESOLR_READ_ONLY => t('Read only'),
),
'#description' => t('<em>Read only</em> stops this site from sending updates to your search index. Useful for development sites.'),
);
return system_settings_form($form);
}