diff --git a/classes/eval/LimeExpressionManager.php b/classes/eval/LimeExpressionManager.php index 53f080e429a..b291a7e5f60 100644 --- a/classes/eval/LimeExpressionManager.php +++ b/classes/eval/LimeExpressionManager.php @@ -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; diff --git a/common_functions.php b/common_functions.php index b5d54326531..65234f152db 100644 --- a/common_functions.php +++ b/common_functions.php @@ -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.
$query
".$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'; @@ -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']; } @@ -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']; @@ -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; } @@ -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; } @@ -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"; @@ -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; } } } @@ -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; } } } @@ -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, @@ -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; } } } @@ -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']]; @@ -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; } } } @@ -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") @@ -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']; } } @@ -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'];