From 478a6a0fb2a56595c795c748f27e991450f29cde Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 13 Mar 2014 07:18:34 -0400
Subject: [PATCH]  Merge branch 'master' into 'master'

---
 server/lib/classes/system.inc.php |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 92881ba..adf7535 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -913,6 +913,38 @@
 	}
 
 
+	/**
+	 * This function checks the free space for a given directory
+	 * @param path check path
+	 * @param limit min. free space in bytes
+	 * @return bool - true when the the free space is above limit ohterwise false, opt. available disk-space
+	*/
+
+	function check_free_space($path, $limit = 0, &$free_space = 0) {
+		$path = rtrim($path, '/');
+
+		/**
+		* Make sure that we have only existing directories in the path.
+
+		* Given a file name instead of a directory, the behaviour of the disk_free_space
+		function is unspecified and may differ between operating systems and PHP versions.
+        */
+		while(!is_dir($path) && $path != '/') $path = realpath(dirname($path));
+
+		$free_space = disk_free_space($out);
+
+		if (!$free_space) {
+			$free_space = 0;
+			return false;
+		}
+
+		if ($free_space >= $limit) {
+			return true;
+		} else {
+			return false;
+		}
+
+	}
 
 
 

--
Gitblit v1.9.1