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
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}
params: none

View file

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