diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-04-01 20:44:29 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-04-07 08:48:00 +0200 |
commit | 1e086064f5b7ebf2d00d024874a1ecf4cf9d13b5 (patch) | |
tree | d723c19000a7971215e6fee12a468ffc9cf3c04f /lib/private/legacy/hook.php | |
parent | 9895aff4d92a738ea3248a1c03442e83fab02643 (diff) | |
download | nextcloud-server-1e086064f5b7ebf2d00d024874a1ecf4cf9d13b5.tar.gz nextcloud-server-1e086064f5b7ebf2d00d024874a1ecf4cf9d13b5.zip |
Move legacy classes from PSR0 to PSR4
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/private/legacy/hook.php')
-rw-r--r-- | lib/private/legacy/hook.php | 151 |
1 files changed, 0 insertions, 151 deletions
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 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Bart Visscher <bartv@thisnet.nl> - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @author Jakob Sack <mail@jakobsack.de> - * @author Jörn Friedrich Dreyer <jfd@butonic.de> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Robin McCorkell <robin@mccorkell.me.uk> - * @author Sam Tuke <mail@samtuke.com> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @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 <http://www.gnu.org/licenses/> - * - */ - -/** - * @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; - } -} |