/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2304)
2292 * This version properly handles nested curly braces and curly braces within strings within curly braces - both of which are needed to better support JavaScript 2293 * Users still need to add a space or carriage return after opening braces (and ideally before closing braces too) to avoid having them treated as expressions. 2294 * @param string $src 2295 * @return array 2296 */ 2297 public function asSplitStringOnExpressions($src) 2298 { 2299 // Empty string, return an array 2300 if ($src === "") { 2301 return array(); 2302 } 2303 // No replacement to do, preg_split get more time than strpos 2304 if (strpos($src, "{") === false || $src === "{" || $src === "}") { 2305 return array ( 2306 0 => array ($src,0,'STRING') 2307 ); 2308 }; 2309 2310 // Seems to need split and replacement 2311 $parts = preg_split($this->RDP_ExpressionRegex, $src, -1, (PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE)); 2312 2313 $count = count($parts); 2314 $tokens = array(); 2315 $inSQString = false; 2316 $inDQString = false;
#0 |
+
–
/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2304): strpos(null, "{") 2299 // Empty string, return an array 2300 if ($src === "") { 2301 return array(); 2302 } 2303 // No replacement to do, preg_split get more time than strpos 2304 if (strpos($src, "{") === false || $src === "{" || $src === "}") { 2305 return array ( 2306 0 => array ($src,0,'STRING') 2307 ); 2308 }; 2309 |
#1 |
+
–
/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(2003): ExpressionManager->asSplitStringOnExpressions(null) 1998 * @return string 1999 */ 2000 public function sProcessStringContainingExpressionsHelper($src, $questionNum, $staticReplacement = false) 2001 { 2002 // tokenize string by the {} pattern, properly dealing with strings in quotations, and escaped curly brace values 2003 $stringParts = $this->asSplitStringOnExpressions($src); 2004 $resolvedParts = array(); 2005 $prettyPrintParts = array(); 2006 $this->ResetErrorsAndWarnings(); 2007 foreach ($stringParts as $stringPart) { 2008 if ($stringPart[2] == 'STRING') { |
#2 |
+
–
/var/www/html/limesurvey/application/helpers/expressions/em_core_helper.php(1974): ExpressionManager->sProcessStringContainingExpressionsHelper(null, 40, false) 1969 1970 $prettyPrintIterationDone = false; 1971 for ($i = 1; $i <= $numRecursionLevels; ++$i) { 1972 // TODO - Since want to use <span> for dynamic substitution, what if there are recursive substititons? 1973 $prevResult = $result; 1974 $result = $this->sProcessStringContainingExpressionsHelper($result, $questionNum, $staticReplacement); 1975 if ($result === $prevResult) { 1976 // No update during process : can exit of iteration 1977 if (!$prettyPrintIterationDone) { 1978 $prettyPrint = $this->prettyPrintSource; 1979 } |
#3 |
+
–
/var/www/html/limesurvey/application/helpers/expressions/em_manager_helper.php(4158): ExpressionManager->sProcessStringContainingExpressions(null, 40, 1, 1, ...) 4153 $questionSeq = isset($LEM->questionId2questionSeq[$questionNum]) ? $LEM->questionId2questionSeq[$questionNum] : -1; 4154 $groupSeq = isset($LEM->questionId2groupSeq[$questionNum]) ? $LEM->questionId2groupSeq[$questionNum] : -1; 4155 } 4156 $stringToParse = $string; // decode called later htmlspecialchars_decode($string,ENT_QUOTES); 4157 $qnum = is_null($questionNum) ? 0 : $questionNum; 4158 $result = $LEM->em->sProcessStringContainingExpressions($stringToParse, $qnum, $numRecursionLevels, $whichPrettyPrintIteration, $groupSeq, $questionSeq, $staticReplacement); 4159 4160 if ($timeit) { 4161 $LEM->runtimeTimings[] = [__METHOD__, (microtime(true) - $now)]; 4162 } 4163 |
#4 |
+
–
/var/www/html/limesurvey/application/models/SurveyDynamic.php(805): LimeExpressionManager::ProcessString(null, 40, null, 1, ...) 800 $aQuestionAttributes['questionSrc'] = $oQuestion->questionl10ns[$sLanguage]->question; 801 $result = LimeExpressionManager::ProcessString($oQuestion->questionl10ns[$sLanguage]->question, 40, null, 1, 1); 802 $aQuestionAttributes['question'] = $result; 803 804 $aQuestionAttributes['helpSrc'] = $oQuestion->questionl10ns[$sLanguage]->help; 805 $result = LimeExpressionManager::ProcessString($oQuestion->questionl10ns[$sLanguage]->help, 40, null, 1, 1); 806 $aQuestionAttributes['help'] = $result; 807 808 809 $aQuestionAttributes['questionSrc'] = $oQuestion->questionl10ns[$sLanguage]->question; 810 $result = LimeExpressionManager::ProcessString($oQuestion->questionl10ns[$sLanguage]->question, 40, null, 1, 1); |
#5 |
+
–
/var/www/html/limesurvey/application/models/SurveyDynamic.php(825): SurveyDynamic->getQuestionArray(Question, SurveyDynamic, 1, true, ...) 820 //dont collect scale_id > 0 821 if ($oSubquestion->scale_id > 0) { 822 continue; 823 } 824 825 $subQuestionArray = $this->getQuestionArray($oSubquestion, $oResponses, $bHonorConditions, true, false, $sLanguage); 826 if ($oQuestion->type == "P") { 827 $subQuestionArray['comment'] = $this->getQuestionArray($oSubquestion, $oResponses, $bHonorConditions, true, true, $sLanguage); 828 } 829 830 $aQuestionAttributes['subquestions'][$oSubquestion->qid] = $subQuestionArray; |
#6 |
+
–
/var/www/html/limesurvey/application/models/SurveyDynamic.php(1039): SurveyDynamic->getQuestionArray(Question, SurveyDynamic, 1, false, ...) 1034 } 1035 1036 $aAnswersArray = array(); 1037 $aQuestionArray = $oGroup->questions; 1038 foreach ($aQuestionArray as $oQuestion) { 1039 $aQuestionArray = $this->getQuestionArray($oQuestion, $oResponses, $bHonorConditions, false, false, $sLanguage); 1040 1041 if ($aQuestionArray === false) { 1042 continue; 1043 } 1044 |
#7 |
+
–
/var/www/html/limesurvey/application/controllers/PrintanswersController.php(122): SurveyDynamic->getPrintAnswersArray("29", "en", 1) 117 $sAnonymized = $aSurveyInfo['anonymized']; 118 //OK. IF WE GOT THIS FAR, THEN THE SURVEY EXISTS AND IT IS ACTIVE, SO LETS GET TO WORK. 119 //SHOW HEADER 120 $oResponseRow = SurveyDynamic::model($iSurveyID); 121 $printanswershonorsconditions = Yii::app()->getConfig('printanswershonorsconditions'); 122 $groupArray = $oResponseRow->getPrintAnswersArray($sSRID, $sLanguage, $printanswershonorsconditions); 123 124 // Remove all <script>...</script> content from result. 125 Yii::import('application.helpers.viewHelper'); 126 foreach ($groupArray as &$group) { 127 $group['description'] = viewHelper::purified($group['description']); |
#8 |
unknown(0): PrintanswersController->actionView("738842", false)
|
#9 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/actions/CAction.php(115): ReflectionMethod->invokeArgs(PrintanswersController, array("738842", false)) 110 elseif($param->isDefaultValueAvailable()) 111 $ps[]=$param->getDefaultValue(); 112 else 113 return false; 114 } 115 $method->invokeArgs($object,$ps); 116 return true; 117 } 118 } |
#10 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/actions/CInlineAction.php(47): CAction->runWithParamsInternal(PrintanswersController, ReflectionMethod, array("surveyid" => "738842")) 42 { 43 $methodName='action'.$this->getId(); 44 $controller=$this->getController(); 45 $method=new ReflectionMethod($controller, $methodName); 46 if($method->getNumberOfParameters()>0) 47 return $this->runWithParamsInternal($controller, $method, $params); 48 49 $controller->$methodName(); 50 return true; 51 } 52 } |
#11 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(308): CInlineAction->runWithParams(array("surveyid" => "738842")) 303 { 304 $priorAction=$this->_action; 305 $this->_action=$action; 306 if($this->beforeAction($action)) 307 { 308 if($action->runWithParams($this->getActionParams())===false) 309 $this->invalidActionParams($action); 310 else 311 $this->afterAction($action); 312 } 313 $this->_action=$priorAction; |
#12 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(286): CController->runAction(CInlineAction) 281 * @see runAction 282 */ 283 public function runActionWithFilters($action,$filters) 284 { 285 if(empty($filters)) 286 $this->runAction($action); 287 else 288 { 289 $priorAction=$this->_action; 290 $this->_action=$action; 291 CFilterChain::create($this,$action,$filters)->run(); |
#13 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CController.php(265): CController->runActionWithFilters(CInlineAction, array()) 260 { 261 if(($parent=$this->getModule())===null) 262 $parent=Yii::app(); 263 if($parent->beforeControllerAction($this,$action)) 264 { 265 $this->runActionWithFilters($action,$this->filters()); 266 $parent->afterControllerAction($this,$action); 267 } 268 } 269 else 270 $this->missingAction($actionID); |
#14 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): CController->run("view") 277 { 278 list($controller,$actionID)=$ca; 279 $oldController=$this->_controller; 280 $this->_controller=$controller; 281 $controller->init(); 282 $controller->run($actionID); 283 $this->_controller=$oldController; 284 } 285 else 286 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".', 287 array('{route}'=>$route===''?$this->defaultController:$route))); |
#15 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController("printanswers/view") 136 foreach(array_splice($this->catchAllRequest,1) as $name=>$value) 137 $_GET[$name]=$value; 138 } 139 else 140 $route=$this->getUrlManager()->parseUrl($this->getRequest()); 141 $this->runController($route); 142 } 143 144 /** 145 * Registers the core application components. 146 * This method overrides the parent implementation by registering additional core components. |
#16 |
+
–
/var/www/html/limesurvey/vendor/yiisoft/yii/framework/base/CApplication.php(185): CWebApplication->processRequest() 180 public function run() 181 { 182 if($this->hasEventHandler('onBeginRequest')) 183 $this->onBeginRequest(new CEvent($this)); 184 register_shutdown_function(array($this,'end'),0,false); 185 $this->processRequest(); 186 if($this->hasEventHandler('onEndRequest')) 187 $this->onEndRequest(new CEvent($this)); 188 } 189 190 /** |
#17 |
+
–
/var/www/html/limesurvey/index.php(161): CApplication->run() 156 require_once APPPATH . 'core/LSYii_Application' . EXT; 157 158 $config = require_once(APPPATH . 'config/internal' . EXT); 159 160 Yii::$enableIncludePath = false; 161 Yii::createApplication('LSYii_Application', $config)->run(); 162 163 /* End of file index.php */ 164 /* Location: ./index.php */ |