|
|
@ -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(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|