From 1e086064f5b7ebf2d00d024874a1ecf4cf9d13b5 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Wed, 1 Apr 2020 20:44:29 +0200 Subject: Move legacy classes from PSR0 to PSR4 Signed-off-by: Christoph Wurst --- lib/private/legacy/hook.php | 151 -------------------------------------------- 1 file changed, 151 deletions(-) delete mode 100644 lib/private/legacy/hook.php (limited to 'lib/private/legacy/hook.php') diff --git a/lib/private/legacy/hook.php b/lib/private/legacy/hook.php deleted file mode 100644 index 2918dd4282f..00000000000 --- a/lib/private/legacy/hook.php +++ /dev/null @@ -1,151 +0,0 @@ - - * @author Christoph Wurst - * @author Jakob Sack - * @author Jörn Friedrich Dreyer - * @author Lukas Reschke - * @author Morris Jobke - * @author Robin Appelman - * @author Robin McCorkell - * @author Sam Tuke - * @author Thomas Müller - * @author Vincent Petry - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -/** - * @deprecated 18.0.0 use events and the \OCP\EventDispatcher\IEventDispatcher service - */ -class OC_Hook { - public static $thrownExceptions = []; - - static private $registered = []; - - /** - * connects a function to a hook - * - * @param string $signalClass class name of emitter - * @param string $signalName name of signal - * @param string|object $slotClass class name of slot - * @param string $slotName name of slot - * @return bool - * - * This function makes it very easy to connect to use hooks. - * - * TODO: write example - */ - static public function connect($signalClass, $signalName, $slotClass, $slotName ) { - // 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] = []; - } - // 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] = []; - } - - // don't connect hooks twice - foreach (self::$registered[$signalClass][$signalName] as $hook) { - if ($hook['class'] === $slotClass and $hook['name'] === $slotName) { - return false; - } - } - // Connect the hook handler to the requested emitter - self::$registered[$signalClass][$signalName][] = [ - "class" => $slotClass, - "name" => $slotName - ]; - - // No chance for failure ;-) - return true; - } - - /** - * emits a signal - * - * @param string $signalClass class name of emitter - * @param string $signalName name of signal - * @param mixed $params default: array() array with additional data - * @return bool true if slots exists or false if not - * @throws \OC\HintException - * @throws \OC\ServerNotAvailableException Emits a signal. To get data from the slot use references! - * - * TODO: write example - */ - static public function emit($signalClass, $signalName, $params = []) { - - // 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 { - call_user_func( [ $i["class"], $i["name"] ], $params ); - } catch (Exception $e){ - self::$thrownExceptions[] = $e; - \OC::$server->getLogger()->logException($e); - if($e instanceof \OC\HintException) { - throw $e; - } - if($e instanceof \OC\ServerNotAvailableException) { - throw $e; - } - } - } - - return true; - } - - /** - * clear hooks - * @param string $signalClass - * @param string $signalName - */ - static public function clear($signalClass='', $signalName='') { - if ($signalClass) { - if ($signalName) { - self::$registered[$signalClass][$signalName]=[]; - }else{ - self::$registered[$signalClass]=[]; - } - }else{ - self::$registered=[]; - } - } - - /** - * DO NOT USE! - * For unit tests ONLY! - */ - static public function getHooks() { - return self::$registered; - } -} -- cgit v1.2.3