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'];