Skip to content

Commit

Permalink
Fixed issue Print Answers showing some irrelevant questions
Browse files Browse the repository at this point in the history
Dev This is now fixed, even if you use array_filter.  Only relevant groups/questions/sub-questions will be shown.

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_yii@12163 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
TMSWhite committed Jan 23, 2012
1 parent 65152d7 commit 1d7f56e
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions application/helpers/common_helper.php
Expand Up @@ -5617,10 +5617,21 @@ function getFullResponseTable($iSurveyID, $iResponseID, $sLanguageCode, $bHonorC
//Get response data
$idrow = Surveys_dynamic::model($iSurveyID)->findByAttributes(array('id'=>$iResponseID));

// Create array of non-null values - those are the relevant ones
$aRelevantFields = array();

foreach ($aFieldMap as $sKey=>$fname)
{
if (!is_null($idrow[$fname['fieldname']]))
{
$aRelevantFields[$sKey]=$fname;
}
}

$aResultTable=array();
$oldgid = 0;
$oldqid = 0;
foreach ($aFieldMap as $sKey=>$fname)
foreach ($aRelevantFields as $sKey=>$fname)
{
if (!empty($fname['qid']))
{
Expand All @@ -5645,21 +5656,14 @@ function getFullResponseTable($iSurveyID, $iResponseID, $sLanguageCode, $bHonorC
if ($oldqid !== $fname['qid'])
{
$oldqid = $fname['qid'];
if (($bHonorConditions && LimeExpressionManager::QuestionIsRelevant($fname['qid'])) || !$bHonorConditions)
if (isset($fname['subquestion']) || isset($fname['subquestion1']) || isset($fname['subquestion2']))
{
if (isset($fname['subquestion']) || isset($fname['subquestion1']) || isset($fname['subquestion2']))
{
$aResultTable['qid_'.$fname['sid'].'X'.$fname['gid'].'X'.$fname['qid']]=array($fname['question'],'','');
}
else
{
$answer = getExtendedAnswer($fname['fieldname'], $idrow[$fname['fieldname']]);
$aResultTable[$fname['fieldname']]=array($question,'',$answer);
continue;
}
$aResultTable['qid_'.$fname['sid'].'X'.$fname['gid'].'X'.$fname['qid']]=array($fname['question'],'','');
}
else
{
$answer = getExtendedAnswer($fname['fieldname'], $idrow[$fname['fieldname']]);
$aResultTable[$fname['fieldname']]=array($question,'',$answer);
continue;
}
}
Expand Down

0 comments on commit 1d7f56e

Please sign in to comment.