Add OC\Files\Filesystem::isFileBlacklisted

This commit is contained in:
Robin Appelman 2013-02-22 16:13:08 +01:00
parent 3878203679
commit 62c65bc1c8
1 changed files with 15 additions and 7 deletions

View File

@ -221,9 +221,9 @@ class Filesystem {
// Load system mount points
if (is_file(\OC::$SERVERROOT . '/config/mount.php') or is_file(\OC::$SERVERROOT . '/config/mount.json')) {
if(is_file(\OC::$SERVERROOT . '/config/mount.json')){
if (is_file(\OC::$SERVERROOT . '/config/mount.json')) {
$mountConfig = json_decode(file_get_contents(\OC::$SERVERROOT . '/config/mount.json'), true);
}elseif(is_file(\OC::$SERVERROOT . '/config/mount.php')){
} elseif (is_file(\OC::$SERVERROOT . '/config/mount.php')) {
$mountConfig = $parser->parsePHP(file_get_contents(\OC::$SERVERROOT . '/config/mount.php'));
}
if (isset($mountConfig['global'])) {
@ -262,9 +262,9 @@ class Filesystem {
$root = \OC_User::getHome($user);
self::mount('\OC\Files\Storage\Local', array('datadir' => $root), $user);
if (is_file($root . '/mount.php') or is_file($root . '/mount.json')) {
if (is_file($root . '/mount.json')){
if (is_file($root . '/mount.json')) {
$mountConfig = json_decode(file_get_contents($root . '/mount.json'), true);
} elseif (is_file($root . '/mount.php')){
} elseif (is_file($root . '/mount.php')) {
$mountConfig = $parser->parsePHP(file_get_contents($root . '/mount.php'));
}
if (isset($mountConfig['user'][$user])) {
@ -389,20 +389,28 @@ class Filesystem {
* @param array $data from hook
*/
static public function isBlacklisted($data) {
$blacklist = \OC_Config::getValue('blacklisted_files', array('.htaccess'));
if (isset($data['path'])) {
$path = $data['path'];
} else if (isset($data['newpath'])) {
$path = $data['newpath'];
}
if (isset($path)) {
$filename = strtolower(basename($path));
if (in_array($filename, $blacklist)) {
if (self::isFileBlacklisted($path)) {
$data['run'] = false;
}
}
}
/**
* @param string $filename
* @return bool
*/
static public function isFileBlacklisted($filename) {
$blacklist = \OC_Config::getValue('blacklisted_files', array('.htaccess'));
$filename = strtolower(basename($filename));
return (in_array($filename, $blacklist));
}
/**
* following functions are equivalent to their php builtin equivalents for arguments/return values.
*/