From: Matthias Schmidt Date: Wed, 4 May 2016 18:07:34 +0000 (+0200) Subject: Properly handle AbstractSelectCondition without options X-Git-Tag: 3.0.0_Beta_1~1762 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=758856de24ca58ded695a32f19d34c2b4997bd1e;p=GitHub%2FWoltLab%2FWCF.git Properly handle AbstractSelectCondition without options --- diff --git a/wcfsetup/install/files/lib/system/condition/AbstractMultiSelectCondition.class.php b/wcfsetup/install/files/lib/system/condition/AbstractMultiSelectCondition.class.php index 75ed722c08..9566019205 100644 --- a/wcfsetup/install/files/lib/system/condition/AbstractMultiSelectCondition.class.php +++ b/wcfsetup/install/files/lib/system/condition/AbstractMultiSelectCondition.class.php @@ -8,7 +8,7 @@ use wcf\util\ArrayUtil; * Abstract implementation of a condition with multi select options. * * @author Matthias Schmidt - * @copyright 2001-2015 WoltLab GmbH + * @copyright 2001-2016 WoltLab GmbH * @license GNU Lesser General Public License * @package com.woltlab.wcf * @subpackage system.condition @@ -70,7 +70,7 @@ abstract class AbstractMultiSelectCondition extends AbstractSelectCondition { * @inheritDoc */ public function reset() { - $this->fieldValue = array(); + $this->fieldValue = []; } /** diff --git a/wcfsetup/install/files/lib/system/condition/AbstractSelectCondition.class.php b/wcfsetup/install/files/lib/system/condition/AbstractSelectCondition.class.php index 86632ea2a5..ee31220921 100644 --- a/wcfsetup/install/files/lib/system/condition/AbstractSelectCondition.class.php +++ b/wcfsetup/install/files/lib/system/condition/AbstractSelectCondition.class.php @@ -8,7 +8,7 @@ use wcf\system\WCF; * Abstract implementation of a condition with select options. * * @author Matthias Schmidt - * @copyright 2001-2015 WoltLab GmbH + * @copyright 2001-2016 WoltLab GmbH * @license GNU Lesser General Public License * @package com.woltlab.wcf * @subpackage system.condition @@ -34,20 +34,18 @@ abstract class AbstractSelectCondition extends AbstractSingleFieldCondition { const NO_SELECTION_VALUE = -1; /** - * @see \wcf\system\condition\ICondition::getData() + * @inheritDoc */ public function getData() { if ($this->fieldValue != self::NO_SELECTION_VALUE) { - return array( - $this->fieldName => $this->fieldValue - ); + return [$this->fieldName => $this->fieldValue]; } return null; } /** - * @see \wcf\system\condition\AbstractSingleFieldCondition::getFieldElement() + * @inheritDoc */ protected function getFieldElement() { $options = $this->getOptions(); @@ -66,6 +64,15 @@ abstract class AbstractSelectCondition extends AbstractSingleFieldCondition { return $fieldElement; } + /** + * @inheritDoc + */ + public function getHTML() { + if (empty($this->getOptions())) return ''; + + return parent::getHTML(); + } + /** * Returns the html code for an opt group. * @@ -100,28 +107,28 @@ abstract class AbstractSelectCondition extends AbstractSingleFieldCondition { abstract protected function getOptions(); /** - * @see \wcf\system\condition\ICondition::readFormParameters() + * @inheritDoc */ public function readFormParameters() { if (isset($_POST[$this->fieldName])) $this->fieldValue = intval($_POST[$this->fieldName]); } /** - * @see \wcf\system\condition\ICondition::reset() + * @inheritDoc */ public function reset() { $this->fieldValue = self::NO_SELECTION_VALUE; } /** - * @see \wcf\system\condition\ICondition::setData() + * @inheritDoc */ public function setData(Condition $condition) { $this->fieldValue = $condition->conditionData[$this->fieldName]; } /** - * @see \wcf\system\condition\ICondition::validate() + * @inheritDoc */ public function validate() { if ($this->fieldValue != self::NO_SELECTION_VALUE) {