Fix filesystem hash, no longer using basicOperation()
Conflicts: lib/filesystemview.php
This commit is contained in:
parent
099b16350f
commit
f328f53ec1
|
@ -456,7 +456,7 @@ class OC_Filestorage_Shared extends OC_Filestorage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hash($type, $path, $raw) {
|
public function hash($type, $path, $raw = false) {
|
||||||
$source = $this->getSource($path);
|
$source = $this->getSource($path);
|
||||||
if ($source) {
|
if ($source) {
|
||||||
$storage = OC_Filesystem::getStorage($source);
|
$storage = OC_Filesystem::getStorage($source);
|
||||||
|
|
|
@ -45,7 +45,7 @@ abstract class OC_Filestorage{
|
||||||
abstract public function copy($path1,$path2);
|
abstract public function copy($path1,$path2);
|
||||||
abstract public function fopen($path,$mode);
|
abstract public function fopen($path,$mode);
|
||||||
abstract public function getMimeType($path);
|
abstract public function getMimeType($path);
|
||||||
abstract public function hash($type,$path,$raw);
|
abstract public function hash($type,$path,$raw = false);
|
||||||
abstract public function free_space($path);
|
abstract public function free_space($path);
|
||||||
abstract public function search($query);
|
abstract public function search($query);
|
||||||
abstract public function touch($path, $mtime=null);
|
abstract public function touch($path, $mtime=null);
|
||||||
|
|
|
@ -110,7 +110,7 @@ abstract class OC_Filestorage_Common extends OC_Filestorage {
|
||||||
unlink($tmpFile);
|
unlink($tmpFile);
|
||||||
return $mime;
|
return $mime;
|
||||||
}
|
}
|
||||||
public function hash($type,$path,$raw){
|
public function hash($type,$path,$raw = false){
|
||||||
$tmpFile=$this->getLocalFile();
|
$tmpFile=$this->getLocalFile();
|
||||||
$hash=hash($type,$tmpFile,$raw);
|
$hash=hash($type,$tmpFile,$raw);
|
||||||
unlink($tmpFile);
|
unlink($tmpFile);
|
||||||
|
|
|
@ -157,7 +157,7 @@ class OC_Filestorage_Local extends OC_Filestorage{
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hash($type,$path,$raw){
|
public function hash($type,$path,$raw = false){
|
||||||
return hash_file($type,$this->datadir.$path,$raw);
|
return hash_file($type,$this->datadir.$path,$raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -458,8 +458,8 @@ class OC_Filesystem{
|
||||||
static public function getMimeType($path){
|
static public function getMimeType($path){
|
||||||
return self::$defaultInstance->getMimeType($path);
|
return self::$defaultInstance->getMimeType($path);
|
||||||
}
|
}
|
||||||
static public function hash($type,$path){
|
static public function hash($type,$path, $raw = false){
|
||||||
return self::$defaultInstance->hash($type,$path);
|
return self::$defaultInstance->hash($type,$path, $raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
static public function free_space($path='/'){
|
static public function free_space($path='/'){
|
||||||
|
|
|
@ -366,8 +366,27 @@ class OC_FilesystemView {
|
||||||
public function getMimeType($path){
|
public function getMimeType($path){
|
||||||
return $this->basicOperation('getMimeType',$path);
|
return $this->basicOperation('getMimeType',$path);
|
||||||
}
|
}
|
||||||
public function hash($type,$path){
|
public function hash($type, $path, $raw = false) {
|
||||||
return $this->basicOperation('hash',$path,array('read'));
|
$absolutePath = $this->getAbsolutePath($path);
|
||||||
|
if (OC_FileProxy::runPreProxies('hash', $absolutePath) && OC_Filesystem::isValidPath($path)) {
|
||||||
|
$path = $this->getRelativePath($absolutePath);
|
||||||
|
if ($path == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (OC_Filesystem::$loaded && $this->fakeRoot == OC_Filesystem::getRoot()) {
|
||||||
|
OC_Hook::emit(
|
||||||
|
OC_Filesystem::CLASSNAME,
|
||||||
|
OC_Filesystem::signal_read,
|
||||||
|
array( OC_Filesystem::signal_param_path => $path)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if ($storage = $this->getStorage($path)) {
|
||||||
|
$result = $storage->hash($type, $this->getInternalPath($path), $raw);
|
||||||
|
$result = OC_FileProxy::runPostProxies('hash', $absolutePath, $result);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function free_space($path='/'){
|
public function free_space($path='/'){
|
||||||
|
|
Loading…
Reference in New Issue