/
home
/
techb158
/
public_html
/
wp-content
/
plugins
/
kirki
/
app
/
FormActions
/
/home/techb158/public_html/wp-content/plugins/kirki/app/FormActions
mkdir
upload
Name
Size
Mode
Actions
Actions/
-
0755
rm
FormActionDispatcher.php
1596
0644
edit
dl
rm
Edit:
/home/techb158/public_html/wp-content/plugins/kirki/app/FormActions/FormActionDispatcher.php
(1596B)
<?php namespace Kirki\App\FormActions; defined('ABSPATH') || exit; use Kirki\App\DTO\Form\FormConfigDTO; use function Kirki\Framework\app; /** * Routes each configured form action to the handler registered for its type. * * Only the types a submission actually configures are resolved, so a form that * uses one action type never instantiates the others' handlers. */ class FormActionDispatcher { /** * @var array<string, class-string> Action type => handler class. */ protected $handler_map; /** * @param array<string, class-string> $handler_map Action type => handler class. */ public function __construct(array $handler_map) { $this->handler_map = $handler_map; } /** * Dispatch every configured action to its handler. * * @param array $form_data The submission data. * @param FormConfigDTO $form_config The form configuration. * @return bool Whether every dispatched action succeeded. * @throws Exception on error */ public function dispatch(array $form_data, FormConfigDTO $form_config) { $success = true; $handlers = []; foreach ($form_config->actions as $action) { $type = $action['type'] ?? null; if (!$type || !isset($this->handler_map[$type])) { continue; } $handler = $handlers[$type] ?? ($handlers[$type] = app($this->handler_map[$type])); $success = $handler->handle($action, $form_data, $form_config) && $success; } return $success; } }
Save
cmd:
run