diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-02-08 00:11:54 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-02-08 00:11:54 +0100 |
commit | f93f9dd50cce6b6e2ed4eeca2d34b2bac82e0350 (patch) | |
tree | c76b2eabb63ed308eb882468cb2a74042e6f9d53 /lib/hook.php | |
parent | 697536cf6ad1c9a862c32605b807172dfa680d22 (diff) | |
parent | 3bd33b69a1c37cee5c3d180ec8952a611aabb4d1 (diff) | |
download | nextcloud-server-f93f9dd50cce6b6e2ed4eeca2d34b2bac82e0350.tar.gz nextcloud-server-f93f9dd50cce6b6e2ed4eeca2d34b2bac82e0350.zip |
merge master into trash_fileactions
Diffstat (limited to 'lib/hook.php')
-rw-r--r-- | lib/hook.php | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/hook.php b/lib/hook.php index 4da331bb5d8..e30aefb5e18 100644 --- a/lib/hook.php +++ b/lib/hook.php @@ -20,19 +20,22 @@ class OC_Hook{ * TODO: write example */ static public function connect( $signalclass, $signalname, $slotclass, $slotname ) { - // Create the data structure + // If we're trying to connect to an emitting class that isn't + // yet registered, register it if( !array_key_exists( $signalclass, self::$registered )) { self::$registered[$signalclass] = array(); } - if( !array_key_exists( $signalname, self::$registered[$signalclass] )) { + // If we're trying to connect to an emitting method that isn't + // yet registered, register it with the emitting class + if( !array_key_exists( $signalname, self::$registered[$signalclass] )) { self::$registered[$signalclass][$signalname] = array(); } - - // register hook + + // Connect the hook handler to the requested emitter self::$registered[$signalclass][$signalname][] = array( "class" => $slotclass, "name" => $slotname ); - + // No chance for failure ;-) return true; } @@ -49,14 +52,19 @@ class OC_Hook{ * TODO: write example */ static public function emit( $signalclass, $signalname, $params = array()) { - // Return false if there are no slots + + // Return false if no hook handlers are listening to this + // emitting class if( !array_key_exists( $signalclass, self::$registered )) { return false; } + + // Return false if no hook handlers are listening to this + // emitting method if( !array_key_exists( $signalname, self::$registered[$signalclass] )) { return false; } - + // Call all slots foreach( self::$registered[$signalclass][$signalname] as $i ) { try { |