? 306151-schema-based-install.patch
? 457450-menu-item-hooks.patch
? 457450-menu-link-hooks.patch
? 457450-menu-objects-ext_0.patch
? 557356-menu-object.patch
? 566678-search.patch
? 568350_1.patch
? 568350_5.patch
? 569398-search-config.patch
? test.patch
? sites/all/modules/devel
? sites/default/files
? sites/default/private
Index: modules/search/search.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.admin.inc,v
retrieving revision 1.11
diff -u -p -r1.11 search.admin.inc
--- modules/search/search.admin.inc	29 Aug 2009 21:05:16 -0000	1.11
+++ modules/search/search.admin.inc	7 Sep 2009 21:21:01 -0000
@@ -128,6 +128,27 @@ function search_admin_settings() {
     }
   }
 
+  // Configurable help text.
+  $form['no_results'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('No results help text'),
+  );
+  $form['no_results']['info'] = array(
+    '#markup' => t('The text to display when a search fails to find any matching values.'),
+  );
+  $form['no_results']['search_no_results_title'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Title'),
+    '#default_value' => variable_get('search_no_results_title', t('Your search yielded no results')),
+  );
+  $form['no_results']['search_no_results_text'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Help text'),
+    '#default_value' => variable_get('search_no_results_text', _search_no_results_text()),
+    '#cols' => 40,
+    '#rows' => 6,
+  );
+
   return system_settings_form($form, TRUE);
 }
 
@@ -161,4 +182,4 @@ function search_admin_settings_submit($f
 function search_admin_reindex_submit($form, &$form_state) {
   // send the user to the confirmation page
   $form_state['redirect'] = 'admin/config/search/settings/reindex';
-}
\ No newline at end of file
+}
Index: modules/search/search.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.module,v
retrieving revision 1.314
diff -u -p -r1.314 search.module
--- modules/search/search.module	5 Sep 2009 10:53:09 -0000	1.314
+++ modules/search/search.module	7 Sep 2009 21:21:02 -0000
@@ -104,11 +104,7 @@ function search_help($path, $arg) {
     case 'admin/config/search/settings':
       return '<p>' . t('The search engine maintains an index of words found in your site\'s content. To build and maintain this index, a correctly configured <a href="@cron">cron maintenance task</a> is required. Indexing behavior can be adjusted using the settings below.', array('@cron' => url('admin/reports/status'))) . '</p>';
     case 'search#noresults':
-      return t('<ul>
-<li>Check if your spelling is correct.</li>
-<li>Remove quotes around phrases to search for each word individually. <em>bike shed</em> will often show more results than <em>&quot;bike shed&quot;</em>.</li>
-<li>Consider loosening your query with <em>OR</em>. <em>bike OR shed</em> will often show more results than <em>bike shed</em>.</li>
-</ul>');
+      return filter_xss_admin(variable_get('search_no_results_text', _search_no_results_text()));
   }
 }
 
@@ -1144,3 +1140,14 @@ function search_forms() {
   );
   return $forms;
 }
+
+/**
+ * Return default text when a searcdh returns no results.
+ */
+function _search_no_results_text() {
+  return t('<ul>
+<li>Check if your spelling is correct.</li>
+<li>Remove quotes around phrases to search for each word individually. <em>bike shed</em> will often show more results than <em>&quot;bike shed&quot;</em>.</li>
+<li>Consider loosening your query with <em>OR</em>. <em>bike OR shed</em> will often show more results than <em>bike shed</em>.</li>
+</ul>');
+}
Index: modules/search/search.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.pages.inc,v
retrieving revision 1.11
diff -u -p -r1.11 search.pages.inc
--- modules/search/search.pages.inc	25 Aug 2009 10:27:14 -0000	1.11
+++ modules/search/search.pages.inc	7 Sep 2009 21:21:03 -0000
@@ -35,7 +35,7 @@ function search_view($type = 'node') {
       $build['search_form'] = drupal_get_form('search_form', NULL, $keys, $type);
       $build['search_results'] = array(
         '#theme' => 'search_results_listing',
-        '#title' => empty($results) ? t('Your search yielded no results') : t('Search results'),
+        '#title' => empty($results) ? variable_get('search_no_results_title', t('Your search yielded no results')) : t('Search results'),
         '#content' => empty($results) ? search_help('search#noresults', drupal_help_arg()) : $results,
       );
 
Index: modules/search/search.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.test,v
retrieving revision 1.34
diff -u -p -r1.34 search.test
--- modules/search/search.test	29 Aug 2009 21:05:16 -0000	1.34
+++ modules/search/search.test	7 Sep 2009 21:21:03 -0000
@@ -204,13 +204,13 @@ class SearchMatchTestCase extends Drupal
   }
 }
 
-class SearchBikeShed extends DrupalWebTestCase {
+class SearchNoResultsTestCase extends DrupalWebTestCase {
   protected $searching_user;
 
   public static function getInfo() {
     return array(
-      'name' => 'Bike shed',
-      'description' => 'Tests the bike shed text on the no results page.',
+      'name' => 'No results text',
+      'description' => 'Tests the no results text on the search results page.',
       'group' => 'Search'
     );
   }
@@ -230,7 +230,7 @@ class SearchBikeShed extends DrupalWebTe
     $edit = array();
     $edit['keys'] = 'bike shed ' . $this->randomName();
     $this->drupalPost('search/node', $edit, t('Search'));
-    $this->assertText(t('Consider loosening your query with OR. bike OR shed will often show more results than bike shed.'), t('Help text is displayed when search returns no results.'));
+    $this->assertText(strip_tags(variable_get('search_no_results_text', _search_no_results_text())), t('Help text is displayed when search returns no results.'));
   }
 }
 
