Smarter code for OC_FileProxy
Conflicts: lib/fileproxy.php
This commit is contained in:
parent
598a090db4
commit
bb649dd0d5
|
@ -42,16 +42,7 @@ class OC_FileProxy{
|
||||||
public static $enabled=true;
|
public static $enabled=true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check if this proxy implments a specific proxy operation
|
* fallback function when a proxy operation is not implemented
|
||||||
* @param string #proxy name of the proxy operation
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function provides($operation){
|
|
||||||
return method_exists($this,$operation);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* fallback function when a proxy operation is not implement
|
|
||||||
* @param string $function the name of the proxy operation
|
* @param string $function the name of the proxy operation
|
||||||
* @param mixed
|
* @param mixed
|
||||||
*
|
*
|
||||||
|
@ -73,11 +64,10 @@ class OC_FileProxy{
|
||||||
self::$proxies[]=$proxy;
|
self::$proxies[]=$proxy;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getProxies($operation,$post){
|
public static function getProxies($operation){
|
||||||
$operation=(($post)?'post':'pre').$operation;
|
|
||||||
$proxies=array();
|
$proxies=array();
|
||||||
foreach(self::$proxies as $proxy){
|
foreach(self::$proxies as $proxy){
|
||||||
if($proxy->provides($operation)){
|
if(method_exists($proxy,$operation)){
|
||||||
$proxies[]=$proxy;
|
$proxies[]=$proxy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -88,8 +78,8 @@ class OC_FileProxy{
|
||||||
if(!self::$enabled){
|
if(!self::$enabled){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
$proxies=self::getProxies($operation,false);
|
|
||||||
$operation='pre'.$operation;
|
$operation='pre'.$operation;
|
||||||
|
$proxies=self::getProxies($operation);
|
||||||
foreach($proxies as $proxy){
|
foreach($proxies as $proxy){
|
||||||
if(!is_null($filepath2)){
|
if(!is_null($filepath2)){
|
||||||
if($proxy->$operation($filepath,$filepath2)===false){
|
if($proxy->$operation($filepath,$filepath2)===false){
|
||||||
|
@ -108,8 +98,8 @@ class OC_FileProxy{
|
||||||
if(!self::$enabled){
|
if(!self::$enabled){
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
$proxies=self::getProxies($operation,true);
|
|
||||||
$operation='post'.$operation;
|
$operation='post'.$operation;
|
||||||
|
$proxies=self::getProxies($operation);
|
||||||
foreach($proxies as $proxy){
|
foreach($proxies as $proxy){
|
||||||
$result=$proxy->$operation($path,$result);
|
$result=$proxy->$operation($path,$result);
|
||||||
}
|
}
|
||||||
|
@ -119,4 +109,4 @@ class OC_FileProxy{
|
||||||
public static function clearProxies(){
|
public static function clearProxies(){
|
||||||
self::$proxies=array();
|
self::$proxies=array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue