* @subpackage system.condition
* @category Community Framework
*/
-abstract class AbstractIntegerCondition extends AbstractMultipleFieldsCondition {
+abstract class AbstractIntegerCondition extends AbstractSingleFieldCondition {
/**
* property value has to be greater than the given value
* @var integer
*/
protected $identifier = '';
- /**
- * prefix used for error message language items
- * @var string
- */
- protected $languageItemPrefix = '';
-
/**
* property value has to be less than the given value
* @var integer
*/
protected $maxValue = null;
- /**
- * language item with the global maximum value error message
- * @var string
- */
- protected $maxValueErrorMessage = null;
-
/**
* minimum value the property can have
* @var integer
*/
protected $minValue = null;
- /**
- * language item with the global minimum value error message
- * @var string
- */
- protected $minValueErrorMessage = null;
-
/**
* name of the integer user property
* @var string
/**
* @see \wcf\system\condition\AbstractMultipleFieldsCondition::getData()
*/
- protected function getErrorMessageElement($identifier) {
- if (isset($this->errorMessages[$identifier])) {
+ protected function getErrorMessageElement() {
+ if ($this->errorMessage) {
$errorMessage = '';
- switch ($this->errorMessages[$identifier]) {
- case $this->languageItemPrefix.'.greaterThan.error.maxValue':
- case $this->languageItemPrefix.'.lessThan.error.maxValue':
- $errorMessage = WCF::getLanguage()->getDynamicVariable($this->maxValueErrorMessage ? $this->maxValueErrorMessage : $this->errorMessages[$identifier], array(
+ switch ($this->errorMessage) {
+ case 'wcf.condition.greaterThan.error.maxValue':
+ case 'wcf.condition.lessThan.error.maxValue':
+ $errorMessage = WCF::getLanguage()->getDynamicVariable($this->errorMessage, array(
'maxValue' => $this->maxValue
));
break;
- case $this->languageItemPrefix.'.greaterThan.error.minValue':
- case $this->languageItemPrefix.'.lessThan.error.minValue':
- $errorMessage = WCF::getLanguage()->getDynamicVariable($this->minValueErrorMessage ? $this->minValueErrorMessage : $this->errorMessages[$identifier], array(
+ case 'wcf.condition.greaterThan.error.minValue':
+ case 'wcf.condition.lessThan.error.minValue':
+ $errorMessage = WCF::getLanguage()->getDynamicVariable($this->errorMessage, array(
'minValue' => $this->minValue
));
break;
default:
- $errorMessage = WCF::getLanguage()->get($this->errorMessages[$identifier]);
+ $errorMessage = WCF::getLanguage()->get($this->errorMessage);
break;
}
+
return '<small class="innerError">'.$errorMessage.'</small>';
}
}
/**
- * @see \wcf\system\condition\ICondition::getHTML()
+ * @see \wcf\system\condition\AbstractSingleFieldCondition::getFieldElement()
*/
- public function getHTML() {
+ public function getFieldElement() {
+ $greaterThanPlaceHolder = WCF::getLanguage()->get('wcf.condition.greaterThan');
+ $lessThanPlaceHolder = WCF::getLanguage()->get('wcf.condition.lessThan');
+
return <<<HTML
-<dl>
- <dt>{$this->getLabel('lessThan')}</dt>
- <dd>
- <input type="number" name="lessThan_{$this->getIdentifier()}" value="{$this->lessThan}"{$this->getMinMaxAttributes('lessThan')} />
- {$this->getDescriptionElement('lessThan')}
- {$this->getErrorMessageElement('lessThan')}
- </dd>
-</dl>
-
-<dl>
- <dt>{$this->getLabel('greaterThan')}</dt>
- <dd>
- <input type="number" name="greaterThan_{$this->getIdentifier()}" value="{$this->greaterThan}"{$this->getMinMaxAttributes('greaterThan')} />
- {$this->getDescriptionElement('greaterThan')}
- {$this->getErrorMessageElement('greaterThan')}
- </dd>
-</dl>
+<input type="number" name="greaterThan_{$this->getIdentifier()}" value="{$this->greaterThan}" placeholder="{$greaterThanPlaceHolder}"{$this->getMinMaxAttributes('greaterThan')} />
+<input type="number" name="lessThan_{$this->getIdentifier()}" value="{$this->lessThan}" placeholder="{$lessThanPlaceHolder}"{$this->getMinMaxAttributes('lessThan')} />
HTML;
}
public function validate() {
if ($this->lessThan !== null) {
if ($this->getMinValue() !== null && $this->lessThan <= $this->getMinValue()) {
- $this->errorMessages['lessThan'] = $this->languageItemPrefix.'.lessThan.error.minValue';
+ $this->errorMessage = 'wcf.condition.lessThan.error.minValue';
throw new UserInputException('lessThan', 'minValue');
}
else if ($this->getMaxValue() !== null && $this->lessThan > $this->getMaxValue()) {
- $this->errorMessages['lessThan'] = $this->languageItemPrefix.'.lessThan.error.maxValue';
+ $this->errorMessages['lessThan'] = 'wcf.condition.lessThan.error.maxValue';
throw new UserInputException('lessThan', 'maxValue');
}
}
if ($this->greaterThan !== null) {
if ($this->getMinValue() !== null && $this->greaterThan < $this->getMinValue()) {
- $this->errorMessages['greaterThan'] = $this->languageItemPrefix.'.greaterThan.error.minValue';
+ $this->errorMessages['greaterThan'] = 'wcf.condition.greaterThan.error.minValue';
throw new UserInputException('greaterThan', 'minValue');
}
else if ($this->getMaxValue() !== null && $this->greaterThan >= $this->getMaxValue()) {
- $this->errorMessages['greaterThan'] = $this->languageItemPrefix.'.greaterThan.error.maxValue';
+ $this->errorMessages['greaterThan'] = 'wcf.condition.greaterThan.error.maxValue';
throw new UserInputException('greaterThan', 'maxValue');
}
}
if ($this->lessThan !== null && $this->greaterThan !== null && $this->greaterThan + 1 >= $this->lessThan) {
- $this->errorMessages['greaterThan'] = $this->languageItemPrefix.'.greaterThan.error.lessThan';
+ $this->errorMessage = 'wcf.condition.greaterThan.error.lessThan';
throw new UserInputException('greaterThan', 'lessThan');
}
* @category Community Framework
*/
class UserIntegerPropertyCondition extends AbstractIntegerCondition implements IContentCondition, IUserCondition {
- /**
- * @see \wcf\system\condition\AbstractIntegerCondition::$maxValueErrorMessage
- */
- protected $maxValueErrorMessage = 'wcf.user.condition.integerProperty.error.maxValue';
-
- /**
- * @see \wcf\system\condition\AbstractIntegerCondition::$minValueErrorMessage
- */
- protected $minValueErrorMessage = 'wcf.user.condition.integerProperty.error.minValue';
-
- /**
- * @see \wcf\data\DatabaseObjectDecorator::__construct()
- */
- public function __construct(DatabaseObject $object) {
- parent::__construct($object);
-
- $this->languageItemPrefix = 'wcf.user.condition.'.$this->getDecoratedObject()->propertyname;
- }
-
/**
* @see \wcf\system\condition\IUserCondition::addUserCondition()
*/
}
/**
- * @see \wcf\system\condition\AbstractMultipleFieldsCondition::getLabel()
+ * @see \wcf\system\condition\AbstractSingleFieldCondition::getLabel()
*/
- protected function getLabel($identifier) {
- return WCF::getLanguage()->get('wcf.user.condition.'.$this->getDecoratedObject()->propertyname.'.'.$identifier);
+ protected function getLabel() {
+ return WCF::getLanguage()->get('wcf.user.condition.'.$this->getDecoratedObject()->propertyname);
}
/**
/**
* @see \wcf\system\condition\AbstractMultipleFieldsCondition::$languageItemPrefix
*/
- protected $labels = array(
- 'greaterThan' => 'wcf.user.condition.registrationDateInterval.greaterThan',
- 'lessThan' => 'wcf.user.condition.registrationDateInterval.lessThan'
- );
-
- /**
- * @see \wcf\system\condition\AbstractIntegerCondition::$languageItemPrefix
- */
- protected $languageItemPrefix = 'wcf.user.condition.registrationDateInterval';
-
- /**
- * @see \wcf\system\condition\AbstractIntegerCondition::$maxValueErrorMessage
- */
- protected $maxValueErrorMessage = 'wcf.user.condition.integerProperty.error.maxValue';
+ protected $label = 'wcf.user.condition.registrationDateInterval';
/**
* @see \wcf\system\condition\AbstractIntegerCondition::$minValue
*/
protected $minValue = 0;
- /**
- * @see \wcf\system\condition\AbstractIntegerCondition::$minValueErrorMessage
- */
- protected $minValueErrorMessage = 'wcf.user.condition.integerProperty.error.minValue';
-
/**
* @see \wcf\system\condition\IUserCondition::addUserCondition()
*/
return 'user_registrationDateInterval';
}
- /**
- * @see \wcf\system\condition\AbstractMultipleFieldsCondition::getLabel()
- */
- protected function getLabel($identifier) {
- return WCF::getLanguage()->get('wcf.user.condition.registrationDateInterval.'.$identifier);
- }
-
/**
* @see \wcf\system\condition\IContentCondition::showContent()
*/
<item name="wcf.comment.guestDialog.title"><![CDATA[TODO]]></item>
</category>
+ <category name="wcf.condition">
+ <item name="wcf.condition.greaterThan"><![CDATA[mehr als]]></item>
+ <item name="wcf.condition.greaterThan.error.lessThan"><![CDATA[Der Minimalwert und der Maximalwert sind widersprüchlich.]]></item>
+ <item name="wcf.condition.greaterThan.error.maxValue"><![CDATA[Der Maximalwert darf nicht größer sein als {#$maxValue}.]]></item>
+ <item name="wcf.condition.greaterThan.error.minValue"><![CDATA[Der Maximalwert darf nicht kleiner sein als {#$minValue}.]]></item>
+ <item name="wcf.condition.lessThan"><![CDATA[weniger als]]></item>
+ <item name="wcf.condition.lessThan.error.maxValue"><![CDATA[Der Minimalwert darf nicht größer sein als {#$maxValue}.]]></item>
+ <item name="wcf.condition.lessThan.error.minValue"><![CDATA[Der Minimalwert darf nicht kleiner sein als {#$minValue}.]]></item>
+ </category>
+
<category name="wcf.dashboard">
<item name="wcf.dashboard.box.availableBoxes"><![CDATA[Deaktivierte Boxen]]></item>
<item name="wcf.dashboard.box.enabledBoxes"><![CDATA[Aktive Boxen]]></item>
</category>
<category name="wcf.user.condition">
- <item name="wcf.user.condition.activityPoints.greaterThan"><![CDATA[Punkte mehr als]]></item>
- <item name="wcf.user.condition.activityPoints.greaterThan.error.lessThan"><![CDATA[Die Werte in „Punkte weniger als“ und „Punkte mehr als“ sind widersprüchlich.]]></item>
- <item name="wcf.user.condition.activityPoints.lessThan"><![CDATA[Punkte weniger als]]></item>
+ <item name="wcf.user.condition.activityPoints"><![CDATA[Punkte]]></item>
<item name="wcf.user.condition.avatar"><![CDATA[Avatar]]></item>
<item name="wcf.user.condition.avatar.avatar"><![CDATA[Eigener Avatar]]></item>
<item name="wcf.user.condition.avatar.gravatar"><![CDATA[Gravatar]]></item>
<item name="wcf.user.condition.conditionGroup.userOptions"><![CDATA[Persönliche Daten]]></item>
<item name="wcf.user.condition.groupIDs"><![CDATA[in Benutzergruppen]]></item>
<item name="wcf.user.condition.groupIDs.description"><![CDATA[Benutzer müssen in den ausgewählten Benutzergruppen Mitglied sein.]]></item>
- <item name="wcf.user.condition.integerProperty.error.maxValue"><![CDATA[Der Wert darf nicht kleiner sein {#$minValue}.]]></item>
- <item name="wcf.user.condition.integerProperty.error.minValue"><![CDATA[Der Wert muss größer sein als {#$minValue}.]]></item>
<item name="wcf.user.condition.languages"><![CDATA[Sprachen]]></item>
- <item name="wcf.user.condition.likesReceived.greaterThan"><![CDATA[Erhaltene Likes mehr als]]></item>
- <item name="wcf.user.condition.likesReceived.greaterThan.error.lessThan"><![CDATA[Die Werte in „Erhaltene Likes weniger als“ und „Erhaltene Likes mehr als“ sind widersprüchlich.]]></item>
- <item name="wcf.user.condition.likesReceived.lessThan"><![CDATA[Erhaltene Likes weniger als]]></item>
+ <item name="wcf.user.condition.likesReceived"><![CDATA[Erhaltene Likes]]></item>
<item name="wcf.user.condition.notGroupIDs"><![CDATA[nicht in Benutzergruppen]]></item>
<item name="wcf.user.condition.notGroupIDs.description"><![CDATA[Benutzer dürfen in den ausgewählten Benutzergruppen nicht Mitglied sein.]]></item>
<item name="wcf.user.condition.notGroupIDs.error.groupIDsIntersection"><![CDATA[Die ausgewählten Benutzergruppen in „in Benutzergruppen“ und „nicht in Benutzergruppen“ sind widersprüchlich.]]></item>
<item name="wcf.user.condition.registrationDate.error.endBeforeStart"><![CDATA[Das Enddatum ist vor dem Startdatum.]]></item>
<item name="wcf.user.condition.registrationDate.error.endNotValid"><![CDATA[Das Startdatum ist ungültig.]]></item>
<item name="wcf.user.condition.registrationDate.error.startNotValid"><![CDATA[Das Enddatum ist ungültig.]]></item>
- <item name="wcf.user.condition.registrationDateInterval.greaterThan"><![CDATA[mehr als X Tage registiert]]></item>
- <item name="wcf.user.condition.registrationDateInterval.greaterThan.error.lessThan"><![CDATA[Die Werte in „weniger als X Tage registiert“ und „mehr als X Tage registiert“ sind widersprüchlich.]]></item>
- <item name="wcf.user.condition.registrationDateInterval.lessThan"><![CDATA[weniger als X Tage registiert]]></item>
+ <item name="wcf.user.condition.registrationDateInterval"><![CDATA[Tage seit Registierung]]></item>
<item name="wcf.user.condition.state"><![CDATA[Zustand]]></item>
<item name="wcf.user.condition.state.isBanned"><![CDATA[Gesperrt]]></item>
<item name="wcf.user.condition.state.isBanned.error.conflict"><![CDATA[„Gesperrt“ und „Nicht gesperrt“ können nicht gleichzeitig ausgewählt werden.]]></item>
<item name="wcf.comment.guestDialog.title"><![CDATA[TODO]]></item>
</category>
+ <category name="wcf.condition">
+ <item name="wcf.condition.greaterThan"><![CDATA[greater than]]></item>
+ <item name="wcf.condition.greaterThan.error.lessThan"><![CDATA[The minimal value and the maximum value are conflicting.]]></item>
+ <item name="wcf.condition.greaterThanerror.maxValue"><![CDATA[The maximum value may not be greater than {#$maxValue}.]]></item>
+ <item name="wcf.condition.greaterThan.error.minValue"><![CDATA[The maximum value may not be less than {#$minValue}.]]></item>
+ <item name="wcf.condition.lessThan"><![CDATA[less than]]></item>
+ <item name="wcf.condition.lessThan.error.maxValue"><![CDATA[The minimal value may not be greater than {#$maxValue}.]]></item>
+ <item name="wcf.condition.lessThan.error.minValue"><![CDATA[The minimal value may not be less than {#$minValue}.]]></item>
+ </category>
+
<category name="wcf.dashboard">
<item name="wcf.dashboard.box.availableBoxes"><![CDATA[Disabled Boxes]]></item>
<item name="wcf.dashboard.box.enabledBoxes"><![CDATA[Active Boxes]]></item>
</category>
<category name="wcf.user.condition">
- <item name="wcf.user.condition.activityPoints.greaterThan"><![CDATA[Points Greater Than]]></item>
- <item name="wcf.user.condition.activityPoints.greaterThan.error.lessThan"><![CDATA[The values in “Points Less Than“ and “Points Greater Than“ are conflicting.]]></item>
- <item name="wcf.user.condition.activityPoints.lessThan"><![CDATA[Points Less Than]]></item>
+ <item name="wcf.user.condition.activityPoints"><![CDATA[Points]]></item>
<item name="wcf.user.condition.avatar"><![CDATA[Avatar]]></item>
<item name="wcf.user.condition.avatar.avatar"><![CDATA[Own Avatar]]></item>
<item name="wcf.user.condition.avatar.gravatar"><![CDATA[Gravatar]]></item>
<item name="wcf.user.condition.conditionGroup.userOptions"><![CDATA[Personal Data]]></item>
<item name="wcf.user.condition.groupIDs"><![CDATA[in User Groups]]></item>
<item name="wcf.user.condition.groupIDs.description"><![CDATA[Users have to be a member of the selected user groups.]]></item>
- <item name="wcf.user.condition.integerProperty.error.maxValue"><![CDATA[The value may not be less than {#$minValue}.]]></item>
- <item name="wcf.user.condition.integerProperty.error.minValue"><![CDATA[The value has to be greater than {#$minValue}.]]></item>
<item name="wcf.user.condition.languages"><![CDATA[Languages]]></item>
- <item name="wcf.user.condition.likesReceived.greaterThan"><![CDATA[Likes Received Greater Than]]></item>
- <item name="wcf.user.condition.likesReceived.greaterThan.error.lessThan"><![CDATA[The values in “Likes Received Less Than“ and “Likes Received Greater Than“ are conflicting.]]></item>
- <item name="wcf.user.condition.likesReceived.lessThan"><![CDATA[Likes Received Less Than]]></item>
+ <item name="wcf.user.condition.likesReceived"><![CDATA[Likes Received]]></item>
<item name="wcf.user.condition.notGroupIDs"><![CDATA[not in User Groups]]></item>
<item name="wcf.user.condition.notGroupIDs.description"><![CDATA[Users may not be a member of the selected user groups.]]></item>
<item name="wcf.user.condition.notGroupIDs.error.groupIDsIntersection"><![CDATA[The selected user groups in “in User Groups“ and “not in User Groups“ are conflicting.]]></item>
<item name="wcf.user.condition.registrationDate.error.endBeforeStart"><![CDATA[The end date is prior to the start date.]]></item>
<item name="wcf.user.condition.registrationDate.error.endNotValid"><![CDATA[The start date is not valid.]]></item>
<item name="wcf.user.condition.registrationDate.error.startNotValid"><![CDATA[The end date is not valid.]]></item>
- <item name="wcf.user.condition.registrationDateInterval.greaterThan"><![CDATA[registered less than X days ago]]></item>
- <item name="wcf.user.condition.registrationDateInterval.greaterThan.error.lessThan"><![CDATA[The values in “registered less than X days ago“ and “registered more than X days ago“ are conflicting.]]></item>
- <item name="wcf.user.condition.registrationDateInterval.lessThan"><![CDATA[registered more than X days ago]]></item>
+ <item name="wcf.user.condition.registrationDateInterval"><![CDATA[Days since registration]]></item>
<item name="wcf.user.condition.state"><![CDATA[State]]></item>
<item name="wcf.user.condition.state.isBanned"><![CDATA[Banned]]></item>
<item name="wcf.user.condition.state.isBanned.error.conflict"><![CDATA[You may not simultaneously select “Banned“ and “Not Banned“.]]></item>