Include active form in onPageTask and onPageAction events (defaults to null)

This commit is contained in:
Matias Griese 2021-07-26 14:39:40 +03:00
parent ab9783102e
commit 506c74de55
2 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,8 @@
# v1.7.19
## mm/dd/2021
1. [](#new)
* Include active form in `onPageTask` and `onPageAction` events (defaults to `null`)
1. [](#improved)
* Added meta support for `UploadedFile` class
* Add `setCurrent()` method to Page Collection [#3398](https://github.com/getgrav/grav/pull/3398)

View File

@ -10,6 +10,7 @@
namespace Grav\Common\Processors;
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Plugin\Form\Forms;
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
@ -65,12 +66,17 @@ class PagesProcessor extends ProcessorBase
$task = $this->container['task'];
$action = $this->container['action'];
/** @var Forms $forms */
$forms = $this->container['forms'] ?? null;
$form = $forms ? $forms->getActiveForm() : null;
if ($task) {
$event = new Event(['task' => $task, 'page' => $page]);
$event = new Event(['task' => $task, 'page' => $page, 'form' => $form]);
$this->container->fireEvent('onPageTask', $event);
$this->container->fireEvent('onPageTask.' . $task, $event);
} elseif ($action) {
$event = new Event(['action' => $action, 'page' => $page]);
$event = new Event(['action' => $action, 'page' => $page, 'form' => $form]);
$this->container->fireEvent('onPageAction', $event);
$this->container->fireEvent('onPageAction.' . $action, $event);
}