@@ -53,8 +53,8 @@ class OC_Hook {
5353 ['\OC\Files\Storage\Shared ' ,'fopen ' ],
5454 ['\OC\Files\Storage\Shared ' ,'file_get_contents ' ],
5555 ['\OC\Files\Storage\Shared ' ,'file_put_contents ' ],
56- [' \OCA\Files_Trashbin\Trashbin ' ,'post_moveToTrash ' ],
57- [' \OCA\Files_Trashbin\Trashbin ' ,'post_restore ' ],
56+ [\OCA \Files_Trashbin \Trashbin::class ,'post_moveToTrash ' ],
57+ [\OCA \Files_Trashbin \Trashbin::class ,'post_restore ' ],
5858 ['\OCP\Trashbin ' ,'preDeleteAll ' ],
5959 ['\OCP\Trashbin ' ,'deleteAll ' ],
6060 ['\OCP\Versions ' ,'rollback ' ],
@@ -73,8 +73,8 @@ class OC_Hook {
7373 ['\OC\User ' ,'assignedUserId ' ],
7474 ['\OC\User ' ,'preUnassignedUserId ' ],
7575 ['\OC\User ' ,'postUnassignedUserId ' ],
76- [' \ OC\Files\Cache\Scanner' ,'scan_file ' ],
77- [' \ OC\Files\Cache\Scanner' ,'post_scan_file ' ],
76+ [OC \Files \Cache \Scanner::class ,'scan_file ' ],
77+ [OC \Files \Cache \Scanner::class ,'post_scan_file ' ],
7878 ['Scanner ' ,'removeFromCache ' ],
7979 ['Scanner ' ,'addToCache ' ],
8080 ['Scanner ' ,'correctFolderSize ' ],
@@ -89,13 +89,15 @@ class OC_Hook {
8989 * @param string $signalName name of signal
9090 * @param string|object $slotClass class name of slot
9191 * @param string $slotName name of slot
92- * @return bool
9392 *
9493 * This function makes it very easy to connect to use hooks.
9594 *
9695 * TODO: write example
9796 */
98- public static function connect ($ signalClass , $ signalName , $ slotClass , $ slotName ) {
97+ public static function connect (string $ signalClass , string $ signalName , string |object $ slotClass , string $ slotName ): bool {
98+ if (str_starts_with ($ signalClass , '/ ' )) {
99+ $ signalName = substr ($ signalClass , 1 );
100+ }
99101 $ found = array_find (self ::$ allowList , function ($ allowed ) use ($ signalClass , $ signalName ) {
100102 [$ allowedClass , $ allowedSignal ] = $ allowed ;
101103 return $ allowedClass === $ signalClass && $ allowedSignal === $ signalName ;
@@ -143,7 +145,10 @@ public static function connect($signalClass, $signalName, $slotClass, $slotName)
143145 *
144146 * TODO: write example
145147 */
146- public static function emit ($ signalClass , $ signalName , $ params = []) {
148+ public static function emit (string $ signalClass , string $ signalName , $ params = []): bool {
149+ if (str_starts_with ($ signalClass , '/ ' )) {
150+ $ signalName = substr ($ signalClass , 1 );
151+ }
147152 // Return false if no hook handlers are listening to this
148153 // emitting class
149154 if (!array_key_exists ($ signalClass , self ::$ registered )) {
@@ -176,12 +181,13 @@ public static function emit($signalClass, $signalName, $params = []) {
176181 }
177182
178183 /**
179- * clear hooks
180- * @param string $signalClass
181- * @param string $signalName
184+ * Clear hooks
182185 */
183- public static function clear ($ signalClass = '' , $ signalName = '' ) {
186+ public static function clear (string $ signalClass = '' , string $ signalName = '' ): void {
184187 if ($ signalClass ) {
188+ if (str_starts_with ($ signalClass , '/ ' )) {
189+ $ signalName = substr ($ signalClass , 1 );
190+ }
185191 if ($ signalName ) {
186192 self ::$ registered [$ signalClass ][$ signalName ] = [];
187193 } else {
@@ -196,7 +202,7 @@ public static function clear($signalClass = '', $signalName = '') {
196202 * DO NOT USE!
197203 * For unit tests ONLY!
198204 */
199- public static function getHooks () {
205+ public static function getHooks (): array {
200206 return self ::$ registered ;
201207 }
202208}
0 commit comments