Make ignoring time `0` opt-in in AbstractTimestampCondition
authorMatthias Schmidt <gravatronics@live.com>
Sun, 23 Jul 2017 06:18:59 +0000 (08:18 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Sun, 23 Jul 2017 06:18:59 +0000 (08:18 +0200)
wcfsetup/install/files/lib/system/condition/AbstractTimestampCondition.class.php

index 3795e24990b5c07868ac3ca326a12e9d1b7e8dfc..5e4390844b6a8e9739099880a3bf09c3e8631924 100644 (file)
@@ -50,7 +50,10 @@ abstract class AbstractTimestampCondition extends AbstractSingleFieldCondition i
                        throw new \InvalidArgumentException("Object list is no instance of '{$className}', instance of '".get_class($objectList)."' given.");
                }
                
-               $objectList->getConditionBuilder()->add($objectList->getDatabaseTableAlias().'.'.$this->getPropertyName().' <> ?', [0]);
+               /** @noinspection PhpUndefinedFieldInspection */
+               if ($this->object->ignoreZeroTime) {
+                       $objectList->getConditionBuilder()->add($objectList->getDatabaseTableAlias() . '.' . $this->getPropertyName() . ' <> ?', [0]);
+               }
                if (isset($conditionData['endTime'])) {
                        $objectList->getConditionBuilder()->add($objectList->getDatabaseTableAlias().'.'.$this->getPropertyName().' < ?', [strtotime($conditionData['endTime']) + 86400]);
                }