From 154fdef25d823bd386e80b85c15a4d80b83a29cf Mon Sep 17 00:00:00 2001 From: tmswhite Date: Mon, 30 Jan 2012 04:54:34 +0000 Subject: [PATCH] Fixed issue #05690: Logic File does not show sub-question level default values git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_dev@12250 b72ed6b6-b9f8-46b5-92b4-906544132732 --- classes/eval/LimeExpressionManager.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/classes/eval/LimeExpressionManager.php b/classes/eval/LimeExpressionManager.php index b291a7e5f60..e96c932e91b 100644 --- a/classes/eval/LimeExpressionManager.php +++ b/classes/eval/LimeExpressionManager.php @@ -5920,7 +5920,20 @@ static public function ShowSurveyLogicFile($sid, $gid=NULL, $qid=NULL,$LEMdebugL $type = $q['info']['type']; $typedesc = $qtypes[$type]['description']; - $default = (is_null($q['info']['default']) ? '' : '

(DEFAULT: ' . $q['info']['default'] . ')

'); + $sgqas = explode('|',$q['sgqa']); + if (count($sgqas) == 1 && !is_null($q['info']['default'])) + { + $LEM->ProcessString($q['info']['default'], $qid,NULL,false,1,1,false,false); + $_default = $LEM->GetLastPrettyPrintExpression(); + if ($LEM->em->HasErrors()) { + ++$errorCount; + } + $default = '
(' . $LEM->gT('DEFAULT:') . ' ' . $_default . ')'; + } + else + { + $default = ''; + } $qtext = (($q['info']['qtext'] != '') ? $q['info']['qtext'] : ' '); $help = (($q['info']['help'] != '') ? '
[HELP: ' . $q['info']['help'] . ']': ''); @@ -6074,7 +6087,6 @@ static public function ShowSurveyLogicFile($sid, $gid=NULL, $qid=NULL,$LEMdebugL ////// // SHOW ALL SUB-QUESTIONS ////// - $sgqas = explode('|',$q['sgqa']); $sqRows=''; $i=0; $sawthis = array(); // array of rowdivids already seen so only show them once @@ -6134,6 +6146,16 @@ static public function ShowSurveyLogicFile($sid, $gid=NULL, $qid=NULL,$LEMdebugL $sgqaInfo = $LEM->knownVars[$sgqa]; $subqText = $sgqaInfo['subqtext']; + if (isset($sgqaInfo['default']) && $sgqaInfo['default'] !== '') + { + $LEM->ProcessString($sgqaInfo['default'], $qid,NULL,false,1,1,false,false); + $_default = $LEM->GetLastPrettyPrintExpression(); + if ($LEM->em->HasErrors()) { + ++$errorCount; + } + $subQeqn .= '
(' . $LEM->gT('DEFAULT:') . ' ' . $_default . ')'; + } + $sqRows .= "" . "SQ-$i" . "" . $varName . ""