--- /tmp/opensearchclient/opensearchclient.module	2007-01-14 06:46:35.000000000 +1100
+++ modules/opensearchclient/opensearchclient.module	2007-05-21 12:46:05.000000000 +1000
@@ -6,6 +6,11 @@
  * Allows for searching Opensearch RSS feeds from within Drupal. See http://opensearch.a9.com/ for more information on Opensearch.
  */
 
+// So we only have to change the default values in one place
+define('OPENSEARCHCLIENT_NAME', 'OpenSearch');
+define('OPENSEARCHCLIENT_CACHE_DIR', file_directory_path().'/opensearchclient_cache');
+define('OPENSEARCHCLIENT_CACHE_ON', true);
+
 /**
  * Implementation of hook_help().
 */
@@ -22,13 +27,12 @@ function opensearchclient_perm() {
   return array('configure opensearch feeds');
 }
 
-
 function opensearchclient_search($op = 'search', $keys = null) {
   global $pager_total, $pager_page_array, $pager_total_items, $locale;
 
   switch ($op) {
     case 'name': 
-      return variable_get('opensearchclient_name', 'OpenSearch');
+      return variable_get('opensearchclient_name', OPENSEARCHCLIENT_NAME);
 
     case 'search':
       $from_page =  intval($_GET['page']);
@@ -63,8 +67,9 @@ function opensearchclient_search($op = '
       $path = drupal_get_path('module', 'opensearchclient').'/magpierss-0.72/rss_fetch.inc';
       require_once $path;
 
-      $cache_dir = variable_get('opensearch_magpie_cache_dir', file_directory_path(). '/magpiecache');
-      if (file_check_directory($cache_dir)) {
+      $cache_dir = variable_get('opensearchclient_cache_dir', OPENSEARCHCLIENT_CACHE_DIR);
+      if (variable_get('opensearchclient_cache_on', OPENSEARCHCLIENT_CACHE_ON) 
+          && file_check_directory($cache_dir, FILE_CREATE_DIRECTORY)) {
         define('MAGPIE_CACHE_ON', TRUE);
         define('MAGPIE_CACHE_DIR', $cache_dir);
       }
@@ -138,7 +143,6 @@ function opensearchclient_menu($may_cach
  return $items;
 }
 
-
 function opensearchclient_admin_settings() {
   $form['template'] = array(
     '#type' => 'fieldset',
@@ -149,7 +153,7 @@ function opensearchclient_admin_settings
   $form['template']['opensearchclient_name'] = array(
     '#type' => 'textfield',
     '#title' => t('Site name'),
-    '#default_value' =>variable_get('opensearchclient_name', ''),
+    '#default_value' => variable_get('opensearchclient_name', OPENSEARCHCLIENT_NAME),
   );
   $form['template']['opensearchclient_template'] = array(
     '#type' => 'textfield',
@@ -160,20 +164,26 @@ function opensearchclient_admin_settings
     '#maxlength' => 256, 
   );
 
-  $form['magpie']['opensearch_magpie_cache_dir'] = array(
-    '#type' => 'value',
-    '#value' => variable_get('opensearch_magpie_cache_dir', file_directory_path(). '/magpiecache'),
-    '#after_build' => array('opensearch_check_magpie_cache_dir'),
+  $form['cache'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Caching'),
+    '#collapsible' => true,
+    '#collapsed' => false,
+  );
+  $form['cache']['opensearchclient_cache_on'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable caching of results'),
+    '#default_value' => variable_get('opensearchclient_cache_on', OPENSEARCHCLIENT_CACHE_ON),
+  );
+  $form['cache']['opensearchclient_cache_dir'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Cache directory'),
+    '#default_value' => variable_get('opensearchclient_cache_dir', OPENSEARCHCLIENT_CACHE_DIR),
   );
 
   return system_settings_form($form);
 }
 
-function opensearch_check_magpie_cache_dir($form_element) {
-  file_check_directory($form_element['#value'], FILE_CREATE_DIRECTORY, $form_element['#parents'][0]);
-  return $form_element;
-}
-
 function opensearchclient_get_module_bindings() {
   $result = array();
   foreach (module_list() as $module) {
