View Issue Details

IDProjectCategoryView StatusLast Update
16481Bug reportsSurvey takingpublic2020-07-10 11:29
ReporterDenisChenu Assigned To 
PrioritynoneSeveritycrash 
Status newResolutionopen 
Product Version3.22.25 
Summary16481: Easy way to launch CDBException
Description

Really easy to launch a CDbException publicly

Steps To Reproduce

Import included survey
Copy the start link with newtest=Y
Add &Q00=ABCDEFGHIJ
Send the link

Additional Information

Seems prefilled value are not filtered with https://github.com/LimeSurvey/LimeSurvey/blob/bdd01aab12a6c9897cb777fbb8e3692a6f95858d/application/helpers/expressions/em_manager_helper.php#L10132

Here it's with mysql, but other have same issue (date for example)

The 2 htmlk are done with debug or without

TagsNo tags attached.
Complete LimeSurvey version number (& build)3.22.25
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database & DB-Versionmariadb
Server OS (if known)fedora/linux
Webserver software & version (if known)nginx
PHP Versionphp7.3

Relationships

parent of 16482 new Prefill value broke survey policy (and GPDR ?) 
Not all the children of this issue are yet resolved or closed.

Activities

DenisChenu

DenisChenu

2020-07-10 08:34

developer  

500InternalServerError.html (7,955 bytes)   
<!DOCTYPE html>
<html dir="ltr" class="en dir-ltr  no-js " lang="en"><head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/expressions.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/noto.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/font-awesome.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/survey.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/template-core.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/awesome-bootstrap-checkbox.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/bootstrap.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/yiistrap.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/base.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/ajaxify.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/theme.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/custom.css">
<link rel="stylesheet" type="text/css" href="500InternalServerError_fichiers/errors.css">
<script type="text/javascript" async="" defer="defer" src="500InternalServerError_fichiers/matomo.js"></script><script type="text/javascript">window.debugState = {frontend : (0 === 1), backend : (0 === 1)};</script><script type="text/javascript" src="500InternalServerError_fichiers/jquery-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/jquery-migrate-3.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/lslog.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/pjax.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/moment-with-locales.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/survey.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/template-core.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/bootstrap.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/bootstrapconfirm.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/theme.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/ajaxify.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/custom.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/survey_runtime.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/heartbeat.js" class="headScriptTag"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/em_javascript.js" class="headScriptTag"></script>
<script type="text/javascript">
/*<![CDATA[*/
LSvar={"bFixNumAuto":1,"bNumRealValue":0,"sLEMradix":".","lang":{"confirm":{"confirm_cancel":"Cancel","confirm_ok":"OK"}},"showpopup":1,"startPopups":{},"debugMode":0};
/*]]>*/
</script>
<title>
                            500: Internal Server Error
                    </title>

                <meta name="generator" content="LimeSurvey http://www.limesurvey.org">
        <link rel="shortcut icon" href="http://limesurvey.local/3LTS/favicon.ico">
    </head>

    <body class="vanilla lang-en " marginwidth="0" marginheight="0"><script type="text/javascript" src="500InternalServerError_fichiers/decimal.js"></script>
<script type="text/javascript" src="500InternalServerError_fichiers/decimalcustom.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
setJsVar();
var _paq = window._paq || [];
_paq.push(['setDomains', ['*.limesurvey.local/tzert','','*.www.limesurvey.local/qsdqsdqs/erezer','*.sondages.pro']]);
_paq.push(['enableCrossDomainLinking']);

_paq.push(['setCustomUrl', '721221/en']);
_paq.push(['setCustomVariable',1,'Gender','&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;q1.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;','visit']);
_paq.push(['setCustomVariable',2,'Age','&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;Age.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;','visit']);
_paq.push(['setCustomDimension',1,'&lt;span class=&#039;em-expression em-haveerror&#039;  &gt;&lt;span class=&#039;em-error&#039; title=&#039; &#039; &gt;&lt;span title=&#039;Undefined variable&#039; class=&#039;em-var em-var-error&#039; &gt;Age.NAOK&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;']);
_paq.push(['appendToTrackingUrl', 'limesurveyData={"surveyid":"721221","srid":4}']);

_paq.push(['appendToTrackingUrl', 'new_visit=1']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
  var u="//limesurvey.local/matomo/";
  _paq.push(['setTrackerUrl', u+'matomo.php']);
  _paq.push(['setSiteId', '2']);
  var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();

var LEMmode='group';
var LEMgseq=-1;
ExprMgr_process_relevance_and_tailoring = function(evt_type,sgqa,type){
if (typeof LEM_initialized == 'undefined') {
LEM_initialized=true;
LEMsetTabIndexes();
}
if (evt_type == 'onchange' && (typeof last_sgqa !== 'undefined' && sgqa==last_sgqa) && (typeof last_evt_type !== 'undefined' && last_evt_type == 'TAB' && type != 'checkbox')) {
  last_evt_type='onchange';
  last_sgqa=sgqa;
  return;
}
last_evt_type = evt_type;
last_sgqa=sgqa;

}

/*]]>*/
</script>

        <article id="block_error">
            <div>
                                    <h1>500: Internal Server Error</h1>
                                <h2>CDbCommand failed to execute the SQL
 statement: SQLSTATE[22001]: String data, right truncated: 1406 Data too
 long for column '721221X2043X31723' at row 1</h2>
                <p>
                    An internal error occurred while the Web server was processing your request.
                </p>
                <p>
                                            Please contact Administrator to report this problem.
                                    </p>
            </div>
        </article>
                    
            <script type="text/javascript" src="500InternalServerError_fichiers/expression.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
heartBeat.beat({ "endpoint":"\/3LTS\/index.php?r=plugins\/direct&plugin=HeartBeat&function=beat","interval":1296000 });

            try{ 
                triggerEmClassChange(); 
            } catch(e) {
                console.ls.warn('triggerEmClassChange could not be run. Is survey.js correctly loaded?');
            }

triggerEmRelevance();
jQuery(document).off('pjax:scriptcomplete.mainBottom').on('ready pjax:scriptcomplete.mainBottom', function() {
updateMandatoryErrorClass();
});
/*]]>*/
</script>


<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="500InternalServerError_fichiers/api.js"></script></html>
500InternalServerError.html (7,955 bytes)   
CDbException.html (26,666 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CDbException</title>

<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}

body {
	font: normal 9pt "Verdana";
	color: #000;
	background: #fff;
}

h1 {
	font: normal 18pt "Verdana";
	color: #f00;
	margin-bottom: .5em;
}

h2 {
	font: normal 14pt "Verdana";
	color: #800000;
	margin-bottom: .5em;
}

h3 {
	font: bold 11pt "Verdana";
}

pre {
	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}

pre span.error {
	display: block;
	background: #fce3e3;
}

pre span.ln {
	color: #999;
	padding-right: 0.5em;
	border-right: 1px solid #ccc;
}

pre span.error-ln {
	font-weight: bold;
}

.container {
	margin: 1em 4em;
}

.version {
	color: gray;
	font-size: 8pt;
	border-top: 1px solid #aaa;
	padding-top: 1em;
	margin-bottom: 1em;
}

.message {
	color: #000;
	padding: 1em;
	font-size: 11pt;
	background: #f3f3f3;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 1em;
	line-height: 160%;
}

.source {
	margin-bottom: 1em;
}

.code pre {
	background-color: #ffe;
	margin: 0.5em 0;
	padding: 0.5em;
	line-height: 125%;
	border: 1px solid #eee;
}

.source .file {
	margin-bottom: 1em;
	font-weight: bold;
}

.traces {
	margin: 2em 0;
}

.trace {
	margin: 0.5em 0;
	padding: 0.5em;
}

.trace.app {
	border: 1px dashed #c00;
}

.trace .number {
	text-align: right;
	width: 2em;
	padding: 0.5em;
}

.trace .content {
	padding: 0.5em;
}

.trace .plus,
.trace .minus {
	display:inline;
	vertical-align:middle;
	text-align:center;
	border:1px solid #000;
	color:#000;
	font-size:10px;
	line-height:10px;
	margin:0;
	padding:0 1px;
	width:10px;
	height:10px;
}

.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
	display: none;
}

.trace-file {
	cursor: pointer;
	padding: 0.2em;
}

.trace-file:hover {
	background: #f0ffff;
}
/*]]>*/
</style>
</head>

<body>
<div class="container">
	<h1>CDbException</h1>

	<p class="message">
		CDbCommand failed to execute the SQL statement: SQLSTATE[22001]: 
String data, right truncated: 1406 Data too long for column 
'721221X2043X31723' at row 1. The SQL statement executed was: UPDATE 
`lime_survey_721221` SET `lastpage`=:yp0, `721221X2043X31723`=:yp1 WHERE
 `lime_survey_721221`.`id`=2	</p>

	<div class="source">
		<p class="file">/mnt/data/shnoulle/nginx/www/3LTS/framework/db/CDbCommand.php(358)</p>
		<div class="code"><pre><span class="ln">346</span>         {
<span class="ln">347</span>             if($this-&gt;_connection-&gt;enableProfiling)
<span class="ln">348</span>                 Yii::endProfile('system.db.CDbCommand.execute('.$this-&gt;getText().$par.')','system.db.CDbCommand.execute');
<span class="ln">349</span> 
<span class="ln">350</span>             $errorInfo=$e instanceof PDOException ? $e-&gt;errorInfo : null;
<span class="ln">351</span>             $message=$e-&gt;getMessage();
<span class="ln">352</span>             Yii::log(Yii::t('yii','CDbCommand::execute() failed: {error}. The SQL statement executed was: {sql}.',
<span class="ln">353</span>                 array('{error}'=&gt;$message, '{sql}'=&gt;$this-&gt;getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
<span class="ln">354</span> 
<span class="ln">355</span>             if(YII_DEBUG)
<span class="ln">356</span>                 $message.='. The SQL statement executed was: '.$this-&gt;getText().$par;
<span class="ln">357</span> 
<span class="error"><span class="ln error-ln">358</span>             throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
</span><span class="ln">359</span>                 array('{error}'=&gt;$message)),(int)$e-&gt;getCode(),$errorInfo);
<span class="ln">360</span>         }
<span class="ln">361</span>     }
<span class="ln">362</span> 
<span class="ln">363</span>     /**
<span class="ln">364</span>      * Executes the SQL statement and returns query result.
<span class="ln">365</span>      * This method is for executing an SQL query that returns result set.
<span class="ln">366</span>      * @param array $params input parameters (name=&gt;value) for the SQL execution. This is an alternative
<span class="ln">367</span>      * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing
<span class="ln">368</span>      * them in this way can improve the performance. Note that if you pass parameters in this way,
<span class="ln">369</span>      * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.
<span class="ln">370</span>      * Please also note that all values are treated as strings in this case, if you need them to be handled as
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace core collapsed">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/db/ar/CActiveRecord.php(1756): <strong>CDbCommand</strong>-&gt;<strong>execute</strong>()				</div>

				<div class="code"><pre><span class="ln">1751</span>         Yii::trace(get_class($this).'.updateByPk()','system.db.ar.CActiveRecord');
<span class="ln">1752</span>         $builder=$this-&gt;getCommandBuilder();
<span class="ln">1753</span>         $table=$this-&gt;getTableSchema();
<span class="ln">1754</span>         $criteria=$builder-&gt;createPkCriteria($table,$pk,$condition,$params);
<span class="ln">1755</span>         $command=$builder-&gt;createUpdateCommand($table,$attributes,$criteria);
<span class="error"><span class="ln error-ln">1756</span>         return $command-&gt;execute();
</span><span class="ln">1757</span>     }
<span class="ln">1758</span> 
<span class="ln">1759</span>     /**
<span class="ln">1760</span>      * Updates records with the specified condition.
<span class="ln">1761</span>      * See {@link find()} for detailed explanation about $condition and $params.
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/expressions/em_manager_helper.php(5589): <strong>CActiveRecord</strong>-&gt;<strong>updateByPk</strong>("2", array("lastpage" =&gt; 1, "721221X2043X31723" =&gt; "AZDJKQHSUHSU"))				</div>

				<div class="code"><pre><span class="ln">5584</span>                         LimeExpressionManager::addFrontendFlashMessage('error', $message, $this-&gt;sid);
<span class="ln">5585</span>                         return;
<span class="ln">5586</span>                     }
<span class="ln">5587</span>                     //If the responses already have been submitted once they are marked as completed already, so they shouldn't be changed.
<span class="ln">5588</span>                     if ($oResponse-&gt;submitdate == null || Survey::model()-&gt;findByPk($this-&gt;sid)-&gt;alloweditaftercompletion == 'Y') {
<span class="error"><span class="ln error-ln">5589</span>                         Response::model($this-&gt;sid)-&gt;updateByPk($oResponse-&gt;id,$aResponseAttributes);
</span><span class="ln">5590</span>                         /* See https://www.php.net/manual/en/pdostatement.rowcount.php :
<span class="ln">5591</span>                          * this behaviour is not guaranteed for all databases and should not be relied on for portable applications.
<span class="ln">5592</span>                          */
<span class="ln">5593</span>                         // Action in case its saved with success : to be move in Response::aferSave ?
<span class="ln">5594</span>                         // Save Timings if needed
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/expressions/em_manager_helper.php(5067): <strong>LimeExpressionManager</strong>-&gt;<strong>_UpdateValuesInDatabase</strong>()				</div>

				<div class="code"><pre><span class="ln">5062</span>                     $LEM-&gt;updatedValues[$knownVar['sgqa']]=array(
<span class="ln">5063</span>                         'type'=&gt;$knownVar['type'],
<span class="ln">5064</span>                         'value'=&gt;$value,
<span class="ln">5065</span>                     );
<span class="ln">5066</span>                 }
<span class="error"><span class="ln error-ln">5067</span>                 $LEM-&gt;_UpdateValuesInDatabase();
</span><span class="ln">5068</span>             }
<span class="ln">5069</span> 
<span class="ln">5070</span>             return array(
<span class="ln">5071</span>             'hasNext'=&gt;true,
<span class="ln">5072</span>             'hasPrevious'=&gt;false,
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(665): <strong>LimeExpressionManager</strong>::<strong>StartSurvey</strong>("721221",
 "survey", array("active" =&gt; true, "allowsave" =&gt; true, 
"anonymized" =&gt; false, "assessments" =&gt; false, ...), false, ...)		
		</div>

				<div class="code"><pre><span class="ln">660</span>             if ($this-&gt;iSurveyid != LimeExpressionManager::getLEMsurveyId()) {
<span class="ln">661</span>                 LimeExpressionManager::SetDirtyFlag();
<span class="ln">662</span>             }
<span class="ln">663</span> 
<span class="ln">664</span>             // Init $LEM states.
<span class="error"><span class="ln error-ln">665</span>             LimeExpressionManager::StartSurvey($this-&gt;iSurveyid, $this-&gt;sSurveyMode, $this-&gt;aSurveyOptions, false, $this-&gt;LEMdebugLevel);
</span><span class="ln">666</span>             $_SESSION[$this-&gt;LEMsessid]['step'] = 0;
<span class="ln">667</span> 
<span class="ln">668</span>             // Welcome page.
<span class="ln">669</span>             if ($this-&gt;sSurveyMode == 'survey') {
<span class="ln">670</span>                 LimeExpressionManager::JumpTo(1, false, false, true);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(526): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>initFirstStep</strong>()				</div>

				<div class="code"><pre><span class="ln">521</span>      *   + Is the survey finished?
<span class="ln">522</span>      *   + Are all the answer validated? (like: participant didn't answered to a mandatory question)
<span class="ln">523</span>      */
<span class="ln">524</span>     private function initMove()
<span class="ln">525</span>     {
<span class="error"><span class="ln error-ln">526</span>         $this-&gt;initFirstStep(); // If it's the first time user load this survey, will init session and LEM
</span><span class="ln">527</span>         $this-&gt;initTotalAndMaxSteps();
<span class="ln">528</span>         $this-&gt;checkIfUseBrowserNav(); // Check if user used browser navigation, or relaoded page
<span class="ln">529</span>         if ($this-&gt;sMove != 'clearcancel' &amp;&amp; $this-&gt;sMove != 'confirmquota') {
<span class="ln">530</span>             $this-&gt;checkPrevStep(); // Check if prev step is set, else set it
<span class="ln">531</span>             $this-&gt;setMoveResult();
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/helpers/SurveyRuntimeHelper.php(104): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>initMove</strong>()				</div>

				<div class="code"><pre><span class="ln">099</span>         if (!isset($_SESSION[$this-&gt;LEMsessid]['step'])) {
<span class="ln">100</span>             $this-&gt;showTokenOrCaptchaFormsIfNeeded();
<span class="ln">101</span>         }
<span class="ln">102</span> 
<span class="ln">103</span>         if (!$this-&gt;previewgrp &amp;&amp; !$this-&gt;previewquestion) {
<span class="error"><span class="ln error-ln">104</span>             $this-&gt;initMove(); // main methods to init session, LEM, moves, errors, etc
</span><span class="ln">105</span>             $this-&gt;checkForDataSecurityAccepted(); // must be called after initMove to allow LEM to be initialized
<span class="ln">106</span>             $this-&gt;checkQuotas(); // check quotas (then the process will stop here)
<span class="ln">107</span>             $this-&gt;displayFirstPageIfNeeded();
<span class="ln">108</span>             $this-&gt;saveAllIfNeeded();
<span class="ln">109</span>             $this-&gt;saveSubmitIfNeeded();
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/survey/index.php(585): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>run</strong>("721221",
 array("surveyid" =&gt; "721221", "thissurvey" =&gt; array("htmlemail" 
=&gt; "Y", "format" =&gt; "A", "template" =&gt; "vanilla", "language" 
=&gt; "en", ...), "thisstep" =&gt; null, "tokensexist" =&gt; 0, ...))			
	</div>

				<div class="code"><pre><span class="ln">580</span>         unset($redata);
<span class="ln">581</span>         $redata = compact(array_keys(get_defined_vars()));
<span class="ln">582</span>         Yii::import('application.helpers.SurveyRuntimeHelper');
<span class="ln">583</span>         $tmp = new SurveyRuntimeHelper();
<span class="ln">584</span>         // try {
<span class="error"><span class="ln error-ln">585</span>             $tmp-&gt;run($surveyid, $redata);
</span><span class="ln">586</span>         // } catch (WrongTemplateVersionException $ex) {
<span class="ln">587</span>         //     echo $ex-&gt;getMessage();
<span class="ln">588</span>         // }
<span class="ln">589</span>     }
<span class="ln">590</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/survey/index.php(24): <strong>index</strong>-&gt;<strong>action</strong>()				</div>

				<div class="code"><pre><span class="ln">19</span>     public $oTemplate;
<span class="ln">20</span> 
<span class="ln">21</span>     public function run()
<span class="ln">22</span>     {
<span class="ln">23</span>         useFirebug();
<span class="error"><span class="ln error-ln">24</span>         $this-&gt;action();
</span><span class="ln">25</span>     }
<span class="ln">26</span> 
<span class="ln">27</span>     public function action()
<span class="ln">28</span>     {
<span class="ln">29</span>         global $surveyid;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/actions/CAction.php(76): <strong>index</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">71</span>     {
<span class="ln">72</span>         $method=new ReflectionMethod($this, 'run');
<span class="ln">73</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="ln">74</span>             return $this-&gt;runWithParamsInternal($this, $method, $params);
<span class="ln">75</span> 
<span class="error"><span class="ln error-ln">76</span>         $this-&gt;run();
</span><span class="ln">77</span>         return true;
<span class="ln">78</span>     }
<span class="ln">79</span> 
<span class="ln">80</span>     /**
<span class="ln">81</span>      * Executes a method of an object with the supplied named parameters.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(308): <strong>CAction</strong>-&gt;<strong>runWithParams</strong>(array("r" =&gt; "survey/index", "sid" =&gt; "721221", "Q00" =&gt; "AZDJKQHSUHSU", "newtest" =&gt; "Y", ...))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(index)				</div>

				<div class="code"><pre><span class="ln">281</span>      * @see runAction
<span class="ln">282</span>      */
<span class="ln">283</span>     public function runActionWithFilters($action,$filters)
<span class="ln">284</span>     {
<span class="ln">285</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">286</span>             $this-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(index, array())				</div>

				<div class="code"><pre><span class="ln">260</span>         {
<span class="ln">261</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">267</span>             }
<span class="ln">268</span>         }
<span class="ln">269</span>         else
<span class="ln">270</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(282): <strong>CController</strong>-&gt;<strong>run</strong>("index")				</div>

				<div class="code"><pre><span class="ln">277</span>         {
<span class="ln">278</span>             list($controller,$actionID)=$ca;
<span class="ln">279</span>             $oldController=$this-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">180</span>     public function run()
<span class="ln">181</span>     {
<span class="ln">182</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">187</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">188</span>     }
<span class="ln">189</span> 
<span class="ln">190</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/index.php(194): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">189</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">190</span> 
<span class="ln">191</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">192</span> 
<span class="ln">193</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">194</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">195</span> 
<span class="ln">196</span> /* End of file index.php */
<span class="ln">197</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2020-07-10 06:27:05 nginx/1.18.0 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.22-dev	</div>
</div>

<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");

var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
	if(traceReg.test(e[j].className)){
		e[j].onclick = function(){
			var trace = this.parentNode.parentNode;
			if(collapsedReg.test(trace.className))
				trace.className = trace.className.replace("collapsed", "expanded");
			else
				trace.className = trace.className.replace("expanded", "collapsed");
		}
	}
}
/*]]>*/
</script>



<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="CDbException_fichiers/api.js"></script></html>
CDbException.html (26,666 bytes)   
DenisChenu

DenisChenu

2020-07-10 11:29

developer   ~58894

https://github.com/LimeSurvey/LimeSurvey/pull/1480

Issue History

Date Modified Username Field Change
2020-07-10 08:34 DenisChenu New Issue
2020-07-10 08:34 DenisChenu File Added: 500InternalServerError.html
2020-07-10 08:34 DenisChenu File Added: CDbException.html
2020-07-10 09:31 DenisChenu Relationship added parent of 16482
2020-07-10 11:29 DenisChenu Note Added: 58894