Index: apachesolr.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.admin.inc,v
retrieving revision 1.24
diff -u -p -r1.24 apachesolr.admin.inc
--- apachesolr.admin.inc	13 Jan 2011 05:21:37 -0000	1.24
+++ apachesolr.admin.inc	13 Feb 2011 22:45:40 -0000
@@ -685,6 +685,57 @@ function apachesolr_mlt_add_block_form_s
 }
 
 /**
+ * Page callback to show available conf files.
+ */
+function apachesolr_config_files_overview() {
+  $output = array();
+  $xml = NULL;
+  try {
+    $solr = apachesolr_get_solr();
+    $response = $solr->makeServletRequest('admin/file');
+    $xml = simplexml_load_string($response->getRawResponse());
+  }
+  catch (Exception $e) {
+    watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
+    drupal_set_message(nl2br(check_plain($e->getMessage())), "warning");
+  }
+  if ($xml) {
+    $files = $xml->xpath('//lst[@name="files"]/lst');
+    $items = array();
+    foreach ($files as $file) {
+      $atr = $file->attributes();
+      $name = (string) $atr[0];
+      $str = l($name, 'admin/reports/apachesolr/conf/'. $name);
+      $str .= '<br />' . format_date(strtotime((string) $file->date));
+      $str .= '<br />' . t('Size (bytes): @bytes', array('@bytes' => (string) $file->long));
+      $items[$name] = $str;
+    }
+    ksort($items);
+    $output = theme('item_list', array('items' => array_values($items)));
+  }
+  return $output;
+}
+
+/**
+ * Page callback to show one conf file.
+ */
+function apachesolr_config_file($name) {
+  $output = '';
+  try {
+    $solr = apachesolr_get_solr();
+    $response = $solr->makeServletRequest('admin/file', array('file' => $name));
+    $raw_file = $response->getRawResponse();
+    $output = '<pre>' . check_plain($raw_file) . '</pre>';
+    drupal_set_title(check_plain($name));
+  }
+  catch (Exception $e) {
+    watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
+    drupal_set_message(nl2br(check_plain($e->getMessage())), "warning");
+  }
+  return $output;
+}
+
+/**
  * Form to edit moreLikeThis block settings.
  *
  * @param int $delta If editing, the id of the block to edit.
Index: apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.65
diff -u -p -r1.65 apachesolr.module
--- apachesolr.module	13 Feb 2011 21:19:57 -0000	1.65
+++ apachesolr.module	13 Feb 2011 22:45:42 -0000
@@ -98,6 +98,22 @@ function apachesolr_menu() {
     'file'               => 'apachesolr.admin.inc',
     'type'               => MENU_DEFAULT_LOCAL_TASK,
   );
+  $items['admin/reports/apachesolr/conf'] = array(
+    'title'              => 'Configuration files',
+    'page callback'      => 'apachesolr_config_files_overview',
+    'access arguments'   => array('access site reports'),
+    'file'               => 'apachesolr.admin.inc',
+    'weight'             => 5,
+    'type'               => MENU_LOCAL_TASK,
+  );
+  $items['admin/reports/apachesolr/conf/%'] = array(
+    'title'              => 'Configuration file',
+    'page callback'      => 'apachesolr_config_file',
+    'page arguments'     => array(4),
+    'access arguments'   => array('access site reports'),
+    'file'               => 'apachesolr.admin.inc',
+    'type'               => MENU_CALLBACK,
+  );
   $items['admin/config/search/apachesolr/mlt/add_block'] = array(
     'title'              => 'Add a new content recommendation block',
     'page callback'      => 'drupal_get_form',
? SolrPhpClient/.svn
? SolrPhpClient/COPYING
? SolrPhpClient/Apache/.svn
? SolrPhpClient/Apache/Solr/.svn
? SolrPhpClient/Apache/Solr/Document.php
? SolrPhpClient/Apache/Solr/Response.php
? SolrPhpClient/Apache/Solr/Service.php
? SolrPhpClient/Apache/Solr/Service/.svn
? SolrPhpClient/Apache/Solr/Service/Balancer.php
