From 9919ea7a76a4bf1eaffe5e288ab82dcafeb775ce Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 13:30:22 +0200 Subject: Merging upstream version 0.13.2. Signed-off-by: Daniel Baumann --- vendor/ipl/web/phpstan-baseline-by-php-version.php | 12 ++++++++++++ vendor/ipl/web/src/Compat/StyleWithNonce.php | 8 +++++--- vendor/ipl/web/src/Compat/ViewRenderer.php | 12 +++++++++--- vendor/ipl/web/src/Control/LimitControl.php | 6 ++++++ vendor/ipl/web/src/Control/PaginationControl.php | 9 +++++---- vendor/ipl/web/src/FormElement/TermInput.php | 6 +++--- 6 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 vendor/ipl/web/phpstan-baseline-by-php-version.php (limited to 'vendor/ipl/web') diff --git a/vendor/ipl/web/phpstan-baseline-by-php-version.php b/vendor/ipl/web/phpstan-baseline-by-php-version.php new file mode 100644 index 0000000..05107df --- /dev/null +++ b/vendor/ipl/web/phpstan-baseline-by-php-version.php @@ -0,0 +1,12 @@ + $includes +]; diff --git a/vendor/ipl/web/src/Compat/StyleWithNonce.php b/vendor/ipl/web/src/Compat/StyleWithNonce.php index f4c7185..8c1be31 100644 --- a/vendor/ipl/web/src/Compat/StyleWithNonce.php +++ b/vendor/ipl/web/src/Compat/StyleWithNonce.php @@ -2,6 +2,7 @@ namespace ipl\Web\Compat; +use Icinga\Application\Icinga; use Icinga\Application\Version; use Icinga\Util\Csp; use ipl\Web\Style; @@ -15,9 +16,10 @@ class StyleWithNonce extends Style public function getNonce(): ?string { if ($this->nonce === null) { - $this->nonce = version_compare(Version::VERSION, '2.12.0', '>=') - ? Csp::getStyleNonce() ?? '' - : ''; + $this->nonce = ''; + if (version_compare(Version::VERSION, '2.12.0', '>=') && Icinga::app()->isWeb()) { + $this->nonce = Csp::getStyleNonce() ?? ''; + } } return parent::getNonce(); diff --git a/vendor/ipl/web/src/Compat/ViewRenderer.php b/vendor/ipl/web/src/Compat/ViewRenderer.php index 48ddcc3..0eaa8dd 100644 --- a/vendor/ipl/web/src/Compat/ViewRenderer.php +++ b/vendor/ipl/web/src/Compat/ViewRenderer.php @@ -2,11 +2,16 @@ namespace ipl\Web\Compat; +use Icinga\Web\View; +use ipl\Html\HtmlDocument; use Zend_Controller_Action_Helper_ViewRenderer as Zf1ViewRenderer; use Zend_Controller_Action_HelperBroker as Zf1HelperBroker; class ViewRenderer extends Zf1ViewRenderer { + /** @var View */ + public $view; + /** * Inject the view renderer */ @@ -41,9 +46,10 @@ class ViewRenderer extends Zf1ViewRenderer */ public function render($action = null, $name = null, $noController = null) { - $view = $this->view; + /** @var HtmlDocument $document */ + $document = $this->view->document; - if ($view->document->isEmpty() || $this->getRequest()->getParam('error_handler') !== null) { + if ($document->isEmpty() || $this->getRequest()->getParam('error_handler') !== null) { parent::render($action, $name, $noController); return; @@ -53,7 +59,7 @@ class ViewRenderer extends Zf1ViewRenderer $name = $this->getResponseSegment(); } - $this->getResponse()->appendBody($view->document->render(), $name); + $this->getResponse()->appendBody($document->render(), $name); $this->setNoRender(); } diff --git a/vendor/ipl/web/src/Control/LimitControl.php b/vendor/ipl/web/src/Control/LimitControl.php index b390a0a..376d6be 100644 --- a/vendor/ipl/web/src/Control/LimitControl.php +++ b/vendor/ipl/web/src/Control/LimitControl.php @@ -119,5 +119,11 @@ class LimitControl extends CompatForm 'title' => t('Change item count per page'), 'value' => $limit ]); + + if ($this->url->hasParam(PaginationControl::DEFAULT_PAGE_PARAM)) { + $this->addElement('hidden', PaginationControl::DEFAULT_PAGE_PARAM, [ + 'value' => 1 + ]); + } } } diff --git a/vendor/ipl/web/src/Control/PaginationControl.php b/vendor/ipl/web/src/Control/PaginationControl.php index 00f5c20..e704829 100644 --- a/vendor/ipl/web/src/Control/PaginationControl.php +++ b/vendor/ipl/web/src/Control/PaginationControl.php @@ -17,6 +17,9 @@ use ipl\Web\Widget\Icon; */ class PaginationControl extends BaseHtmlElement { + /** @var string Default page parameter */ + public const DEFAULT_PAGE_PARAM = 'page'; + /** @var int Default maximum number of items which should be shown per page */ protected $defaultPageSize; @@ -467,10 +470,8 @@ class PaginationControl extends BaseHtmlElement 'title' => t('Go to page …') ]); - if (isset($currentPageNumber)) { - if ($currentPageNumber === 1 || $currentPageNumber === $this->getPageCount()) { - $select->add(Html::tag('option', ['disabled' => '', 'selected' => ''], '…')); - } + if ($currentPageNumber === 1 || $currentPageNumber === $this->getPageCount()) { + $select->add(Html::tag('option', ['disabled' => '', 'selected' => ''], '…')); } foreach (range(2, $this->getPageCount() - 1) as $page) { diff --git a/vendor/ipl/web/src/FormElement/TermInput.php b/vendor/ipl/web/src/FormElement/TermInput.php index 352cce4..184be1d 100644 --- a/vendor/ipl/web/src/FormElement/TermInput.php +++ b/vendor/ipl/web/src/FormElement/TermInput.php @@ -151,14 +151,14 @@ class TermInput extends FieldsetElement public function setValue($value) { - $recipients = $value; + $separatedTerms = $value; if (is_array($value)) { - $recipients = $value['value'] ?? ''; + $separatedTerms = $value['value'] ?? ''; parent::setValue($value); } $terms = []; - foreach ($this->parseValue($recipients) as $term) { + foreach ($this->parseValue((string) $separatedTerms) as $term) { $terms[] = new RegisteredTerm($term); } -- cgit v1.2.3