mirror of
https://github.com/Icinga/icingaweb2.git
synced 2026-04-09 02:58:41 -04:00
Since PHP 8.4 implicitly nullable parameter types are deprecated. Normalize scoped PHPDoc for nullable-parameter updates: use `?Type` instead of `Type|null`, remove column alignment, and indent continuation lines with 2 spaces. Co-authored-by: "Eric Lippmann <eric.lippmann@icinga.com>"
30 lines
932 B
PHP
30 lines
932 B
PHP
<?php
|
|
/* Icinga Web 2 | (c) 2019 Icinga GmbH | GPLv2+ */
|
|
|
|
namespace Icinga\Web\View\Helper;
|
|
|
|
class IcingaCheckbox extends \Zend_View_Helper_FormCheckbox
|
|
{
|
|
public function icingaCheckbox($name, $value = null, $attribs = null, ?array $checkedOptions = null)
|
|
{
|
|
if (! isset($attribs['id'])) {
|
|
$attribs['id'] = $this->view->protectId('icingaCheckbox_' . $name);
|
|
}
|
|
|
|
$attribs['class'] = (isset($attribs['class']) ? $attribs['class'] . ' ' : '') . 'sr-only';
|
|
$html = parent::formCheckbox($name, $value, $attribs, $checkedOptions);
|
|
|
|
$class = 'toggle-switch';
|
|
if (isset($attribs['disabled'])) {
|
|
$class .= ' disabled';
|
|
}
|
|
|
|
return $html
|
|
. '<label for="'
|
|
. $attribs['id']
|
|
. '" aria-hidden="true"'
|
|
. ' class="'
|
|
. $class
|
|
. '"><span class="toggle-slider"></span></label>';
|
|
}
|
|
}
|