Elements passed to ZendForm::addDisplayGroup will be used as array keys,
if they are null that causes a deprecation warning since PHP-8.5.
To avoid this all null values are removed.
Explictly set the required attribute of the uploaded_file element of BpUploadForm to true.
previously the resulting-html element was not required and submitting the form caused null being passed.
This is necessary because this class does not extend the Web\Form,
and the Zend_Form does not mark the elment as required.
Using null as an array key is deprecated in PHP-8.5,
an empty string can be used for identical behavior.
This includes values that are passed to ZendForm::addDisplayGroup as elements,
as they will be used as array keys.
This PR switches to the new PHP workflow, which combines linting, static
analysis, and unit testing. `phpcs.xml` and `phpunit.xml` have been
removed, as the new workflow provides sane defaults for both and the
files did not contain any special configurations anyway. Since the new
workflow uses the latest PHPUnit version by default, deprecated PHPUnit
features have been migrated. In addition, code style corrections were
made to comply with the latest PSR coding standards.
Custom variables used in Detail View Extension can be read from the host
if not present on the service, and can be customized, if desired, in the
config.ini for this module
`HostServiceTermValidator`: `$testConfig` requires backend for
`MonitoringState::apply()` call.
If the `$testConfig` has no backend set and icingadb is in use,
`MonitoringState::__construct($config) => $config->getBackend()` returns
an icingadb backend that is not suitable for the `MonitoringState`
class.
fixes
https://github.com/Icinga/icingaweb2-module-businessprocess/issues/430
`HostServiceTermValidator`: `$testConfig` requires backend for `MonitoringState::apply()` call.
If the `$testConfig` has no backend set and icingadb is in use, `MonitoringState::__construct($config) => $config->getBackend()` returns an icingadb backend that is not suitable for the `MonitoringState` class.
phpstan is not run with an action anymore, as the action runs
it its own docker container and hence has no access to files
outside the repository root. A side-effect of this is, that
phpstan now **really** runs with the php version set up by
the matrix.