From 04f3133f277cd64ae1cdaebe1d46f4b71d68fe29 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Sun, 22 Sep 2024 11:55:57 +0200 Subject: [PATCH] Some small idea changes --- .../libraries/RainLoop/Plugins/Manager.php | 30 ++++++++++++++++++- .../libraries/snappymail/sasl/oauthbearer.php | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Manager.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Manager.php index c16379b1a..58b1328ec 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Manager.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Manager.php @@ -300,6 +300,30 @@ class Manager return $this; } +/* + private static function getCallableName(callable $callable) { + if (\is_string($callable)) { + if (\str_contains($callable, '::')) { + return '[static] ' . $callable; + } + return '[function] ' . $callable; + } + if (\is_array($callable)) { + if (\is_object($callable[0])) { + return '[method] ' . \get_class($callable[0]) . '->' . $callable[1]; + } + return '[static] ' . $callable[0] . '::' . $callable[1]; + } + if ($callable instanceof \Closure) { + return '[closure]'; + } + if (\is_object($callable)) { + return '[invokable] ' . \get_class($callable); + } + return '[unknown]'; + } +*/ + public function RunHook(string $sHookName, array $aArg = array(), bool $bLogHook = true) : self { if ($this->bIsEnabled) { @@ -307,9 +331,13 @@ class Manager if (isset($this->aHooks[$sHookName])) { if ($bLogHook) { $this->WriteLog('Hook: '.$sHookName, \LOG_INFO); +// $this->WriteLog('Hooks: '.\implode(',', \array_map('self::getCallableName', $this->aHooks[$sHookName])), \LOG_DEBUG); } - foreach ($this->aHooks[$sHookName] as $mCallback) { + foreach ($this->aHooks[$sHookName] as $mCallback) try { $mCallback(...$aArg); + } catch (\Throwable $e) { +// $this->WriteLog("Hook {$sHookName} {$e->getMessage()}\n".static::getCallableName($mCallback), \LOG_ERR); + throw $e; } } } diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/sasl/oauthbearer.php b/snappymail/v/0.0.0/app/libraries/snappymail/sasl/oauthbearer.php index 8f71485e6..8f2bd297f 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/sasl/oauthbearer.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/sasl/oauthbearer.php @@ -14,6 +14,8 @@ class OAuthBearer extends \SnappyMail\SASL ?string $authzid = null ) : string { + // add host and port? + //return $this->encode("n,a={$username},\x01host={$host}\x01port={$port}\x01auth=Bearer {$accessToken}\x01\x01"); return $this->encode("n,a={$username},\x01auth=Bearer {$accessToken}\x01\x01"); }