From 5567228ffc99b790cbcb2e7767bc19614a63e2a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCder?= Date: Wed, 5 Jul 2023 08:42:32 +0200 Subject: [PATCH] Typo3v12 Alpha 2 (#78) * Added debugger output to template * Added PrintToScreenDebugger * boolval => filter_var * Added more DocBlocks * Split up GeneralOptions DocBlock * Added maxDepth support to PrintToScreenDebugger * Activate search --- Classes/Controller/FormController.php | 320 +---------- Classes/Debugger/AbstractDebugger.php | 5 +- Classes/Debugger/PrintToScreenDebugger.php | 58 ++ Classes/Debugger/VarDumpDebugger.php | 8 +- Classes/Definitions/Severity.php | 8 +- .../Config/Debugger/AbstractDebuggerModel.php | 21 +- .../Debugger/PrintToScreenDebuggerModel.php | 216 +++++++ .../Config/Debugger/VarDumpDebuggerModel.php | 25 +- .../Config/Finisher/MailFinisherModel.php | 2 +- .../Config/Finisher/RedirectFinisherModel.php | 4 +- Classes/Domain/Model/Config/FormModel.php | 277 ++++++++- .../Interceptor/AbstractInterceptorModel.php | 87 +++ .../Config/Logger/AbstractLoggerModel.php | 33 ++ .../Config/Logger/DatabaseLoggerModel.php | 26 + Classes/Domain/Model/Config/StepModel.php | 42 ++ .../Config/Validator/Field/FieldModel.php | 2 +- .../Example/HTML/DevExample.typoscript | 3 +- Documentation/.buildinfo | 2 +- .../.doctrees/Debuggers/Index.doctree | Bin 5543 -> 6671 bytes .../Debuggers/PrintToScreenDebugger.doctree | Bin 0 -> 21949 bytes .../Debuggers/VarDumpDebugger.doctree | Bin 24444 -> 25099 bytes .../.doctrees/GeneralOptions/Index.doctree | Bin 52051 -> 3481 bytes .../GeneralOptions/PredefinedForm.doctree | Bin 0 -> 29747 bytes .../.doctrees/GeneralOptions/Settings.doctree | Bin 0 -> 20435 bytes .../.doctrees/GeneralOptions/Step.doctree | Bin 0 -> 7737 bytes Documentation/.doctrees/Index.doctree | Bin 7631 -> 7684 bytes .../.doctrees/Interceptors/Index.doctree | Bin 0 -> 8053 bytes .../Interceptors/InitInterceptors.doctree | Bin 0 -> 4752 bytes .../Interceptors/SaveInterceptors.doctree | Bin 0 -> 4828 bytes .../.doctrees/Loggers/DatabaseLogger.doctree | Bin 0 -> 4744 bytes Documentation/.doctrees/Loggers/Index.doctree | Bin 0 -> 6371 bytes Documentation/.doctrees/environment.pickle | Bin 266191 -> 339168 bytes Documentation/Debuggers/Index.html | 41 +- .../Debuggers/PrintToScreenDebugger.html | 303 ++++++++++ Documentation/Debuggers/VarDumpDebugger.html | 31 +- Documentation/ErrorChecks/General.html | 11 + Documentation/ErrorChecks/General/Email.html | 11 + .../ErrorChecks/General/Required.html | 11 + Documentation/ErrorChecks/Index.html | 11 + Documentation/ErrorChecks/Strings.html | 11 + .../ErrorChecks/Strings/ContainsOne.html | 11 + .../ErrorChecks/Strings/MaxLength.html | 11 + Documentation/Finishers/Index.html | 11 + Documentation/Finishers/MailFinisher.html | 11 + Documentation/Finishers/RedirectFinisher.html | 15 +- Documentation/GeneralOptions/Index.html | 527 +----------------- .../GeneralOptions/PredefinedForm.html | 405 ++++++++++++++ Documentation/GeneralOptions/Settings.html | 304 ++++++++++ Documentation/GeneralOptions/Step.html | 164 ++++++ Documentation/Index.html | 13 +- Documentation/Installation/Index.html | 11 + Documentation/Interceptors/Index.html | 142 +++++ .../Interceptors/InitInterceptors.html | 139 +++++ .../Interceptors/SaveInterceptors.html | 139 +++++ Documentation/Loggers/DatabaseLogger.html | 138 +++++ Documentation/Loggers/Index.html | 140 +++++ Documentation/Migration/Index.html | 11 + Documentation/PreProcessors/Index.html | 15 +- .../SetSelectOptionsPreProcessor.html | 11 + .../Validators/DefaultValidator.html | 11 + Documentation/Validators/Index.html | 11 + .../_sources/Debuggers/Index.rst.txt | 21 +- .../Debuggers/PrintToScreenDebugger.rst.txt | 155 ++++++ .../Debuggers/VarDumpDebugger.rst.txt | 17 + .../_sources/GeneralOptions/Index.rst.txt | 453 +-------------- .../GeneralOptions/PredefinedForm.rst.txt | 256 +++++++++ .../_sources/GeneralOptions/Settings.rst.txt | 164 ++++++ .../_sources/GeneralOptions/Step.rst.txt | 38 ++ Documentation/_sources/Index.rst.txt | 2 + .../_sources/Interceptors/Index.rst.txt | 31 ++ .../Interceptors/InitInterceptors.rst.txt | 22 + .../Interceptors/SaveInterceptors.rst.txt | 22 + .../_sources/Loggers/DatabaseLogger.rst.txt | 22 + Documentation/_sources/Loggers/Index.rst.txt | 29 + .../_sphinx_javascript_frameworks_compat.js | 123 ++++ Documentation/_static/jquery.js | 2 + Documentation/genindex.html | 11 + Documentation/objects.inv | Bin 842 -> 1068 bytes Documentation/search.html | 11 + Documentation/searchindex.js | 2 +- Resources/Private/Templates/Form/Form.html | 1 + 81 files changed, 3857 insertions(+), 1334 deletions(-) create mode 100644 Classes/Debugger/PrintToScreenDebugger.php create mode 100644 Classes/Domain/Model/Config/Debugger/PrintToScreenDebuggerModel.php create mode 100644 Documentation/.doctrees/Debuggers/PrintToScreenDebugger.doctree create mode 100644 Documentation/.doctrees/GeneralOptions/PredefinedForm.doctree create mode 100644 Documentation/.doctrees/GeneralOptions/Settings.doctree create mode 100644 Documentation/.doctrees/GeneralOptions/Step.doctree create mode 100644 Documentation/.doctrees/Interceptors/Index.doctree create mode 100644 Documentation/.doctrees/Interceptors/InitInterceptors.doctree create mode 100644 Documentation/.doctrees/Interceptors/SaveInterceptors.doctree create mode 100644 Documentation/.doctrees/Loggers/DatabaseLogger.doctree create mode 100644 Documentation/.doctrees/Loggers/Index.doctree create mode 100644 Documentation/Debuggers/PrintToScreenDebugger.html create mode 100644 Documentation/GeneralOptions/PredefinedForm.html create mode 100644 Documentation/GeneralOptions/Settings.html create mode 100644 Documentation/GeneralOptions/Step.html create mode 100644 Documentation/Interceptors/Index.html create mode 100644 Documentation/Interceptors/InitInterceptors.html create mode 100644 Documentation/Interceptors/SaveInterceptors.html create mode 100644 Documentation/Loggers/DatabaseLogger.html create mode 100644 Documentation/Loggers/Index.html create mode 100644 Documentation/_sources/Debuggers/PrintToScreenDebugger.rst.txt create mode 100644 Documentation/_sources/GeneralOptions/PredefinedForm.rst.txt create mode 100644 Documentation/_sources/GeneralOptions/Settings.rst.txt create mode 100644 Documentation/_sources/GeneralOptions/Step.rst.txt create mode 100644 Documentation/_sources/Interceptors/Index.rst.txt create mode 100644 Documentation/_sources/Interceptors/InitInterceptors.rst.txt create mode 100644 Documentation/_sources/Interceptors/SaveInterceptors.rst.txt create mode 100644 Documentation/_sources/Loggers/DatabaseLogger.rst.txt create mode 100644 Documentation/_sources/Loggers/Index.rst.txt create mode 100644 Documentation/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 Documentation/_static/jquery.js diff --git a/Classes/Controller/FormController.php b/Classes/Controller/FormController.php index 8e2ade0e..794eed4f 100644 --- a/Classes/Controller/FormController.php +++ b/Classes/Controller/FormController.php @@ -105,8 +105,6 @@ *Documentation:End */ /** Documentation:Start:GeneralOptions/Index.rst. - * - *.. include:: /Includes.rst.txt * *.. _general-options: * @@ -114,11 +112,32 @@ *General Options *=============== * + * *All forms are build via TypoScript as predefined forms. * + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + * Settings + * PredefinedForm + * Step + * + *Documentation:End + */ +/** Documentation:Start:GeneralOptions/Settings.rst. + * + *.. include:: /Includes.rst.txt + * + *.. _settings: + * + *======== *Settings *======== * + *All forms are build via TypoScript as predefined forms. + * *.. list-table:: * :align: left * :width: 100% @@ -197,7 +216,7 @@ * :stub-columns: 0 * * * - **predefinedForm** - * - See `Predefined Forms `__ + * - See :ref:`Predefined-Form` * * - * - * * - *Mandatory* @@ -273,296 +292,6 @@ * * - *Data Type* * - MailModel * - *Predefined Forms - *================ - * - *.. _predefined-forms-label: - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **TypoScript Path** - * - plugin.tx_formhandler_form.settings.predefinedForms.FormName - * - *.. code-block:: typoscript - * - * Example Code: - * - * plugin.tx_formhandler_form.settings.predefinedForms.devExample { - * formId = DevExampleForm - * formName = Dev Example Form - * formValuesPrefix = DevExampleForm - * langFileDefault = locallang_example_form.xlf - * templateForm = DevExample/Default - * templateMailHtml = DevExample/MailHtml - * templateMailText = DevExample/MailText - * - * debuggers { - * } - * - * steps { - * 1 { - * templateForm = DevExampleForm/DevExampleHTMLStep1 - * validators { - * DefaultValidator { - * model = DefaultValidatorModel - * config { - * messageLimit = 1 - * messageLimits { - * 1.customer.email = 2 - * } - * fields { - * customer.fields { - * firstname.errorChecks { - * required { - * model = RequiredModel - * } - * maxLength { - * model = MaxLengthModel - * maxLength = 20 - * } - * } - * lastname.errorChecks { - * required { - * model = RequiredModel - * } - * maxLength { - * model = MaxLengthModel - * maxLength = 20 - * } - * } - * streetAddress.errorChecks { - * required { - * model = RequiredModel - * } - * } - * postalCode.errorChecks { - * required { - * model = RequiredModel - * } - * } - * city.errorChecks { - * required { - * model = RequiredModel - * } - * maxLength { - * model = MaxLengthModel - * maxLength = 70 - * } - * } - * country.errorChecks { - * required { - * model = RequiredModel - * } - * } - * telephone.errorChecks { - * required { - * model = RequiredModel - * } - * maxLength { - * model = MaxLengthModel - * maxLength = 20 - * } - * } - * email.errorChecks { - * required { - * model = RequiredModel - * } - * maxLength { - * model = MaxLengthModel - * maxLength = 50 - * } - * email { - * model = EmailModel - * } - * } - * } - * } - * } - * } - * } - * } - * } - * - * finishers { - * Mail { - * model = MailFinisherModel - * } - * Redirect { - * model = RedirectFinisherModel - * config { - * returns = true - * correctRedirectUrl = false - * additionalParams { - * postal_code = 1.customer.postalCode - * queryParam2 = valueIfNotFoundAsFieldName - * } - * } - * } - * } - * } - * - ***Properties** - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **formId** - * - Value of the id attribute of the form tag. - * * - - * - - * * - *Mandatory* - * - True - * * - *Data Type* - * - String - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **formName** - * - Value of the name shown in the dropdown list. - * * - - * - - * * - *Mandatory* - * - True - * * - *Data Type* - * - String - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **formValuesPrefix** - * - Prefix of form fields. Use this if you use a prefix for your forms to avoid conflicts with other plugins. Settings this option you will be able to use only the fieldname in all markers and do not need to add prefix. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - String - * * - *Default* - * - tx_formhandler_form - * * - *Note* - * - It is highly recommended to use this setting! - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **langFileDefault** - * - Path to default language file, can be altered as parameter by the form fields. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - String - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **debuggers** - * - A list of :ref:`Debuggers` for the predefined forms. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - Array`> - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **steps** - * - You can split a form into as many steps as you like and add as many :ref:`Validators` as you like to each step, but even if the form has just one step it must be defined to add :ref:`Validators`. - * * - - * - - * * - *Mandatory* - * - True (Only if a form has needs :ref:`Validators`, otherwise not.) - * * - *Data Type* - * - Array`__> - * * - *Note* - * - The key Integer in Array`__> starts at 1 for first step. - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **finishers** - * - A list of :ref:`Finishers` for the predefined forms. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - Array`> - * - *Step - *==== - * - *.. _step-label: - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **templateForm** - * - The template for a given step. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - String - * - *.. list-table:: - * :align: left - * :width: 100% - * :widths: 20 80 - * :header-rows: 0 - * :stub-columns: 0 - * - * * - **validators** - * - A list of :ref:`Validators` for a given step. - * * - - * - - * * - *Mandatory* - * - False - * * - *Data Type* - * - Array`> - * *Documentation:End */ class FormController extends ActionController { @@ -672,11 +401,12 @@ public function formAction(): ResponseInterface { } } - $this->formConfig->processDebugLog(); + $debugOutput = $this->formConfig->processDebugLog(); // Prepare output $this->view->assignMultiple( [ + 'debugOutput' => $debugOutput, 'fieldsRequired' => $this->fieldsRequired, 'fieldsErrors' => $this->formConfig->fieldsErrors, 'fieldSets' => $this->formConfig->fieldSets, @@ -800,7 +530,7 @@ private function formStepIsLast(): bool { private function formSubmitted(): bool { if (is_array($this->parsedBody[FormhandlerExtensionConfig::EXTENSION_KEY] ?? false)) { - return boolval($this->parsedBody[FormhandlerExtensionConfig::EXTENSION_KEY]['submitted'] ?? false); + return filter_var($this->parsedBody[FormhandlerExtensionConfig::EXTENSION_KEY]['submitted'] ?? false, FILTER_VALIDATE_BOOLEAN); } return false; diff --git a/Classes/Debugger/AbstractDebugger.php b/Classes/Debugger/AbstractDebugger.php index ff3d5f45..d0aa1503 100644 --- a/Classes/Debugger/AbstractDebugger.php +++ b/Classes/Debugger/AbstractDebugger.php @@ -5,7 +5,6 @@ namespace Typoheads\Formhandler\Debugger; use TYPO3\CMS\Core\SingletonInterface; -use Typoheads\Formhandler\Definitions\Severity; use Typoheads\Formhandler\Domain\Model\Config\Debugger\AbstractDebuggerModel; use Typoheads\Formhandler\Domain\Model\Config\FormModel; @@ -25,9 +24,9 @@ public function init( } /** - * @param array|object|string}>> $debugLog + * @param array|object|string}>> $debugLog */ abstract public function processDebugLog( array $debugLog, - ): void; + ): ?string; } diff --git a/Classes/Debugger/PrintToScreenDebugger.php b/Classes/Debugger/PrintToScreenDebugger.php new file mode 100644 index 00000000..33aa0b92 --- /dev/null +++ b/Classes/Debugger/PrintToScreenDebugger.php @@ -0,0 +1,58 @@ +debuggerConfig instanceof PrintToScreenDebuggerModel) { + return null; + } + if (!$this->debuggerConfig->active || 'html' != $this->formConfig->responseType) { + return null; + } + + $debugOutput = ''; + + foreach ($debugLog as $section => $logData) { + $debugOutput .= str_replace('|', $section, $this->debuggerConfig->sectionHeaderWrap); + $sectionContent = ''; + foreach ($logData as $messageData) { + $message = str_replace("\n", '
', $messageData['message']); + $message = str_replace('|', $message, $this->debuggerConfig->severityWrap[$messageData['severity']]); + + $sectionContent .= str_replace('|', $message, $this->debuggerConfig->messageWrap); + + if ($messageData['data']) { + $sectionContent .= trim(DebuggerUtility::var_dump($messageData['data'], '', $this->debuggerConfig->maxDepth, false, false, true)); + $sectionContent .= '
'; + } + } + $debugOutput .= str_replace('|', $sectionContent, $this->debuggerConfig->sectionWrap); + } + + return $debugOutput; + } +} diff --git a/Classes/Debugger/VarDumpDebugger.php b/Classes/Debugger/VarDumpDebugger.php index 4e1de165..98627808 100644 --- a/Classes/Debugger/VarDumpDebugger.php +++ b/Classes/Debugger/VarDumpDebugger.php @@ -10,12 +10,12 @@ class VarDumpDebugger extends AbstractDebugger { public function processDebugLog( array $debugLog, - ): void { + ): ?string { if (!$this->debuggerConfig instanceof VarDumpDebuggerModel) { - return; + return null; } if (!$this->debuggerConfig->active || 'html' != $this->formConfig->responseType) { - return; + return null; } DebuggerUtility::var_dump( @@ -28,5 +28,7 @@ public function processDebugLog( $this->debuggerConfig->blacklistedClassNames, $this->debuggerConfig->blacklistedPropertyNames, ); + + return null; } } diff --git a/Classes/Definitions/Severity.php b/Classes/Definitions/Severity.php index 68062612..68575d70 100644 --- a/Classes/Definitions/Severity.php +++ b/Classes/Definitions/Severity.php @@ -4,10 +4,10 @@ namespace Typoheads\Formhandler\Definitions; -enum Severity: int { - case Error = 3; +class Severity { + public const Error = 3; - case Info = 1; + public const Info = 1; - case Warning = 2; + public const Warning = 2; } diff --git a/Classes/Domain/Model/Config/Debugger/AbstractDebuggerModel.php b/Classes/Domain/Model/Config/Debugger/AbstractDebuggerModel.php index 87e7f962..bcb527f6 100644 --- a/Classes/Domain/Model/Config/Debugger/AbstractDebuggerModel.php +++ b/Classes/Domain/Model/Config/Debugger/AbstractDebuggerModel.php @@ -26,26 +26,17 @@ * * - **TypoScript Path** * - plugin.tx_formhandler_form.settings.predefinedForms.FormName * - *.. code-block:: typoscript - * - * Example Code: - * - * plugin.tx_formhandler_form.settings.predefinedForms.devExample { - * debuggers { - * VarDumpDebugger { - * model = VarDumpDebuggerModel - * config { - * active = true - * maxDepth = 20 - * } - * } - * } - * } + *:ref:`PrintToScreenDebugger` + * Will print out the debug messages to screen. + * + *:ref:`VarDumpDebugger` + * Will print out the debug messages to screen as VarDump. * *.. toctree:: * :maxdepth: 2 * :hidden: * + * PrintToScreenDebugger * VarDumpDebugger * *Documentation:End diff --git a/Classes/Domain/Model/Config/Debugger/PrintToScreenDebuggerModel.php b/Classes/Domain/Model/Config/Debugger/PrintToScreenDebuggerModel.php new file mode 100644 index 00000000..101741a7 --- /dev/null +++ b/Classes/Domain/Model/Config/Debugger/PrintToScreenDebuggerModel.php @@ -0,0 +1,216 @@ +| + * 2 = | + * 3 = | + * } + * } + * } + * } + * } + * + * + ***Properties** + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **active** + * - Status of the debugger + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Boolean + * * - *Default* + * - False + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **maxDepth** + * - Sets the max recursion depth of the dump. De- or increase the number according to your needs and memory limit. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Integer + * * - *Default* + * - 8 + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **messageWrap** + * - Wrap for a single debug message + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * * - *Default* + * -
|
+ * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **sectionHeaderWrap** + * - Wrap for a section header + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * * - *Default* + * -

|

+ * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **sectionWrap** + * - Wrap for a section (e.g. all log messages of a component are wrapped in a section) + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * * - *Default* + * -
|
+ * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **blacklistedPropertyNames** + * - Use this to configure different appearance of different log severity levels. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Array + * * - *Default* + * - | severityWrap { + * | 1 = | + * | 2 = | + * | 3 = | + * | } + * * - *Note* + * - The key Integer in Array is the severity level (1-3). + * + *Documentation:End + */ +class PrintToScreenDebuggerModel extends AbstractDebuggerModel { + public readonly bool $active; + + public readonly int $maxDepth; + + public readonly string $messageWrap; + + public readonly string $sectionHeaderWrap; + + public readonly string $sectionWrap; + + /** @var array */ + public readonly array $severityWrap; + + /** + * @param array $config + */ + public function __construct(array $config) { + $this->active = filter_var($config['active'] ?? false, FILTER_VALIDATE_BOOLEAN); + + $this->maxDepth = intval($config['maxDepth'] ?? 8); + + $this->messageWrap = strval($config['messageWrap'] ?? '
|
'); + $this->sectionHeaderWrap = strval($config['sectionHeaderWrap'] ?? '

|

'); + $this->sectionWrap = strval($config['sectionWrap'] ?? '
|
'); + + $SeverityInfoDefault = '|'; + $SeverityWarningDefault = '|'; + $SeverityErrorDefault = '|'; + + if (isset($config['severityWrap']) && is_array($config['severityWrap'])) { + $severityWrap[Severity::Info] = $config['severityWrap'][Severity::Info] ?? $SeverityInfoDefault; + $severityWrap[Severity::Warning] = $config['severityWrap'][Severity::Info] ?? $SeverityWarningDefault; + $severityWrap[Severity::Error] = $config['severityWrap'][Severity::Info] ?? $SeverityErrorDefault; + + $this->severityWrap = $severityWrap; + } else { + $severityWrap[Severity::Info] = $SeverityInfoDefault; + $severityWrap[Severity::Warning] = $SeverityWarningDefault; + $severityWrap[Severity::Error] = $SeverityErrorDefault; + $this->severityWrap = $severityWrap; + } + } + + public function class(): string { + return PrintToScreenDebugger::class; + } +} diff --git a/Classes/Domain/Model/Config/Debugger/VarDumpDebuggerModel.php b/Classes/Domain/Model/Config/Debugger/VarDumpDebuggerModel.php index 2822b00c..0cb5bbf5 100644 --- a/Classes/Domain/Model/Config/Debugger/VarDumpDebuggerModel.php +++ b/Classes/Domain/Model/Config/Debugger/VarDumpDebuggerModel.php @@ -26,6 +26,23 @@ * * - **TypoScript Path** * - plugin.tx_formhandler_form.settings.predefinedForms.[x].debuggers.VarDumpDebugger * + *.. code-block:: typoscript + * + * Example Code: + * + * plugin.tx_formhandler_form.settings.predefinedForms.devExample { + * debuggers { + * VarDumpDebugger { + * model = VarDumpDebuggerModel + * config { + * active = true + * maxDepth = 20 + * } + * } + * } + * } + * + * ***Properties** * *.. list-table:: @@ -197,8 +214,8 @@ class VarDumpDebuggerModel extends AbstractDebuggerModel { * @param array $config */ public function __construct(array $config) { - $this->active = boolval($config['active'] ?? false); - $this->ansiColors = boolval($config['ansiColors'] ?? true); + $this->active = filter_var($config['active'] ?? false, FILTER_VALIDATE_BOOLEAN); + $this->ansiColors = filter_var($config['ansiColors'] ?? true, FILTER_VALIDATE_BOOLEAN); if (isset($config['blacklistedClassNames']) && is_array($config['blacklistedClassNames'])) { $this->blacklistedClassNames = $config['blacklistedClassNames']; @@ -213,8 +230,8 @@ public function __construct(array $config) { } $this->maxDepth = intval($config['maxDepth'] ?? 8); - $this->plainText = boolval($config['plainText'] ?? false); - $this->return = boolval($config['return'] ?? false); + $this->plainText = filter_var($config['plainText'], FILTER_VALIDATE_BOOLEAN); + $this->return = filter_var($config['return'], FILTER_VALIDATE_BOOLEAN); if (isset($config['title'])) { $this->title = strval($config['title']); diff --git a/Classes/Domain/Model/Config/Finisher/MailFinisherModel.php b/Classes/Domain/Model/Config/Finisher/MailFinisherModel.php index 84ee32c9..7bf92be7 100644 --- a/Classes/Domain/Model/Config/Finisher/MailFinisherModel.php +++ b/Classes/Domain/Model/Config/Finisher/MailFinisherModel.php @@ -24,7 +24,7 @@ class MailFinisherModel extends AbstractFinisherModel { * @param array $settings */ public function __construct(array $settings) { - $this->returns = boolval($settings['returns'] ?? false); + $this->returns = filter_var($settings['returns'] ?? false, FILTER_VALIDATE_BOOLEAN); } public function class(): string { diff --git a/Classes/Domain/Model/Config/Finisher/RedirectFinisherModel.php b/Classes/Domain/Model/Config/Finisher/RedirectFinisherModel.php index 4eef6749..c4469cff 100644 --- a/Classes/Domain/Model/Config/Finisher/RedirectFinisherModel.php +++ b/Classes/Domain/Model/Config/Finisher/RedirectFinisherModel.php @@ -135,7 +135,7 @@ class RedirectFinisherModel extends AbstractFinisherModel { * @param array $settings */ public function __construct(array $settings) { - $this->returns = boolval($settings['returns'] ?? false); + $this->returns = filter_var($settings['returns'] ?? false, FILTER_VALIDATE_BOOLEAN); $additionalParams = []; if (is_array($settings['additionalParams'] ?? false)) { foreach ($settings['additionalParams'] as $queryParam => $valueOrFieldName) { @@ -144,7 +144,7 @@ public function __construct(array $settings) { } $this->additionalParams = $additionalParams; - $this->correctRedirectUrl = boolval($settings['correctRedirectUrl'] ?? false); + $this->correctRedirectUrl = filter_var($settings['correctRedirectUrl'] ?? false, FILTER_VALIDATE_BOOLEAN); $this->headerStatusCode = intval($settings['headerStatusCode'] ?? 303); } diff --git a/Classes/Domain/Model/Config/FormModel.php b/Classes/Domain/Model/Config/FormModel.php index b8d7f67b..59702683 100644 --- a/Classes/Domain/Model/Config/FormModel.php +++ b/Classes/Domain/Model/Config/FormModel.php @@ -18,6 +18,266 @@ use Typoheads\Formhandler\Session\AbstractSession; use Typoheads\Formhandler\Utility\Utility; +/** Documentation:Start:GeneralOptions/PredefinedForm.rst. + * + *.. _predefined-form: + * + *=============== + *Predefined Form + *=============== + * + * Predefine form settings and make them selectable in plugin record. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.FormName + * + *.. code-block:: typoscript + * + * Example Code: + * + * plugin.tx_formhandler_form.settings.predefinedForms.devExample { + * formId = DevExampleForm + * formName = Dev Example Form + * formValuesPrefix = DevExampleForm + * langFileDefault = locallang_example_form.xlf + * templateForm = DevExample/Default + * templateMailHtml = DevExample/MailHtml + * templateMailText = DevExample/MailText + * + * debuggers { + * } + * + * steps { + * 1 { + * templateForm = DevExampleForm/DevExampleHTMLStep1 + * validators { + * DefaultValidator { + * model = DefaultValidatorModel + * config { + * messageLimit = 1 + * messageLimits { + * 1.customer.email = 2 + * } + * fields { + * customer.fields { + * firstname.errorChecks { + * required { + * model = RequiredModel + * } + * maxLength { + * model = MaxLengthModel + * maxLength = 20 + * } + * } + * lastname.errorChecks { + * required { + * model = RequiredModel + * } + * maxLength { + * model = MaxLengthModel + * maxLength = 20 + * } + * } + * streetAddress.errorChecks { + * required { + * model = RequiredModel + * } + * } + * postalCode.errorChecks { + * required { + * model = RequiredModel + * } + * } + * city.errorChecks { + * required { + * model = RequiredModel + * } + * maxLength { + * model = MaxLengthModel + * maxLength = 70 + * } + * } + * country.errorChecks { + * required { + * model = RequiredModel + * } + * } + * telephone.errorChecks { + * required { + * model = RequiredModel + * } + * maxLength { + * model = MaxLengthModel + * maxLength = 20 + * } + * } + * email.errorChecks { + * required { + * model = RequiredModel + * } + * maxLength { + * model = MaxLengthModel + * maxLength = 50 + * } + * email { + * model = EmailModel + * } + * } + * } + * } + * } + * } + * } + * } + * } + * + * finishers { + * Mail { + * model = MailFinisherModel + * } + * Redirect { + * model = RedirectFinisherModel + * config { + * returns = true + * correctRedirectUrl = false + * additionalParams { + * postal_code = 1.customer.postalCode + * queryParam2 = valueIfNotFoundAsFieldName + * } + * } + * } + * } + * } + * + ***Properties** + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **formId** + * - Value of the id attribute of the form tag. + * * - + * - + * * - *Mandatory* + * - True + * * - *Data Type* + * - String + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **formName** + * - Value of the name shown in the dropdown list. + * * - + * - + * * - *Mandatory* + * - True + * * - *Data Type* + * - String + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **formValuesPrefix** + * - Prefix of form fields. Use this if you use a prefix for your forms to avoid conflicts with other plugins. Settings this option you will be able to use only the fieldname in all markers and do not need to add prefix. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * * - *Default* + * - tx_formhandler_form + * * - *Note* + * - It is highly recommended to use this setting! + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **langFileDefault** + * - Path to default language file, can be altered as parameter by the form fields. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **debuggers** + * - A list of :ref:`Debuggers` for the predefined forms. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Array`> + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **steps** + * - You can split a form into as many steps as you like and add as many :ref:`Validators` as you like to each step, but even if the form has just one step it must be defined to add :ref:`Validators`. + * * - + * - + * * - *Mandatory* + * - True (Only if a form has needs :ref:`Validators`, otherwise not.) + * * - *Data Type* + * - Array + * * - *Note* + * - The key Integer in Array starts at 1 for first step. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **finishers** + * - A list of :ref:`Finishers` for the predefined forms. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Array`> + * + *Documentation:End + */ class FormModel { public MailModel $admin; @@ -89,7 +349,7 @@ class FormModel { /** @var AbstractDebugger[] */ private array $debuggers = []; - /** @var array|object|string}>> */ + /** @var array|object|string}>> */ private array $debugLog = []; /** @@ -214,10 +474,10 @@ public function __construct(array $settings) { * * @param string $key The message or key in language file (locallang_debug.xlf) * @param array $printfArgs if the message contains placeholders for usage with printf, pass the replacement values in this array - * @param Severity $severity The severity of the message. Valid values are Severity::Info, Severity::Warning and Severity::Error + * @param int $severity The severity of the message. Valid values are Severity::Info, Severity::Warning and Severity::Error * @param array|bool|float|int|object|string $data Additional debug data (e.g. the array of GET/POST values) */ - public function debugMessage(string $key, array $printfArgs = [], Severity $severity = Severity::Info, array|bool|float|int|object|string $data = []): void { + public function debugMessage(string $key, array $printfArgs = [], int $severity = Severity::Info, array|bool|float|int|object|string $data = []): void { if (empty($this->debuggers)) { return; } @@ -246,9 +506,16 @@ public function debugMessage(string $key, array $printfArgs = [], Severity $seve $this->debugLog[$section][] = ['message' => $message, 'severity' => $severity, 'data' => $data]; } - public function processDebugLog(): void { + public function processDebugLog(): ?string { + $debugOutput = null; + foreach ($this->debuggers as $debugger) { - $debugger->processDebugLog($this->debugLog); + $debuggerOutput = $debugger->processDebugLog($this->debugLog); + if (null !== $debuggerOutput) { + $debugOutput .= $debuggerOutput; + } } + + return $debugOutput; } } diff --git a/Classes/Domain/Model/Config/Interceptor/AbstractInterceptorModel.php b/Classes/Domain/Model/Config/Interceptor/AbstractInterceptorModel.php index 0a5d1094..9c057c24 100644 --- a/Classes/Domain/Model/Config/Interceptor/AbstractInterceptorModel.php +++ b/Classes/Domain/Model/Config/Interceptor/AbstractInterceptorModel.php @@ -6,6 +6,93 @@ use Typoheads\Formhandler\Interceptor\AbstractInterceptor; +/** Documentation:Start:TocTree:Interceptors/Index.rst. + * + *.. _interceptors: + * + *============ + *Interceptors + *============ + * + *You can enter as many Interceptors as you like. Each entry requires a model name of the Interceptor. Optionally you can enter specific configuration for the Interceptor in the config section. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.[x].(init/save)Interceptors + * + *:ref:`InitInterceptors` + * The init interceptors are called before every time the form is displayed or the :ref:`Validators` are called. + * + *:ref:`SaveInterceptors` + * The save interceptors are called after all steps are validated and before the :ref:`Loggers` and :ref:`Finishers` are called. + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + * InitInterceptors + * SaveInterceptors + * + *Documentation:End + */ +/** Documentation:Start:Interceptors/InitInterceptors.rst. + * + *.. _initinterceptors: + * + *================ + *InitInterceptors + *================ + * + *The init interceptors are called before every time the form is displayed. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.[x].initInterceptors + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + *Documentation:End + */ +/** Documentation:Start:Interceptors/SaveInterceptors.rst. + * + *.. _saveinterceptors: + * + *================ + *SaveInterceptors + *================ + * + *The save interceptors are called after all steps are validated and before the loggers and finishers are called. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.[x].saveInterceptors + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + *Documentation:End + */ abstract class AbstractInterceptorModel { /** * @param array $settings diff --git a/Classes/Domain/Model/Config/Logger/AbstractLoggerModel.php b/Classes/Domain/Model/Config/Logger/AbstractLoggerModel.php index f35844c1..607248ef 100644 --- a/Classes/Domain/Model/Config/Logger/AbstractLoggerModel.php +++ b/Classes/Domain/Model/Config/Logger/AbstractLoggerModel.php @@ -6,6 +6,39 @@ use Typoheads\Formhandler\Logger\AbstractLogger; +/** Documentation:Start:TocTree:Loggers/Index.rst. + * + *.. _loggers: + * + *======= + *Loggers + *======= + * + *Loggers take care of logging every form submission. + * + *Logger\DB gets called by Formhandler automatically as its log data is used by various :ref:`Finishers` and Generators and the Backend Module. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.[x].loggers + * + *:ref:`DatabaseLogger` + * Will log into tx_formhandler_log. The logs can be accessed via the Formhandler backend module. + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + * DatabaseLogger + * + *Documentation:End + */ abstract class AbstractLoggerModel { /** * @param array $settings diff --git a/Classes/Domain/Model/Config/Logger/DatabaseLoggerModel.php b/Classes/Domain/Model/Config/Logger/DatabaseLoggerModel.php index 02dc0f52..683b88fb 100644 --- a/Classes/Domain/Model/Config/Logger/DatabaseLoggerModel.php +++ b/Classes/Domain/Model/Config/Logger/DatabaseLoggerModel.php @@ -6,6 +6,32 @@ use Typoheads\Formhandler\Logger\DatabaseLogger; +/** Documentation:Start:Loggers/DatabaseLogger.rst. + * + *.. _databaselogger: + * + *============== + *DatabaseLogger + *============== + * + *Will log into tx_formhandler_log. The logs can be accessed via the Formhandler backend module. + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **TypoScript Path** + * - plugin.tx_formhandler_form.settings.predefinedForms.[x].loggers + * + *.. toctree:: + * :maxdepth: 2 + * :hidden: + * + *Documentation:End + */ class DatabaseLoggerModel extends AbstractLoggerModel { /** * @param array $settings diff --git a/Classes/Domain/Model/Config/StepModel.php b/Classes/Domain/Model/Config/StepModel.php index 8a964964..649a051b 100644 --- a/Classes/Domain/Model/Config/StepModel.php +++ b/Classes/Domain/Model/Config/StepModel.php @@ -8,6 +8,48 @@ use Typoheads\Formhandler\Domain\Model\Config\Validator\AbstractValidatorModel; use Typoheads\Formhandler\Utility\Utility; +/** Documentation:Start:GeneralOptions/Step.rst. + * + *.. _step: + * + *==== + *Step + *==== + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **templateForm** + * - The template for a given step. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - String + * + *.. list-table:: + * :align: left + * :width: 100% + * :widths: 20 80 + * :header-rows: 0 + * :stub-columns: 0 + * + * * - **validators** + * - A list of :ref:`Validators` for a given step. + * * - + * - + * * - *Mandatory* + * - False + * * - *Data Type* + * - Array`> + * + *Documentation:End + */ class StepModel { /** @var AbstractValidatorModel[] */ public readonly array $validators; diff --git a/Classes/Domain/Model/Config/Validator/Field/FieldModel.php b/Classes/Domain/Model/Config/Validator/Field/FieldModel.php index acb7b6e5..00d84fad 100644 --- a/Classes/Domain/Model/Config/Validator/Field/FieldModel.php +++ b/Classes/Domain/Model/Config/Validator/Field/FieldModel.php @@ -36,7 +36,7 @@ public function __construct( } $this->fields = $fields; - $this->fieldArray = boolval($settings['fieldArray'] ?? false); + $this->fieldArray = filter_var($settings['fieldArray'] ?? false, FILTER_VALIDATE_BOOLEAN); if (!isset($settings['errorChecks']) || !is_array($settings['errorChecks'])) { $this->errorChecks = []; diff --git a/Configuration/TypoScript/Example/HTML/DevExample.typoscript b/Configuration/TypoScript/Example/HTML/DevExample.typoscript index ecc07a08..8511d8e4 100644 --- a/Configuration/TypoScript/Example/HTML/DevExample.typoscript +++ b/Configuration/TypoScript/Example/HTML/DevExample.typoscript @@ -44,10 +44,9 @@ plugin.tx_formhandler_form.settings.predefinedForms.devExample { debuggers { VarDumpDebugger { - model = VarDumpDebuggerModel + model = PrintToScreenDebuggerModel config { active = true - maxDepth = 20 } } } diff --git a/Documentation/.buildinfo b/Documentation/.buildinfo index 94e170a2..642d9d83 100644 --- a/Documentation/.buildinfo +++ b/Documentation/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 6c360dd9f21dbde8e9ab6cf4d704120f +config: 5d530a48f2ea346aa6c6b929e2c0d8cb tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/Documentation/.doctrees/Debuggers/Index.doctree b/Documentation/.doctrees/Debuggers/Index.doctree index 9495716ad795e1d921289872f38ca776ea1d4250..ef4160d236ee9eacbb7beca474317ae5a5803980 100644 GIT binary patch delta 1647 zcmb7E&rcIU6sFr>X-lkumXLmlAW+(&vy*n)>~0lew0O{9 z9An~)2ajliXTsHg!4Q8O)ELpIClBh$#CY({E(;Y1fkUS=Z{C~tz3+Ydo*jFT^3Ho7 zd1A}nd4DyW!!xR;nrca#EU1PlxahtmZip`8B|hSxfK7l!wm40yCN9=^vI~Pco*A4P z(^bv9R2t9f7;8g#x{}XheJXfaEfi2$-l0;(L?*!~CofSER}CYR#|AP>$graNg2Kt_ zF|qz%mX_VJSYf1&)t9lBQ?>l$EI_KkNIuASp%|a46;ut|S4q24`!30%J60fW3!4%| zzVSs@tgnlCtk;>_FmrJH!}? z^I8ti3Kp=giWyZCi(cT~0`ZX?B7qLlHXH>s?*R>pzXg+Hc~hANR)U)?=F6TIt!I~}ZR?rMeUj}j zXoFQ6=ARoAp$$m1p0`EY!ayJmy6WlxHDJX2S7W^Tss{Kf0DtX>m5tisNN4n+O0n#4 zysP-O)`2nxT94n5;k%6lO^{#$M7}kHUHqEkM-vjVl-k$rrX&k*3E$KfO#ut>?k@6U zFS4S?fg@COR7L*Qs)(Kg40{(6Riu0PYDUiib=$Nfh0;tA?Uh}rN?AMdk=AaAtxVGp z{5kd7gM*xP&g|4a#8le^M^`oR1KUQ(Ze6Tl_ezb%B<{4VreRZK>xEb{i#Rd^N3u%V ziF;jt2Va1pQyOd?j_^N$bU%>q$C|0D*bp!{xmac%=7X!Td>(MCeV}u4_I9sISA3H-}Dm>73kM3_Wx$t*nIx71zs^*n#ivBTLdh zZm@usDPlQB3>fBAS{Dq`Ag5iNbke81r{TA2jUR4&?m4Z%LyNAXzBBOtNrj_ms{#(G zNJ{BfIF0lwDTP0dOnB4aXz(#_y9d#6>6dIB0Tc5XrHY=#f^;yCHCcxhNh<_v(Sd)* CNJ7GMi8u~w`s3V?xPe3Ql5f(srtuGI>!wKuJNSl%u}Rlr z%c3E}*$Lwn5_V!Y=;S!37`xKK!Dn~JFJ^co#Mtn?o^Ab6U`&k29#AQY!kFesi_(e= zJ2Z$u1{UUXoQ&3NPP9ZoaaF+le|i7rzuf1kvtnXNrbX8SpBbSYL?W$#ZGj_4)Fq+Cq-P9=;1e8yqcD46QWj{y zVJPr+W#w{O-RT)?E_)^&inK_*D6}aPtKw3s{|)czvA8QpTCzREiA~zGosj^x2}f0^ zz^}a8F=PpS(FeCMyL4^eINe66jZ#m(FGt-@Rljg7$!OD8W1r{-rd{r}ZV}BjQ)| X26~?*@fUhsd4u>{{XmxZO+WJ+#fky0 diff --git a/Documentation/.doctrees/Debuggers/PrintToScreenDebugger.doctree b/Documentation/.doctrees/Debuggers/PrintToScreenDebugger.doctree new file mode 100644 index 0000000000000000000000000000000000000000..74316aa857e670e0ddd41dfa912aec5da53e67b6 GIT binary patch literal 21949 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 literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/Debuggers/VarDumpDebugger.doctree b/Documentation/.doctrees/Debuggers/VarDumpDebugger.doctree index f7a93becc3ff3dbf5ca087b1db39ea65abc3032d..14eb00d1be8b778bfea50407afa7c1f5140d14d2 100644 GIT binary patch delta 4154 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 CEqaIm diff --git a/Documentation/.doctrees/GeneralOptions/Index.doctree b/Documentation/.doctrees/GeneralOptions/Index.doctree index 43fd3de95da0fe306b99be81c714b1d5b2e725be..1c04c91e60e0f2635e2b76bb23224e71b5e98084 100644 GIT binary patch delta 598 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 literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/GeneralOptions/Settings.doctree b/Documentation/.doctrees/GeneralOptions/Settings.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6cd8b7a89ce1a6b09cda87a950056724ca759b59 GIT binary patch literal 20435 zcmeHPeT*H~RbP9**SqWWI&s`IZl;^oS#RuJCqX}if&j{SF^)QcsWV%zF~Ru(Evlf>ejWS zyFSP!=I51?r}@5N*S*D1AHEc_G1d27qa65{lqTsnsvZVp!xc;QJT&6>pshBfDzK8{hXEV*)jC0k`WPFq3|kAA2iQW^0^TVL5kFsG;tI)fcPx_!fM5N8)<)Cl)mX>o;c zT%+kLs;4wvtqQK%T2%ng3!IO$ZTC+odn`X?Kd;YlipC^`oU%b*Ew`{%a2*^S^6Rb> zG*bj80vWD2menqdx{T&I5&Kg;_{(_Z&dKynHU*kF=uf zR5v?O7-jvgbG4(LD-u-J?b78@i3Hm}HbhDtf^2k`nXNs2ldYzfmGp)>XS|X)gag zA3K4F%3QDs<)6z>xg_c?;QMM$qO_j6LVDt0Bx|dYOaMU%dym8hNYlgR-8AGmK(Dk9 z$@WUc_Kww!b@*{L?NivGY8iDqgy+<1KAfj|FopZmrRpPH+CG$OBUt!g!^Mo})H=vi9)5(kT?x=wJ!NQC)uYz=O5piU zLv!bA211h!o*YfLBAD_<-q~v+lxZ-08c_Ee7Fq*ObEBE>WENkGLeNjuDWxVqRi~6k zC}gqMqHqUK_AM_X!D6Eu4QtVBs+9YVz{+7Q>-aec+eXt3He#uEJ%EWKqxF$Qc|3^< z*`#jNb@)-;FCiVK6qo$*TTw=HKzdLFx+Jho&dr^3ou=mchUUp2{_!{t{!s2TD-i1zTG|nfhi9+ zY`*A{3rKy?e1?V=iRXA4nbhoO+GcNE^~|yXjsolVe603{@$WH0No&(v^E3^kn5Xbx z7T4JjdSewBvU_^0^g^tA2?Q?24$WV}cx)IAFml*>Kh4ed;9qT{X&Dv6hcBSlS5?;z zU*=t-bub$zCxz7%=RUas^9122);6bsEAc%mrAwP5!GB~6+6X?;klv{x!6E51_w(`e zEo~=j6-x766XUd-T)u9%4$Z`&?wMP`;z0EscQalRjcARgu6l--(q{7yfqA5!qj8s% zZhn#8=e2tC4T4t8&vSOPs&SjP#$I*>@Sn>8Pi%gb!(|x$;3?Jeu=yeEEqaOhtXiO-R)I0&tQ}-@Hkr39?6Hz?2-{DMGrG<3Hx0T1LyW z;L_VU;7N{u&*3uU2vsz!6)c%7Da%w#BF{c7u!_qQOGEP~g)q%4&ulnaz#??_2I^SA z{!DBfIV-hnb$6Yh8JECNt+rJA_G0w!)_D z;$k5cqO9f|r#qi>`xU^im<7Um@g^Xoa_$&A0o;WEs4;G!GE zDT;VVBHF(eAtlaGejW4vpb&nyM~ZRc(Je!n=ue~=1E!qEUV2|tihIzhBS^M=CXyLS z30xY<0Z&pKG={is4-nCB~x%Y>yjKqBpjijW*j`!evGEkwud zkoM5rs^fP}MOTO_5i14=CMDyuMF^Ibx}1YnDPtA9c_s%u$@nCP%aHNnMO{c94tO%WFLAgG!}|#T^7FB!6N>M|UxVnkTEnL{#S1DG>x3_@a;Ja>MXEoJff6 zZU-YIX7}Af9Fv@|K;d@^aiX`G$jtB01;=*0PxWqh&Tq9(CA!@@G;?Qu2M1!c?z%g5 zFTF3CGaNvtyg38kB+LO%YCXl_GSvDQWq!)6V_TbwQHwUH&qp6S<4tPC@DzN^KN4?N zPqubTne@-Lk>9$yyGN|NIAwl9Nwlt2jkyr?cH)v;ewmC>|K*N4$3sU7eP$*FLxTKJIy+PW{ z;*7gnYW@NclnbmFFeUeo)BB=k_FN9CC6}&%s;fER$;^BXmtkhZOSZ4oHCJZh@pB@} z*NPAnCsZzG|Gh$3=9OhO93@mDiRca2kx;$XEd<>`3DsW-F>WWJin{J3p~Ci|tEEqr zbf#24Bpnexak3RQWf}ioNRcS1`j;FEB+cS^!2fd&cruH3I9!HVJRWbIC^d12W)>&x zkWSIb8IKk>wC^R~c^Vy~^l=Wdys69_oe|*(uJOt34|DVS9~`}T{q-X${*4V5@GP+* zz5sfM(Q~UPp75o&;m8#0`+|QvPO(0~@#>JnRwxhz?15q=5QU%O^D6>VAd=`N*o71gLxZ;@Vh-yj01JIi2hk3EhD0bMM#%Y{7eq2 zr4)Y$T>4ZFc#`68akvaA$`Bq=Bp(yE@n=QIi6!}2%>Ac@aJ(IooSwT7G@Fh~>!o$o z3UG*7?6S3-(fV7WPzZFY9X=J6zFmY7Qm%iKg9lQsuYhN7<$x!-{w0UYkn0%TrZ}pY z9_|B1#HE`O`Tj={vSRs$z~SEt;hI;z*>IGxi7cfzTt~+C?QYTj4$9bOhWY;Hb~3i8 z>rOJZk-0g#a?_cqJqffT)fpg&lr5Z~S9y0Hb;{75;57E$SEk%R8p7*(0GNgG5CY{v}QLT!Haq}oD#*ivKp;BRn zmglHQ!v}Ecy*-RMfERM*|==s*SA(vgs^>anU5MO3i#M^ z3E9xIJjqWk(i~Z3qjg?416OWBJXG=R#Pf0Y8xMQLG$o9^hR3n!F>ozBP54fwL}fkb ztrzM(o31&IZ{y%xsu_HmpsE{o&?s%t-VbqZ5;YEtW~t&d_`VPZd#`BGERDC6u3}rL zB+H6muBby)X9Q&9LO50}B}-e!Rg2}_Y)n_J_;HZ!(>4rn$yfcrlR$%Pu&R}VI;NYX zJ70814&!QS11+PziwmPf4z7Yt8g?`AOOUifH|cP#Ebwc`e(soO;P-v4FH4&1I&LW{ zX#frrsuf(q-|GZ^>nMYKl#m^2d($?A`5aV-O^R_79AxkNT3@tvW>Z9i2S(|1XP#ez zosbt^!SO0?!tF-=0Ja|&)g8B5s%ms!5YylSEBG)}aqJq%1V@Z&31`b|#zv?Qu}L-X zol?@oc2fnHiE7Yj#${rNvAn^c&vQ0zG@)fLZvl60kHnueH9ak;Iwf4z1=JL*#PPIJ zx+m8X*w?z@8A3Vtma2wFr9?nTgypa_1^odw4q`kMtWkN57idicR;n4;N2KaB2j~|j zL9R|PkT8u_g~<1yU{3r972QYn1kJJQP(;gU;I`n()ProYsWlUWCt`5jvI%_$?qnA1 zpzixkZ*gG(&E9--)7Nph%W>-qA-kI(IRbzz`MA_(!Pe-GverEI!Q(#zeonfzO55<% zk_>-X4i7U`NoChiM!?Yg8lM9Ozd);6Og4&=E3hJ73T1>Hf=)J2ZX+_!*khH%HR&5{ z%Gp#REC6&dkqzab|rvadtlUl{wy9#C>)_itUXlG@!hoo!3%o>mpKd3 zdkqC%Zt$u@yu?oA2W~)noQh%Bpaaq|Op~jCOKgKP8n~^E$y8yDR3B(9gw8a|S`{X| z2^4e<^^0z>yDNZND`|9pvxEvs*gB@dL@%>_QRyEjt5p*Y?FQ@D?DY`Udf13?Cs@Hj z6%AaUr78|3aT}B?&ORUo)$&m`32K8%J9IsqO}Di2&(YM3(Q5GnU0S6&N#yQP#bsRe z*f6~mZ6Zt@^4KV~(M45)=hir|FjQ;dEV}y!_qmV?}TJ*ckjs#Rim~!%s!+uMi(z2HnfMyqCiBunm0Ihn3-zzXxrgiK*Dmq_^q8lw@-f z*y74g$s zYPuR$I~q5y|NeYxgW~(7Qh66T$R!o?d+32fW`7;u!nz+d!Xg3|7nOzf3CHBN+Lmx4 z!^IRo!W3Dx9rU;L?@=c7R)h}S$j(fl2BQRFfDMRS;6oQqK6~=~Npf$z$k^`I9LxL% zVoPh{*N-wXZ=+e#-BI1>p%VdJD2Fpw3^;YVTCND+!H=jcDl@Xi(M+rg3tRPpa>!oL zjZ!Ao(uhiO2(b~@Mj!;qs%Ty|hX) z)=U;gEIrQVpMeW>$-heuCcLAgjmR$XIZ$Tdk}J@LBOozLbHox{F%NISiVh~2??;a= lEEte10Atynm}DM8_C!{JkX5I&W2{QKR+N^I(FNuC{|6X&BSoYSm11;x>hOZ-BUA`@rV?)mBvb)^L>@rmnO7u!XTEoA@2*iBX`Q+Eo_p^3 zKIfkMr1tamOJngrH79&-x%=z7X}X@tM5HE7&j@?WmC?u1jSr*8(TZvY`kwH@z+jOY z1BAgX#|)SoJ-}j%;HBk=^%Ox}>Oq$k+j&hj*Vo&ckj%ds@y3HlP3ckw)=nsKARRDn znF7dE!*FyVFp2M)tM`(xNi+0|!H#b12CS37;KMQ_H9@$eP&K69CCG?RsR_q&S+sRl z)qNeb%7~Avrj|2@Q9a{nd86mbjbya(26I`UJ8%2a@?5d;E-ol12F>TP z;Wb_-mR7J>la_Q?X-Q4c?wDmPPuyqwB$agbqbL?GZ}S)UH~2Wevdu4VhdVl-heY_| zgNUEU?;?KB;rF!%QOGax8vwtSfb(U3d8-~%Rg?No-@yq@II}LhffxEEnhJ6ohUW;M z8AldRqyU=toIT5wJlZ->;JMurEboyr`KFpF?}!Rr zeK5MNJP2oZm_jXnC067dfIGv0O#tZ-H>-%-&c^D}ea_k$>FtgewDoq^dc@o|dB}Rg z_~uZsg5RHw&Tq!bJgEHXh^(*^O@+)v1E%-E@57A0%y_E;800b}v`>!_+6a5TAnFSB zOt0S4T~n7{aF83}Buta*!V+aO{5&w0666c?e z5of_}11SZ}#e`c*$tI zh_kPsipG%?I2hIukJKyOaubd`}X4%))621N(2{_yOqbeCg zqix~pt<}{>5JVi&M3z_m459rKGMOX{Ocih?|M>7!Hid+0KOVuBGTXZh_#ck|PyVqN z!wv9{wL5Lc60+@e+BZ>k-hB9jobiVzB-$0!5mUvs65pRx_~v73#%Hbx2h{d~y_5>n z!ja?h^2KuF8aJ!cdCmR}AxN<*mV3J8M)qgGr5c!!h_n%^Kb)(k@t5uUj%8Rf zI*gb1^uUdt##_^ihAJBuQTHpNE~%^9ppvAGjJ2s2k5N<+;HpYFIebvm$c&5*_{9)0 z5PV@|gYlx~v1LN=P)8h6!r0FeJg2Od(rsTHnMJ%fTK^Qew01T(-Q%hryFu%x%BADj zF~~a0YFvic$3}oBHU9T_u@-C&u7K?2Q*n|R+Bb1>`&1NuIU3CCoFmoH>%>2dUXVTGx=Nv{3|2ClLlXo;RZze7w-gtesC+PiC(Nm{PwLPw%&etJC4T` z>|6c2N~{|d*6m-zhO#`VmMS5>AAgMA{#|K<-6M3Vq;pbA$9a|GDpB741CWgx<9B0O z^U^tYgY4LS3T(v^A--mFj!OXso$-cVO{vpXQDN614;_s6y(&F?LzC=B^ zmyqbwrc>Hd)2aECf2U0-L?ZO7;!vD4q0|(mX*AgkW=30Q)K`(R(I?Z2S#9S)iyL!~ zBm0jKIiC^gE5|~io%cB6O8^*Hz-PTXzDycAqgqB7P?t|jdwSbyCYyq*W1dQ!REpPr9CDrD@1%mb!^<*wgmWsp*mATIfhwzGiqm>c9#h`+73N z92U=LdzR!{)+WVS>4vm#3bq60dx6v(_J}#u{+!~vlMicZf$dw6lGJ4=GN78OnQSNQ z;qhb{mTqrwh-(C|IzMt=3)L0OBfyUAC za998d6R8F+OLJZ*`?1twERkBOtW;3g|D=G@O7IpmWV@g5U#M(W^TdOIpg2V2fTu{! zI=b5p^)7?NO^nZ?r>)Kf%GI#yfd~E z_}3##Sc!4YX{IHp2@FP3DjS(A@MSdvW(161k9*g!niNdySWePozery=M6iHhpkcyh zLgmwF{^vuO=mPl@EXVD_5FM+B!u;O+b=C5jUpPE5gBy(xdk5|07V0@Jr7v!7Y+zcf z`v;PH?z$IrHzIX`AY%dmsb%d;JTzc_?ds;YAkS9NF)HY3ra*r!Lk~CA$z*p~ux>Hg ziO+z;Z*bXja99(~a(GeP#GX`3u*sg5yJsG;G~ttl9IAP7;7Wa8<5rjB%FkiH6Am?v z)r{!raI_CX__ctb&c)+os5zdYr=ndlIJ(jX6rcDTq#TP7yLZu=Ka5{c;-`Z&4jjUI zJi~H3uz@TvEK;aINUXqFJu+U$(-Uu`H;>&2Hq+Z-CS3RcByfhem_v2J0MxF=aM^M+ zy!HeverS2B7SbmT7^~As0@|S(XYQj2uMui82`BJhn4*OnDx5=V$;B&vf>{7jFfEBE zAefCw4>OM=wb(bCJlai?8A?s8%T=s7pl0@6;wZnBZe1Jl)&W|Ehq=#hG3Dj8n34FACnyZ1HQM; zh>xQ0!#D8i0WZUAnSeFW!FUR3i37C!d)aJ}*U|?oUR+nMzZTLB8|kfW;hBW)+U-Qc zZIb=X_7!?OxRSpfyf6&@*^^(=j%QCkSuYi7_r{^BkuPu-ilpyhN44fDm!7fqbyZ7q z-5E8J^bRK8+P?cXC7k5V5&+Ezw5aZ|8Bv%p?N#c7a(8dGI4K@F8M2A^_XKj$_!Tc4y2! igsP@;D5mQtBT7 literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/Index.doctree b/Documentation/.doctrees/Index.doctree index 2304971de2fe24b8def31f1e434f0388335cd032..3c9fb65bf62306aad378be144855b76a46e4fbd4 100644 GIT binary patch delta 270 zcmX?a-D1Piz&iEkMivnsM$^rbJO=EtLY{dgsYS`D1ts}K#rmFkDXA4x+NSvR@cQJZ zr%$#PE@RKy$H>5tbzt*4VOB=gYe07Kvp7Q$$o#vxTqc4M0QHnr4*&oF delta 225 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 literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/Interceptors/InitInterceptors.doctree b/Documentation/.doctrees/Interceptors/InitInterceptors.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4246ef53b1f17d7290fe05f345c4b3ddd6fd88ab GIT binary patch literal 4752 zcmb_gZEsvh6}DsV+Uu9Ky-7-enqC|lk|3{LfdHlO2~;(*xvu zyW#~*YY_3>h*(&Bt@>$FFZ#?oQG8JF;6wVE-JZWEOYMqbLpqg-HM<( znt;!2+3k5rIVfOVe#Xay;T0S&v)nAg5kC^&7fWKVC*JO*eI~YnpXeNC;tu}az~7tr z`_6HeitmYsV836mi+kejqh|iv7BFB##S$_5s3*?^cL+xOSKG@0T#mjNjoIAK?if7Xene$h88*?~k6& zo+D4{$NuE<6Iymj#b=l3x%0u<)fGp6Q9Z)me)QQp*%%xVY3;`Hdr8s zQHJcz2L=V9h$g%I?&0A(d44;B)H1&n=@3zjunUtojr>`!&6BZMKuw4}qxft#F8$-W zG%6gsJ8SeyRRBecVoVmLYC}d|kdo^JW$g;t*hlR{7Py7-#*(~F^z8C5i2K>OZ3^l8 z(EOF%ERU9ibGsU)VV}bhv!eyOmRAuSN5KTA)=-@5TM6L*m&xu9Ao<^Api8~?&ye;L zt}X&i=l@$nNl6o>rMBz?u}c;D-Hca7=8A&LsPJ4#FN@I+aKqAUF@hF+0R1A5R9v** z=3``7jg?wFv{c)Y;Ik&V;d@K^&VXHhhK*kT$8+fMd90N?rt88%bIwF5I3P zI1ORnEhs$TImJDbMz~dHg}cfFWvd0X6;EPi+yJFLAU|CbESN4Ec88B8P%_M9;O!%pJDdq=N=f0uTkz zDYKgai-sv1av<(weG9>BZ!7M_%6Adz@C;l->7ZwuUK|aeCJ>Rni<&Z!<4iPdo24dp zYm&W1P3)$hhKW0MIRKjz@^&m@NTofyl~aIjq{;j>DbYOjV|N^qGi@VEV$IQfqme65 z=3au}I+a=$&bj5HWusmQij=QhsX{^Avl~!GqZqO>VQrRd?liT%L0`B;b45I`FiG=a z@^z%A=@KrwL-7R9iH2~*K!(y}A8!B9wiBMz(N4;25T(!Xb_xsorZ6Vaj}Hz&Mopd= z5l7uv4G%JVmpJnWfYUWRgn10iu?qVBJBL33o^3Vo=EM`F7Jt7Ik1%EAvL{@1B{zfo z4g~yxFkyhpTId-OMR_l`YIot2A^L?fJg4c()d_jXx!u;2$gr_1=&heVQV!HGsOEuZyJ{#AvjOsDNMQ6s zaAB_2a00p*9aCFRGym^5Cp>@M=y5eU!*oB~%eY|D!jVaZb0sZ*!weCIyTTYvh` z_FVC2H*_jwJnAvuj}xEk+%Efxmqk1_`DgjV-{;Tr2ezZwnNBk0@!ZaV!xJ*}6_4{H zY<7v?$WZqx0d2!nz^BJW%iitv99OebE@Q(XCN+uDk8`nfl-m_%jFN-Q;BvZbLHZhk z?UENVtwF?hD`rvowd`lbO2OrYU?dI$~d1jXk3+PlXR_tOZW1b)0vh9>X z2a}5h+i@pKW7V#8-P@01vtO?E-)}s9|0C$qB=nRvc{UIoyQH~iWD-x%6D`puMIT_Z zWuystW6N&NN-97B>*7;BA`GwKc##)o5svtQ_^wzGyM6IyKN~Qy3H-$NQ7-P_|26!- zj{k2R<(c@7cnJ3UCA+vM-aKp7ATgA=A)9Qf;$AG)3lcZxEzm#A@?0NgdH7x zJKFG67h9(+ls+@G8~e_H4-@bkND7l6;0jD24`nR1C{`0`y;A1``+vW8isa8<9m#jZ zZh_!(jc9>n%do)()0S3;CEF%YNtQMMo;t*mmxMay-lffJZHeeh!ZYa`kssb6!+wls ze26D}QU+`7Zr2JBzd3x;JV#zRNc{2TCv@zBO3p6P3r9xas4I^AtbT;O{piutahiPO zDVZAQ2{Yo+quRII+NdNBnv#D@AtDa!#>}C7YNFr0x{00vlkrUvQQL6~%%?Xo8!&we zl(SmF%DhvB-%G{!^^0)+&!kZ)=g9+|@y(GIxF@pq7BAdQmb59rdC8T!Y)daEcTmT zTO@Wdhx(FuM)785ul(b>lq?*((=_^}ih=@2F(%8hwoJ@RGhcpGE*T|>oAZ@T@vl;To}7OOcE0(hBwFnX`R{@ zIEFi-^7i$4MRdbyvn|W?Yy#@xhhb zPG*LCKi$(3-)~&pbh%QAa;uySgz2dsVt*sa%ta}!LP~CTW_D&o9PiH0&Dm}#clw6< z^cxp9W)9m;(m?|#0f<8Al-u=?#X-gb4#a(|Zy|W?ZN6{y`FE#Z-P^5b0QXLB7o?U}78pV)R32VJ#b0?|o zHTuFOnk(Xgg-MzZldmE@O_p%cEs7_2P8`4yLm5evf3W#|+f8{ojdoIIjVJ?#w^LZy z*M%{ue!RaAGHUYJh$QYMD%j8MUE(Yr08ZEN2<9;`$1>=9Zyo#ycy`s$n-NcxsrdV~ zc!Vhcp^3sRAi+hEGQ1ykWx1XrwXg1c{rY*7ykFF`ghe#=>)Z z*8|sy%OfU37lWtb#hmxjZdJ1roHZPl3GLi2@c1-G-LT7LIzg3zE6UiH2oB?x!)7r7 zZsAdIErV$kZi8Y;1Et-*KrLrSkRfe2S+psHFm_V9M;p4vv|XajiuR@0(Y8YbGfsgd zm5rBLY}2^4gHGWKaX+)`P0JNGuX_^qr?)_SNudC(`N}spDJ5S~?#9s|2`A1_u-?%Z zi4*S51&N*d*5c6i1^LLe%20B@J1eW&K|_G_;i1ogkK}e0jZ_Gfp#y#ySo%dp{|pEm zA0Po9&g&QXhX@Ibkq9o#=o(Hy7o%h9>M@4HsHRTKSv3%gY47~QUuJ12Jw%!#5pfbK zIHh47LjAF`OHFc-cd8!`b|*vQPi{K<`SZWdp8ov#-+I%@;`kh@{4b5MbNok~nC*s| zJ*N1A*;ZBe=ItW64TAOk{=2`T;#2;Vf@E0z7STrIaQp{)#H8=6XLM$_CuzAxlJGr# z0ru-=k*fDRus?ne7b}Xy8qUi=I#N662b@X1@oQ*=bNo--qHp+R;T`b(;|4q~fpPqI ooVWrC>go$9fUaGgs9ps9YSqai$prMP(27shu_`2FziiO^3Ii@WH~;_u literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/Loggers/DatabaseLogger.doctree b/Documentation/.doctrees/Loggers/DatabaseLogger.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ab3616b9dc7d0d756e550047d18719c4898c8fa9 GIT binary patch literal 4744 zcmcIoTW=&s6}H!&vB#J3WiJGXN#iBU?jn!9QjpLF!~;eQ(^-?{h8)*oMN z&lP`mL#INm*Yi&+QyIJRw70@i;%m zW|#Pl40W#(&^Am3yg4pf_I9u5xIQzi&omE{AmHk0E|!jSyTXi7vY#1TO;;^QUqh^2 z@|!Wmo*&+_?UdpD zCKn5~klnPiT^=KIYFhb+Tm--!}G3wf_p@WB4RuW4}l!RzDn zuGlT`S+4OaaB9IYgf+2lF$w|?S}E9K`Tto? zgV>*6AF&#YZRq)@*93!K>tp0!2_%I#Njd=&ocDT3c99|k8JI*q1NVosBJD;U5PC0= zXDBjkGPBth3uO@JNacKBP#enFv5QX*4&E;E-XWw`d9O^9h*<<#lqOm1Px@$)pv4>t zMB*96Co^>A4cDbt;n;g0Tv-xOxG0olS+3S(?1dS5NLbachz)(7Qn24biDPL|G>+_I z5GMWn!nTFErt|-7Fr?gwTGN>Hq1d4+{Uqmg)wxu38P%aHs8wb97NjpsRwih` z2hc6{NWFRcRX#)#HEu(7`y;m~;xBUXrC8JUD_63h0|3Jg7$#p_zq786<03Eald|)+ z>t%}C0k{BdPs%54^tkz*1m+B|&B8wQiJxCH0Cx%au0n$449B>MENI8jM z>mm=!)P=88`=%l6>m`MUyr8(}(g?TitZ-L#plY?Cw&H1`j2rSZ9+Ho)2o{c)ExW~s z5-1sFGF>yZY|H2UEWmZ$bEaY>MsO(3B2YR;F^`iv@ae9M)6BRqbK-+5x1G!k_P)2L zC4Rp-z3FnL66IDc2oR>HdI0(vv9Vut*AWH$;5(2X^jzagcXXMW-iBXXuq zL`kB#J9)D35(L+o)UtHW4cC{N+8roTy>h7z1##c5K^cvD$EswtUa`63w04hv;S$Xi z@xa0)&40;JZ++#lvyJRO$#oCg?&R9lj^7Y z`yiw2j*Lj+UZR5i+}Pc<}#T^LvePN;ymvzti>qSl|Dy;Ti9aMo~8CbSE?z~i$VHN!5K=>!!9t|(()A~=j&j)%q6wuMK*wG8G* zxD5&=4S{xhidxQlAVb<W|ZQkR5m`ir z9kd5uhzFTnpR`6Q}U5(m7(N*cUD%lgJuBf!$WfeAIa@1x~C8*LkGId;H|REDfcHNOL42PC^BzG^|6YKXrB~ zl$vpWcRU1s_okDdzx>Pe+0S48wbu*|Cl^rTzv+aXlRx0ZY!@`yREjT{ZB;dI-Y$~M zAW(mD^!`t&@RT1ukO-@<2W>PBC%>mhj2q2*z-D%PoRVu43EPubV83qEsG7|K`_7MX zv7#ufp_~QLk=j8g;EXekUjrkYlYih2eZxnAcft4f8_>7}#mV1r;tC+Bi7$Wvwsv)_ bcoFWaRsTvK59k}ticfX1Dj{UOtl#?&P1Y39 literal 0 HcmV?d00001 diff --git a/Documentation/.doctrees/Loggers/Index.doctree b/Documentation/.doctrees/Loggers/Index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e9fbc8cb829d53dbae05a920825cc570252afbc5 GIT binary patch literal 6371 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 + + - - + + @@ -33,17 +35,27 @@ Formhandler +

+
+ + + +
+