From 4c0d6dc9e7842e1a21e5c01f50e0b61edffa34bf Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind1991@gmail.com>
Date: Fri, 22 Apr 2011 17:50:04 +0200
Subject: [PATCH] make OC_HOOKS actually work

---
 lib/base.php       | 10 +++++-----
 lib/filesystem.php | 12 ++++++++++++
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/lib/base.php b/lib/base.php
index 1ab9b23bcc..3f1bb6f314 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -91,9 +91,9 @@ require_once('plugin.php');
 
 $error=(count(OC_UTIL::checkServer())>0);
 
-if(!$error){
-	OC_PLUGIN::loadPlugins( "" );
-}
+// if(!$error){ //disable untill plugin system is proper converted to the new code base
+// 	OC_PLUGIN::loadPlugins( "" );
+// }
 
 OC_USER::setBackend( OC_CONFIG::getValue( "userbackend", "database" ));
 OC_GROUP::setBackend( OC_CONFIG::getValue( "groupbackend", "database" ));
@@ -191,7 +191,7 @@ class OC_UTIL {
 	 * @return array
 	 */
 	public static function getVersion(){
-		return array(1,2,0);
+		return array(1,60,0);
 	}
 
 	/**
@@ -406,7 +406,7 @@ class OC_HOOK{
 		}
 
 		// Call all slots
-		foreach( $registered[$signalclass][$signalname] as $i ){
+		foreach( self::$registered[$signalclass][$signalname] as $i ){
 			call_user_func( array( $i["class"], $i["name"] ), $params );
 		}
 
diff --git a/lib/filesystem.php b/lib/filesystem.php
index ca4d1a2c47..03fbecdc4c 100644
--- a/lib/filesystem.php
+++ b/lib/filesystem.php
@@ -194,6 +194,18 @@ class OC_FILESYSTEM{
 		}
 		return $foundMountPoint;
 	}
+	/**
+	* return the path to a local version of the file
+	* we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed
+	* @param string path
+	* @return string
+	*/
+	static public function getLocalFile($path){
+		$parent=substr($path,0,strrpos($path,'/'));
+		if(self::canRead($parent) and $storage=self::getStorage($path)){
+			return $storage->getLocalFile(self::getInternalPath($path));
+		}
+	}
 	
 	static public function mkdir($path){
 		$parent=substr($path,0,strrpos($path,'/'));
-- 
GitLab