Add extension JsonHook info

This commit is contained in:
the-djmaze 2022-12-08 09:37:39 +01:00
parent 477158e54a
commit c9b1098236
2 changed files with 8 additions and 22 deletions

View file

@ -242,6 +242,9 @@ $Plugin->addHook('hook.name', 'functionName');
## Json service actions ## Json service actions
Called by RainLoop\ServiceActions::ServiceJson() Called by RainLoop\ServiceActions::ServiceJson()
{actionname} is one of the RainLoop\Actions::Do{ActionName}(),
or an extension action as "Plugin{ActionName}" added with Plugin::addJsonHook()
and called in JavaScript using rl.pluginRemoteRequest().
### json.before-{actionname} ### json.before-{actionname}
params: none params: none

View file

@ -378,21 +378,12 @@ class Manager
return $bResult; return $bResult;
} }
/** public function AddAdditionalJsonAction(string $sActionName, callable $mCallback) : self
* @param mixed $mCallback
*/
public function AddAdditionalJsonAction(string $sActionName, $mCallback) : self
{ {
if ($this->bIsEnabled && \is_callable($mCallback) && \strlen($sActionName)) $sActionName = "DoPlugin{$sActionName}";
{ if ($this->bIsEnabled && \strlen($sActionName) && !isset($this->aAdditionalJson[$sActionName])) {
$sActionName = 'DoPlugin'.$sActionName; $this->aAdditionalJson[$sActionName] = $mCallback;
if (!isset($this->aAdditionalJson[$sActionName]))
{
$this->aAdditionalJson[$sActionName] = $mCallback;
}
} }
return $this; return $this;
} }
@ -406,15 +397,7 @@ class Manager
*/ */
public function RunAdditionalJson(string $sActionName) public function RunAdditionalJson(string $sActionName)
{ {
if ($this->bIsEnabled) return $this->HasAdditionalJson($sActionName) ? $this->aAdditionalJson[$sActionName]() : false;
{
if (isset($this->aAdditionalJson[$sActionName]))
{
return $this->aAdditionalJson[$sActionName]();
}
}
return false;
} }
/** /**