From db19b551777d408f55694cb68dfb0a76b39fcc89 Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Mon, 3 Nov 2014 15:42:05 +0100 Subject: [PATCH] Fixed issue #09343: Unable to see Question group survey_logic_file after import Dev: just deactivate for expression logic file : bug with browse and export --- .../helpers/expressions/em_manager_helper.php | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php index fc86a680741..d3911a1f477 100644 --- a/application/helpers/expressions/em_manager_helper.php +++ b/application/helpers/expressions/em_manager_helper.php @@ -8278,32 +8278,33 @@ function getAnswerSetsForEM($surveyid=NULL,$qid=NULL,$lang=NULL) function getGroupInfoForEM($surveyid,$lang=NULL) { - if (!is_null($lang)) { - $lang = " and a.language='".$lang."'"; + if (is_null($lang) && isset($_SESSION['LEMlang'])) + { + $lang = $_SESSION['LEMlang']; } - $query = "SELECT a.group_name, a.description, a.gid, a.group_order, a.grelevance" - ." FROM {{groups}} AS a" - ." WHERE a.sid=".$surveyid - .$lang - ." ORDER BY group_order"; - - $data = dbExecuteAssoc($query); - + elseif(is_null($lang)) + { + $lang=Survey::model()->findByPk($surveyid)->language; + } + $oQuestionGroups=QuestionGroup::model()->findAll(array('condition'=>"sid=:sid and language=:language",'order'=>'group_order','params'=>array(":sid"=>$surveyid,':language'=>$lang))); $qinfo = array(); $_order=0; - foreach ($data as $d) + foreach ($oQuestionGroups as $oQuestionGroup) { - $gid[$d['gid']] = array( + $gid[$oQuestionGroup->gid] = array( 'group_order' => $_order, - 'gid' => $d['gid'], - 'group_name' => $d['group_name'], - 'description' => $d['description'], - 'grelevance' => (!($this->sPreviewMode=='question' || $this->sPreviewMode=='group')) ? $d['grelevance']:1, - ); - $qinfo[$_order] = $gid[$d['gid']]; + 'gid' => $oQuestionGroup->gid, + 'group_name' => $oQuestionGroup->group_name, + 'description' => $oQuestionGroup->description, + 'grelevance' => (!($this->sPreviewMode=='question' || $this->sPreviewMode=='group')) ? $oQuestionGroup->grelevance:1, + ); + $qinfo[$_order] = $gid[$oQuestionGroup->gid]; ++$_order; } - if (isset($_SESSION['survey_'.$surveyid]) && isset($_SESSION['survey_'.$surveyid]['grouplist'])) { + // Needed for Randomization group. + $groupRemap= (!$this->sPreviewMode && !empty($_SESSION['survey_'.$surveyid]['groupReMap']) && !empty($_SESSION['survey_'.$surveyid]['grouplist'])); + if ($groupRemap) + { $_order=0; $qinfo = array(); foreach ($_SESSION['survey_'.$surveyid]['grouplist'] as $info) @@ -8313,7 +8314,6 @@ function getGroupInfoForEM($surveyid,$lang=NULL) ++$_order; } } - return $qinfo; }