From 3906c1a55532d51ea9344d1ebc06be107691eab4 Mon Sep 17 00:00:00 2001
From: ErikWegner <ErikWegner@734338.no-reply.drupal.org>
Date: Sat, 14 Jan 2012 21:58:30 +0100
Subject: [PATCH] $_SERVER['DOCUMENT_ROOT'] not set correctly

---
 resources/file_resource.inc |    2 +-
 services.module             |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/resources/file_resource.inc b/resources/file_resource.inc
index a2bf253..1db233d 100644
--- a/resources/file_resource.inc
+++ b/resources/file_resource.inc
@@ -261,7 +261,7 @@ function _file_resource_create($file) {
 function _file_resource_retrieve($fid, $file_contents) {
   if ($file = db_fetch_array(db_query('SELECT * FROM {files} WHERE fid = %d', $fid))) {
     if ($file_contents) {
-      $absolute_file_path = $_SERVER['DOCUMENT_ROOT'] . '/' . file_create_path($file['filepath']);
+      $absolute_file_path = services_document_root() . '/' . file_create_path($file['filepath']);
       $binaryfile = fopen($absolute_file_path, 'rb');
       if ($binaryfile === FALSE) {
         services_error(t('Cannot open file with ID %fid.', array('%fid' => $fid)));
diff --git a/services.module b/services.module
index f640631..2e1e702 100644
--- a/services.module
+++ b/services.module
@@ -10,6 +10,12 @@
  */
 define('SERVICES_REQUIRED_CTOOLS_API', '1.7');
 
+function services_document_root() {
+  $absolute_dir = dirname(__FILE__);
+  $relative_dir = drupal_get_path('module', 'services');
+  return substr($absolute_dir, 0, -1 * (1 + strlen($relative_dir)));
+}
+
 /**
  * Implementation of hook_help().
  */
-- 
1.7.7.3

From 776aab3797685a938715cd47663420c248d79c5f Mon Sep 17 00:00:00 2001
From: Erik Wegner <e_wegner@web.de>
Date: Sat, 14 Jan 2012 22:01:31 +0100
Subject: [PATCH] Documentation

---
 services.module |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/services.module b/services.module
index 2e1e702..cae3994 100644
--- a/services.module
+++ b/services.module
@@ -10,6 +10,9 @@
  */
 define('SERVICES_REQUIRED_CTOOLS_API', '1.7');
 
+/**
+ *  Replacement for $_SERVER['DOCUMENT_ROOT']
+ */
 function services_document_root() {
   $absolute_dir = dirname(__FILE__);
   $relative_dir = drupal_get_path('module', 'services');
-- 
1.7.7.3

