PHP warning

Invalid argument supplied for foreach()

/var/www/html/LimeSurvey-develop/application/helpers/expressions/em_manager_helper.php(4482)

4470         /**
4471         * Check the relevance status of all questions on or before the current group.
4472         * This generates needed JavaScript for dynamic relevance, and sets flags about which questions and groups are relevant
4473         * @param string $onlyThisQseq
4474         * @return void
4475         */
4476         public function ProcessAllNeededRelevance($onlyThisQseq=NULL)
4477         {
4478             // TODO - in a running survey, only need to process the current Group.  For Admin mode, do we need to process all prior questions or not?
4479             //        $now = microtime(true);
4480 
4481             $grelComputed=array();  // so only process it once per group
4482             foreach($this->questionSeq2relevance as $rel)
4483             {
4484                 if (!is_null($onlyThisQseq) && $onlyThisQseq!=$rel['qseq']) {
4485                     continue;
4486                 }
4487                 $qid = $rel['qid'];
4488                 $gseq = $rel['gseq'];
4489                 if ($this->allOnOnePage) {
4490                     ;   // process relevance for all questions
4491                 }
4492                 else if ($gseq != $this->currentGroupSeq) {
4493                     continue;
4494                 }

Stack Trace

#0
+
 /var/www/html/LimeSurvey-develop/application/helpers/expressions/em_manager_helper.php(7175): LimeExpressionManager->ProcessAllNeededRelevance()
7170                     if ($gseq > $LEM->maxGroupSeq) {
7171                         $LEM->maxGroupSeq = $gseq;
7172                     }
7173 
7174                     if (!$LEM->allOnOnePage || ($LEM->allOnOnePage && !$LEM->processedRelevance)) {
7175                         $LEM->ProcessAllNeededRelevance();  // TODO - what if this is called using Survey or Data Entry format?
7176                         $LEM->_CreateSubQLevelRelevanceAndValidationEqns();
7177                         $LEM->processedRelevance=true;
7178                     }
7179                 }
7180             }
#1
+
 /var/www/html/LimeSurvey-develop/application/controllers/admin/dataentry.php(1709): LimeExpressionManager::StartProcessingGroup("10", false, "628888")
1704 
1705             // SURVEY NAME AND DESCRIPTION TO GO HERE
1706             $aGroups = QuestionGroup::model()->findAllByAttributes(['sid'=>$surveyid]);
1707             $aDataentryoutput = '';
1708             foreach ($aGroups as $arGroup) {
1709                 LimeExpressionManager::StartProcessingGroup($arGroup->gid, ($thissurvey['anonymized'] != "N"), $surveyid);
1710 
1711                 $aQuestions = Question::model()->findAllByAttributes(['sid'=>$surveyid, 'parent_qid'=>0, 'gid'=>$arGroup['gid']]);
1712                 $aDataentryoutput .= "\t<tr class='info'>\n"
1713                 ."<!-- Inside controller dataentry.php -->"
1714                 ."<td colspan='3'><h4>".flattenText($arGroup->questionGroupL10ns[$sDataEntryLanguage]->group_name, true)."</h4></td>\n"
#4
+
 /var/www/html/LimeSurvey-develop/application/core/Survey_Common_Action.php(83): CAction->runWithParamsInternal(dataentry, ReflectionMethod, array("surveyid" => "628888", "sa" => "view", "iSurveyId" => "628888", "iSurveyID" => "628888", ...))
78             $oMethod = new ReflectionMethod($this, $sDefault);
79         }
80 
81         // We're all good to go, let's execute it
82         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
83         return parent::runWithParamsInternal($this, $oMethod, $params);
84     }
85 
86     /**
87      * Some functions have different parameters, which are just an alias of the
88      * usual parameters we're getting in the url. This function just populates
2018-12-28 14:13:19 Apache/2.4.29 (Ubuntu) Yii Framework/1.1.20