aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/filestorage.php5
-rw-r--r--lib/filesystem.php6
-rw-r--r--settings/index.php2
3 files changed, 12 insertions, 1 deletions
diff --git a/lib/filestorage.php b/lib/filestorage.php
index 66b91fc19aa..5161e7f0e57 100644
--- a/lib/filestorage.php
+++ b/lib/filestorage.php
@@ -75,6 +75,7 @@ class OC_FILESTORAGE{
public function find($path){}
public function getTree($path){}
public function hash($type,$path,$raw){}
+ public function free_space($path){}
}
@@ -466,6 +467,10 @@ class OC_FILESTORAGE_LOCAL extends OC_FILESTORAGE{
}
return $return;
}
+
+ public function free_space($path){
+ return disk_free_space($this->datadir.$path);
+ }
/**
* @brief get the size of folder and it's content
diff --git a/lib/filesystem.php b/lib/filesystem.php
index 54b2ad9ce77..033f50e2aba 100644
--- a/lib/filesystem.php
+++ b/lib/filesystem.php
@@ -386,5 +386,11 @@ class OC_FILESYSTEM{
return $storage->hash($type,self::getInternalPath($path),$raw);
}
}
+
+ static public function free_space($path='/'){
+ if(self::canRead($path) and $storage=self::getStorage($path)){
+ return $storage->free_space($path);
+ }
+ }
}
?>
diff --git a/settings/index.php b/settings/index.php
index 521f2ade9da..0e3b3f28550 100644
--- a/settings/index.php
+++ b/settings/index.php
@@ -10,7 +10,7 @@ if( !OC_USER::isLoggedIn()){
$tmpl = new OC_TEMPLATE( "settings", "index", "admin");
$used=OC_FILESYSTEM::filesize('/');
-$free=disk_free_space(OC_CONFIG::getValue('datadirectory'));
+$free=OC_FILESYSTEM::free_space();
$total=$free+$used;
$relative=round(($used/$total)*100);
$tmpl->assign('usage',OC_HELPER::humanFileSize($used));