diff --git a/application/models/Survey.php b/application/models/Survey.php index 340cf734065..0171ffa7c6f 100644 --- a/application/models/Survey.php +++ b/application/models/Survey.php @@ -1615,15 +1615,18 @@ public function search() $criteria->addCondition("t.startdate >'$sNow'"); } + // Filter for surveys that are running now + // Must be active, started and not expired if ($this->active == "R") { $criteria->compare("t.active", 'Y'); - $subCriteria1 = new CDbCriteria(); - $subCriteria2 = new CDbCriteria(); - $subCriteria1->addCondition("'{$sNow}' > t.startdate", 'AND'); - $subCriteria1->addCondition("t.startdate IS NULL", 'OR'); - $subCriteria2->addCondition("t.expires IS NULL", 'AND'); - $subCriteria2->addCondition("'{$sNow}' < t.expires", 'OR'); - $criteria->mergeWith($subCriteria1); + $startedCriteria = new CDbCriteria(); + $startedCriteria->addCondition("'{$sNow}' > t.startdate"); + $startedCriteria->addCondition('t.startdate IS NULL', "OR"); + $notExpiredCriteria = new CDbCriteria(); + $notExpiredCriteria->addCondition("'{$sNow}' < t.expires"); + $notExpiredCriteria->addCondition('t.expires IS NULL', "OR"); + $criteria->mergeWith($startedCriteria); + $criteria->mergeWith($notExpiredCriteria); } } }