Skip to content

Commit

Permalink
Fixed issue #05702: Invalid question - probably missing sub-questions…
Browse files Browse the repository at this point in the history
… or language-specific settings for language en

Dev core problem is that groups.group_order can have gaps - needed to ensure groupSeq count is sequential from 0

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_dev@12246 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
tmswhite committed Jan 28, 2012
1 parent 1a11716 commit 6fc4099
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 16 deletions.
6 changes: 4 additions & 2 deletions classes/eval/LimeExpressionManager.php
Expand Up @@ -5702,15 +5702,17 @@ function getGroupInfoForEM($surveyid,$lang=NULL)
$data = db_execute_assoc($query);

$qinfo = array();
$_order=0;
foreach ($data as $d)
{
$qinfo[$d['group_order']] = array(
'group_order' => $d['group_order'],
$qinfo[$_order] = array(
'group_order' => $_order,
'gid' => $d['gid'],
'group_name' => $d['group_name'],
'description' => $d['description'],
'grelevance' => $d['grelevance'],
);
++$_order;
}

return $qinfo;
Expand Down
36 changes: 22 additions & 14 deletions common_functions.php
Expand Up @@ -2437,11 +2437,19 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$aresult = db_execute_assoc($aquery) or safe_die ("Couldn't get list of questions in createFieldMap function.<br />$query<br />".$connect->ErrorMsg()); //Checked

$questionSeq=-1; // this is incremental question sequence across all groups
$groupSeq=-1;
$_groupOrder=-1;

while ($arow=$aresult->FetchRow()) //With each question, create the appropriate field(s)
{
++$questionSeq;

// fix fact taht group_order may have gaps
if ($_groupOrder != $arow['group_order']) {
$_groupOrder = $arow['group_order'];
++$groupSeq;
}

// Conditions indicators are obsolete with EM. However, they are so tightly coupled into LS code that easider to just set values to 'N' for now and refactor later.
$conditions = 'N';
$usedinconditions = 'N';
Expand All @@ -2468,7 +2476,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
if (isset($defaultValues[$arow['qid'].'~0'])) {
$fieldmap[$fieldname]['defaultvalue'] = $defaultValues[$arow['qid'].'~0'];
}
Expand Down Expand Up @@ -2500,7 +2508,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['other']=$arow['other'];
if (isset($defaultValues[$arow['qid'].'~other'])) {
$fieldmap[$fieldname]['defaultvalue'] = $defaultValues[$arow['qid'].'~other'];
Expand Down Expand Up @@ -2529,7 +2537,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
break;
}
Expand Down Expand Up @@ -2579,7 +2587,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['preg']=$arow['preg'];
$fieldmap[$fieldname]['answerList']=$answerList;
}
Expand All @@ -2606,7 +2614,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}

$fieldname="{$arow['sid']}X{$arow['gid']}X{$arow['qid']}{$abrow['title']}#1";
Expand All @@ -2623,7 +2631,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
}
}
Expand All @@ -2647,7 +2655,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
}
}
Expand Down Expand Up @@ -2679,7 +2687,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
$fieldname="{$arow['sid']}X{$arow['gid']}X{$arow['qid']}"."_filecount";
$fieldmap[$fieldname]=array("fieldname"=>$fieldname,
Expand All @@ -2699,7 +2707,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
}
}
Expand Down Expand Up @@ -2728,7 +2736,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['preg']=$arow['preg'];
if (isset($defaultValues[$arow['qid'].'~'.$abrow['qid']])) {
$fieldmap[$fieldname]['defaultvalue'] = $defaultValues[$arow['qid'].'~'.$abrow['qid']];
Expand All @@ -2749,7 +2757,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
}
}
}
Expand All @@ -2768,7 +2776,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['other']=$arow['other'];
}
if ($arow['type']=="P")
Expand All @@ -2786,7 +2794,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['hasconditions']=$conditions;
$fieldmap[$fieldname]['usedinconditions']=$usedinconditions;
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['other']=$arow['other'];
}
}
Expand All @@ -2795,7 +2803,7 @@ function createFieldMap($surveyid, $style='full', $force_refresh=false, $questio
$fieldmap[$fieldname]['relevance']=$arow['relevance'];
$fieldmap[$fieldname]['grelevance']=$arow['grelevance'];
$fieldmap[$fieldname]['questionSeq']=$questionSeq;
$fieldmap[$fieldname]['groupSeq']=$arow['group_order'];
$fieldmap[$fieldname]['groupSeq']=$groupSeq;
$fieldmap[$fieldname]['preg']=$arow['preg'];
$fieldmap[$fieldname]['other']=$arow['other'];
$fieldmap[$fieldname]['help']=$arow['help'];
Expand Down

0 comments on commit 6fc4099

Please sign in to comment.