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