diff options
Diffstat (limited to 'wiki/inc/Form/CheckableElement.php')
-rw-r--r-- | wiki/inc/Form/CheckableElement.php | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/wiki/inc/Form/CheckableElement.php b/wiki/inc/Form/CheckableElement.php deleted file mode 100644 index 27d5c2e..0000000 --- a/wiki/inc/Form/CheckableElement.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -namespace dokuwiki\Form; - -/** - * Class CheckableElement - * - * For Radio- and Checkboxes - * - * @package dokuwiki\Form - */ -class CheckableElement extends InputElement { - - /** - * @param string $type The type of this element - * @param string $name The name of this form element - * @param string $label The label text for this element - */ - public function __construct($type, $name, $label) { - parent::__construct($type, $name, $label); - // default value is 1 - $this->attr('value', 1); - } - - /** - * Handles the useInput flag and sets the checked attribute accordingly - */ - protected function prefillInput() { - global $INPUT; - list($name, $key) = $this->getInputName(); - $myvalue = $this->val(); - - if(!$INPUT->has($name)) return; - - if($key === null) { - // no key - single value - $value = $INPUT->str($name); - if($value == $myvalue) { - $this->attr('checked', 'checked'); - } else { - $this->rmattr('checked'); - } - } else { - // we have an array, there might be several values in it - $input = $INPUT->arr($name); - if(isset($input[$key])) { - $this->rmattr('checked'); - - // values seem to be in another sub array - if(is_array($input[$key])) { - $input = $input[$key]; - } - - foreach($input as $value) { - if($value == $myvalue) { - $this->attr('checked', 'checked'); - } - } - } - } - } - -} |