diff --git a/application/controllers/admin/database.php b/application/controllers/admin/database.php index bbe9658d1ad..13087f46664 100644 --- a/application/controllers/admin/database.php +++ b/application/controllers/admin/database.php @@ -112,6 +112,16 @@ function index($sa = null) } } } + if ($qtproperties[$questiontype]['answerscales']==0 && $qtproperties[$questiontype]['subquestions']==0) + { + foreach ($questlangs as $language) + { + if (Yii::app()->request->getPost($_POST['defaultanswerscale_0_'.$language.'_0'])) + { + $this->_updateDefaultValues($postqid,0,0,'',$language,Yii::app()->request->getPost['defaultanswerscale_0_'.$language.'_0'],true); + } + } + } Yii::app()->session['flashmessage'] = $clang->gT("Default value settings were successfully saved."); LimeExpressionManager::SetDirtyFlag(); diff --git a/application/helpers/common_helper.php b/application/helpers/common_helper.php index c592004e0e8..2b0a3365315 100644 --- a/application/helpers/common_helper.php +++ b/application/helpers/common_helper.php @@ -92,7 +92,7 @@ function getQuestionTypeList($SelectedCode = "T", $ReturnType = "selector") "D" => array('description' => $clang->gT("Date/Time"), 'group' => $group['MaskQuestions'], 'subquestions' => 0, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "E" => array('description' => $clang->gT("Array (Increase/Same/Decrease)"), @@ -127,7 +127,7 @@ function getQuestionTypeList($SelectedCode = "T", $ReturnType = "selector") 'answerscales' => 0), "K" => array('description' => $clang->gT("Multiple Numerical Input"), 'group' => $group['MaskQuestions'], - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'subquestions' => 1, 'assessable' => 1, 'answerscales' => 0), @@ -146,7 +146,7 @@ function getQuestionTypeList($SelectedCode = "T", $ReturnType = "selector") "N" => array('description' => $clang->gT("Numerical Input"), 'group' => $group['MaskQuestions'], 'subquestions' => 0, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "O" => array('description' => $clang->gT("List with comment"), @@ -164,7 +164,7 @@ function getQuestionTypeList($SelectedCode = "T", $ReturnType = "selector") "Q" => array('description' => $clang->gT("Multiple Short Text"), 'group' => $group['TextQuestions'], 'subquestions' => 1, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "R" => array('description' => $clang->gT("Ranking"), @@ -176,19 +176,19 @@ function getQuestionTypeList($SelectedCode = "T", $ReturnType = "selector") "S" => array('description' => $clang->gT("Short Free Text"), 'group' => $group['TextQuestions'], 'subquestions' => 0, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "T" => array('description' => $clang->gT("Long Free Text"), 'group' => $group['TextQuestions'], 'subquestions' => 0, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "U" => array('description' => $clang->gT("Huge Free Text"), 'group' => $group['TextQuestions'], 'subquestions' => 0, - 'hasdefaultvalues' => 0, + 'hasdefaultvalues' => 1, 'assessable' => 0, 'answerscales' => 0), "X" => array('description' => $clang->gT("Text display"), diff --git a/application/helpers/expressions/em_manager_helper.php b/application/helpers/expressions/em_manager_helper.php index 206330ece03..1f45a56749e 100644 --- a/application/helpers/expressions/em_manager_helper.php +++ b/application/helpers/expressions/em_manager_helper.php @@ -2190,7 +2190,7 @@ function ProcessAllNeededRelevance($onlyThisQseq=NULL) * @return - the original $string with all replacements done. */ - static function ProcessString($string, $questionNum=NULL, $replacementFields=array(), $debug=false, $numRecursionLevels=1, $whichPrettyPrintIteration=1, $noReplacements=false, $timeit=true) + static function ProcessString($string, $questionNum=NULL, $replacementFields=array(), $debug=false, $numRecursionLevels=1, $whichPrettyPrintIteration=1, $noReplacements=false, $timeit=true, $staticReplacement=false) { $now = microtime(true); $LEM =& LimeExpressionManager::singleton(); @@ -2221,7 +2221,7 @@ static function ProcessString($string, $questionNum=NULL, $replacementFields=arr } $stringToParse = $string; // decode called later htmlspecialchars_decode($string,ENT_QUOTES); $qnum = is_null($questionNum) ? 0 : $questionNum; - $result = $LEM->em->sProcessStringContainingExpressions($stringToParse,$qnum, $numRecursionLevels, $whichPrettyPrintIteration, $groupSeq, $questionSeq); + $result = $LEM->em->sProcessStringContainingExpressions($stringToParse,$qnum, $numRecursionLevels, $whichPrettyPrintIteration, $groupSeq, $questionSeq, $staticReplacement); $hasErrors = $LEM->em->HasErrors(); if ($hasErrors && (($LEM->debugLevel & LEM_DEBUG_LOG_SYNTAX_ERRORS_TO_DB) == LEM_DEBUG_LOG_SYNTAX_ERRORS_TO_DB)) { $error = array( @@ -4175,7 +4175,9 @@ function _ValidateQuestion($questionSeq) foreach ($sgqas as $sgqa) { if (!is_null($LEM->knownVars[$sgqa]['default']) && !isset($_SESSION[$sgqa])) { - $_SESSION[$sgqa] = $LEM->knownVars[$sgqa]['default']; + // add support for replacements + $defaultVal = $LEM->ProcessString($LEM->knownVars[$sgqa]['default'], NULL, NULL, false, 1, 1, false, false, true); + $_SESSION[$sgqa] = $defaultVal; } } diff --git a/application/views/admin/survey/Question/editdefaultvalues_view.php b/application/views/admin/survey/Question/editdefaultvalues_view.php index 02b4de7bee4..1f9545ab5f4 100644 --- a/application/views/admin/survey/Question/editdefaultvalues_view.php +++ b/application/views/admin/survey/Question/editdefaultvalues_view.php @@ -78,8 +78,24 @@ ?> +
  • + +
  • + 1) {