View Issue Details

This bug affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
08585Bug reportsSurvey editingpublic2014-01-31 17:32
ReporterPaul279 Assigned Toc_schmitz  
PrioritynormalSeverityblock 
Status closedResolutionfixed 
Product Version2.05+ 
Fixed in Version2.05+ 
Summary08585: Internal Server Error after saving a question
Description

Sometimes, when I add a new question, leave the second language empty i get an error:

Internal Server Error

CDbCommand failed to execute the SQL statement: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db181049_7.lime_tokens_365943' doesn't exist

An internal error occurred while the Web server was processing your request. Please contact the webmaster to report this problem.

Thank you.

Steps To Reproduce

I opened a new Question named it: "FrageVersteckt" and filled this in the content:

Veranstaltungs-SID: {SID}

Veranstaltungsname:

Catering: {TOKEN:ATTRIBUTE_1}

Projektleiter: {TOKEN:ATTRIBUTE_2}

I leave the second language (englisch) empty.

Press Button Save - Crash

Additional Information

Although i got this crash, the Question is saved into the db.

TagsNo tags attached.
Attached Files
files.zip (112,384 bytes)
PHP notice.htm (28,389 bytes)   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0098)http://www3.hofburg.com/limesurvey/index.php/admin/tokens/sa/managetokenattributes/surveyid/365943 -->
<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>PHP notice</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>
<style type="text/css"></style></head>

<body>
<div class="container">
	<h1>PHP notice</h1>

	<p class="message">
		Undefined variable: tokenfield	</p>

	<div class="source">
		<p class="file">/kunden/181049_1014/webseiten/limesurvey/application/views/admin/token/managetokenattributes.php(42)</p>
		<div class="code"><pre><span class="ln">30</span>                         foreach ($tokenfields as $sTokenField) {
<span class="ln">31</span>                             if (isset($tokenfielddata[$sTokenField]))
<span class="ln">32</span>                                 $tokenvalues = $tokenfielddata[$sTokenField];
<span class="ln">33</span>                             else
<span class="ln">34</span>                                 $tokenvalues = array('description' =&gt; '','mandatory' =&gt; 'N','show_register' =&gt; 'N','cpdbmap'=&gt;'');
<span class="ln">35</span>                             $nrofattributes++;
<span class="ln">36</span>                             echo "
<span class="ln">37</span>                             &lt;tr&gt;
<span class="ln">38</span>                             &lt;td&gt;{$sTokenField}&lt;/td&gt;";                                                        
<span class="ln">39</span>                             if ($sLanguage == $thissurvey['language'])
<span class="ln">40</span>                             {
<span class="ln">41</span>                                 echo "&lt;td&gt;&lt;input type='text' name='description_{$sTokenField}' value='" . htmlspecialchars($tokenvalues['description'], ENT_QUOTES, 'UTF-8') . "' /&gt;&lt;/td&gt;";
<span class="error"><span class="ln error-ln">42</span>                                 echo "&lt;td&gt;&lt;input type='checkbox' name='mandatory_$tokenfield' value='Y'";
</span><span class="ln">43</span>                                 if ($tokenvalues['mandatory'] == 'Y')
<span class="ln">44</span>                                     echo ' checked="checked"';
<span class="ln">45</span>                                 echo " /&gt;&lt;/td&gt;
<span class="ln">46</span>                                 &lt;td&gt;&lt;input type='checkbox' name='show_register_$tokenfield' value='Y'";
<span class="ln">47</span>                                 if (!empty($tokenvalues['show_register']) &amp;&amp; $tokenvalues['show_register'] == 'Y')
<span class="ln">48</span>                                     echo ' checked="checked"';
<span class="ln">49</span>                                 echo " /&gt;&lt;/td&gt;";
<span class="ln">50</span>                             }
<span class="ln">51</span>                             else
<span class="ln">52</span>                             {
<span class="ln">53</span>                                 echo "
<span class="ln">54</span>                                 &lt;td&gt;", htmlspecialchars($tokenvalues['description'], ENT_QUOTES, 'UTF-8'), "&lt;/td&gt;
</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;/kunden/181049_1014/webseiten/limesurvey/framework/web/CBaseController.php(126): <strong>require</strong>("/kunden/181049_1014/webseiten/limesurvey/application/views/admin...")				</div>

				<div class="code"><pre><span class="ln">121</span>             $data=$_data_;
<span class="ln">122</span>         if($_return_)
<span class="ln">123</span>         {
<span class="ln">124</span>             ob_start();
<span class="ln">125</span>             ob_implicit_flush(false);
<span class="error"><span class="ln error-ln">126</span>             require($_viewFile_);
</span><span class="ln">127</span>             return ob_get_clean();
<span class="ln">128</span>         }
<span class="ln">129</span>         else
<span class="ln">130</span>             require($_viewFile_);
<span class="ln">131</span>     }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/framework/web/CBaseController.php(95): <strong>CBaseController</strong>-&gt;<strong>renderInternal</strong>("/kunden/181049_1014/webseiten/limesurvey/application/views/admin...", array("thissurvey" =&gt; array("sid" =&gt; "365943", "owner_id" =&gt; "1", "admin" =&gt; "Administrator", "active" =&gt; "Y", ...), "surveyid" =&gt; "365943", "tokenfields" =&gt; array(17 =&gt; "attribute_1", 18 =&gt; "attribute_2"), "tokenfielddata" =&gt; array("attribute_1" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; ""), "attribute_2" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; "")), ...), true)				</div>

				<div class="code"><pre><span class="ln">090</span>     {
<span class="ln">091</span>         $widgetCount=count($this-&gt;_widgetStack);
<span class="ln">092</span>         if(($renderer=Yii::app()-&gt;getViewRenderer())!==null &amp;&amp; $renderer-&gt;fileExtension==='.'.CFileHelper::getExtension($viewFile))
<span class="ln">093</span>             $content=$renderer-&gt;renderFile($this,$viewFile,$data,$return);
<span class="ln">094</span>         else
<span class="error"><span class="ln error-ln">095</span>             $content=$this-&gt;renderInternal($viewFile,$data,$return);
</span><span class="ln">096</span>         if(count($this-&gt;_widgetStack)===$widgetCount)
<span class="ln">097</span>             return $content;
<span class="ln">098</span>         else
<span class="ln">099</span>         {
<span class="ln">100</span>             $widget=end($this-&gt;_widgetStack);
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/framework/web/CController.php(869): <strong>CBaseController</strong>-&gt;<strong>renderFile</strong>("/kunden/181049_1014/webseiten/limesurvey/application/views/admin...", array("thissurvey" =&gt; array("sid" =&gt; "365943", "owner_id" =&gt; "1", "admin" =&gt; "Administrator", "active" =&gt; "Y", ...), "surveyid" =&gt; "365943", "tokenfields" =&gt; array(17 =&gt; "attribute_1", 18 =&gt; "attribute_2"), "tokenfielddata" =&gt; array("attribute_1" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; ""), "attribute_2" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; "")), ...), true)				</div>

				<div class="code"><pre><span class="ln">864</span>      */
<span class="ln">865</span>     public function renderPartial($view,$data=null,$return=false,$processOutput=false)
<span class="ln">866</span>     {
<span class="ln">867</span>         if(($viewFile=$this-&gt;getViewFile($view))!==false)
<span class="ln">868</span>         {
<span class="error"><span class="ln error-ln">869</span>             $output=$this-&gt;renderFile($viewFile,$data,true);
</span><span class="ln">870</span>             if($processOutput)
<span class="ln">871</span>                 $output=$this-&gt;processOutput($output);
<span class="ln">872</span>             if($return)
<span class="ln">873</span>                 return $output;
<span class="ln">874</span>             else
</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;/kunden/181049_1014/webseiten/limesurvey/application/core/Survey_Common_Action.php(306): <strong>CController</strong>-&gt;<strong>renderPartial</strong>("/admin/token/managetokenattributes", array("thissurvey" =&gt; array("sid" =&gt; "365943", "owner_id" =&gt; "1", "admin" =&gt; "Administrator", "active" =&gt; "Y", ...), "surveyid" =&gt; "365943", "tokenfields" =&gt; array(17 =&gt; "attribute_1", 18 =&gt; "attribute_2"), "tokenfielddata" =&gt; array("attribute_1" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; ""), "attribute_2" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; "")), ...))				</div>

				<div class="code"><pre><span class="ln">301</span>         {
<span class="ln">302</span>             if (empty($sViewKey) || !in_array($sViewKey, array('message', 'output')))
<span class="ln">303</span>             {
<span class="ln">304</span>                 if (is_numeric($sViewKey))
<span class="ln">305</span>                 {
<span class="error"><span class="ln error-ln">306</span>                     Yii::app()-&gt;getController()-&gt;renderPartial($sViewPath . $viewUrl, $aData);
</span><span class="ln">307</span>                 }
<span class="ln">308</span>                 elseif (is_array($viewUrl))
<span class="ln">309</span>                 {
<span class="ln">310</span>                     foreach ($viewUrl as $aSubData)
<span class="ln">311</span>                     {
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/application/controllers/admin/tokens.php(2438): <strong>Survey_Common_Action</strong>-&gt;<strong>_renderWrappedTemplate</strong>("token", array("tokenbar", "managetokenattributes"), array("thissurvey" =&gt; array("sid" =&gt; "365943", "owner_id" =&gt; "1", "admin" =&gt; "Administrator", "active" =&gt; "Y", ...), "surveyid" =&gt; "365943", "tokenfields" =&gt; array(17 =&gt; "attribute_1", 18 =&gt; "attribute_2"), "tokenfielddata" =&gt; array("attribute_1" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; ""), "attribute_2" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; "")), ...))				</div>

				<div class="code"><pre><span class="ln">2433</span>     */
<span class="ln">2434</span>     protected function _renderWrappedTemplate($sAction = 'token', $aViewUrls = array(), $aData = array())
<span class="ln">2435</span>     {                   
<span class="ln">2436</span>         $aData['imageurl'] = Yii::app()-&gt;getConfig('adminimageurl');
<span class="ln">2437</span>         $aData['display']['menu_bars'] = false;
<span class="error"><span class="ln error-ln">2438</span>         parent::_renderWrappedTemplate($sAction, $aViewUrls, $aData);
</span><span class="ln">2439</span>     }
<span class="ln">2440</span> 
<span class="ln">2441</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app expanded">
			<td class="number">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/application/controllers/admin/tokens.php(1062): <strong>tokens</strong>-&gt;<strong>_renderWrappedTemplate</strong>("token", array("tokenbar", "managetokenattributes"), array("thissurvey" =&gt; array("sid" =&gt; "365943", "owner_id" =&gt; "1", "admin" =&gt; "Administrator", "active" =&gt; "Y", ...), "surveyid" =&gt; "365943", "tokenfields" =&gt; array(17 =&gt; "attribute_1", 18 =&gt; "attribute_2"), "tokenfielddata" =&gt; array("attribute_1" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; ""), "attribute_2" =&gt; array("description" =&gt; "", "mandatory" =&gt; "N", "show_register" =&gt; "N", "cpdbmap" =&gt; "")), ...))				</div>

				<div class="code"><pre><span class="ln">1057</span>         $aData['aCPDBAttributes']['']=$clang-&gt;gT('(none)');
<span class="ln">1058</span>         foreach (ParticipantAttributeName::model()-&gt;getCPDBAttributes() as $aCPDBAttribute)
<span class="ln">1059</span>         {
<span class="ln">1060</span>             $aData['aCPDBAttributes'][$aCPDBAttribute['attribute_id']]=$aCPDBAttribute['attribute_name']; 
<span class="ln">1061</span>         }
<span class="error"><span class="ln error-ln">1062</span>         $this-&gt;_renderWrappedTemplate('token', array('tokenbar', 'managetokenattributes'), $aData);
</span><span class="ln">1063</span>     }
<span class="ln">1064</span> 
<span class="ln">1065</span>     /**
<span class="ln">1066</span>     * Update token attributes
<span class="ln">1067</span>     */
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>tokens</strong>-&gt;<strong>managetokenattributes</strong>("365943")				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/framework/web/actions/CAction.php(108): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(tokens, array("365943"))				</div>

				<div class="code"><pre><span class="ln">103</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">104</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">105</span>             else
<span class="ln">106</span>                 return false;
<span class="ln">107</span>         }
<span class="error"><span class="ln error-ln">108</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">109</span>         return true;
<span class="ln">110</span>     }
<span class="ln">111</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/application/core/Survey_Common_Action.php(99): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(tokens, ReflectionMethod, array("surveyid" =&gt; "365943", "sa" =&gt; "managetokenattributes", "iSurveyId" =&gt; "365943", "iSurveyID" =&gt; "365943"))				</div>

				<div class="code"><pre><span class="ln">094</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">095</span>         }
<span class="ln">096</span> 
<span class="ln">097</span>         // We're all good to go, let's execute it
<span class="ln">098</span>         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">099</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">100</span>     }
<span class="ln">101</span> 
<span class="ln">102</span>     /**
<span class="ln">103</span>     * Some functions have different parameters, which are just an alias of the
<span class="ln">104</span>     * usual parameters we're getting in the url. This function just populates
</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;/kunden/181049_1014/webseiten/limesurvey/framework/web/CController.php(308): <strong>Survey_Common_Action</strong>-&gt;<strong>runWithParams</strong>(array("surveyid" =&gt; "365943", "sa" =&gt; "managetokenattributes"))				</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;/kunden/181049_1014/webseiten/limesurvey/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(tokens)				</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;/kunden/181049_1014/webseiten/limesurvey/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(tokens, 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 app collapsed">
			<td class="number">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/application/controllers/AdminController.php(169): <strong>CController</strong>-&gt;<strong>run</strong>("tokens")				</div>

				<div class="code"><pre><span class="ln">164</span>                     $this-&gt;redirect(array('/admin/authentication/sa/login'));
<span class="ln">165</span>                 }
<span class="ln">166</span>                 
<span class="ln">167</span>             }
<span class="ln">168</span> 
<span class="error"><span class="ln error-ln">169</span>             return parent::run($action);
</span><span class="ln">170</span>     }
<span class="ln">171</span> 
<span class="ln">172</span>     /**
<span class="ln">173</span>     * Routes all the actions to their respective places
<span class="ln">174</span>     *
</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;/kunden/181049_1014/webseiten/limesurvey/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-&gt;<strong>run</strong>("tokens")				</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">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/tokens/sa/managetokenattributes")				</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">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/framework/base/CApplication.php(180): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">175</span>     public function run()
<span class="ln">176</span>     {
<span class="ln">177</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">178</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">179</span>         register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">180</span>         $this-&gt;processRequest();
</span><span class="ln">181</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">182</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">183</span>     }
<span class="ln">184</span> 
<span class="ln">185</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#16			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/kunden/181049_1014/webseiten/limesurvey/index.php(190): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">185</span>         die (sprintf('%s should be writable by the webserver (755 or 775).', $runtimePath));
<span class="ln">186</span>     }
<span class="ln">187</span> }
<span class="ln">188</span> 
<span class="ln">189</span> 
<span class="error"><span class="ln error-ln">190</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">191</span> 
<span class="ln">192</span> /* End of file index.php */
<span class="ln">193</span> /* Location: ./index.php */</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2014-01-24 10:43:20 Apache/2.2.22 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.14	</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>



</body></html>
PHP notice.htm (28,389 bytes)   
Bug heat4
Complete LimeSurvey version number (& build)2.05 140116
I will donate to the project if issue is resolvedNo
BrowserChrome 32.XXX
Database type & versionMysql 5.5.28
Server OS (if known)Windows 7
Webserver software & version (if known)Dont know
PHP Version5.4.1

Users monitoring this issue

There are no users monitoring this issue.

Activities

c_schmitz

c_schmitz

2014-01-23 13:51

administrator   ~28109

Please activate debug mode by editing /application/config.php then try to reproduce the issue.
If you can reproduce it please attach the resulting page as HTML file.
Thank you.

Paul279

Paul279

2014-01-23 16:28

reporter   ~28113

Last edited: 2014-01-23 16:30

So I cant reproduce the error, but the errors destroyed my database.

There are questions with no text! See my attached picture. (picture 1)
When you import my database, go to my first and only survey "Ihre Meinung ist uns wichtig 2014" and then press on the button to show the preview of this survey in english, then you can see the same like picture 1.

When i look into the database I see that there are missing entrys, and duplicated qids -> Should they be unique? (see picture 2)

The next is:
I dont know if the above errors produce this error, but when i start the survey and switch in the survey with the button to english i got the message (Dont know the exactly words) "Error, but the answers are send to the administrator"

With debugging on i see this:
Error executing query in dbExecuteAssoc:CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column '365943X7X55' in 'field list'. The SQL statement executed was: UPDATE lime_survey_365943 SET lastpage=1, 365943X7X49='', 365943X7X54=NULL, 365943X7X55=NULL, 365943X7X76=NULL, 365943X7X57=NULL, 365943X7X56='', 365943X7X59=NULL, 365943X7X58=NULL, 365943X7X61=NULL, 365943X7X60='', 365943X7X63=NULL, 365943X7X62='', 365943X7X65=NULL, 365943X7X64='', 365943X7X67=NULL, 365943X7X66='', 365943X7X69=NULL, 365943X7X68='', 365943X7X71=NULL, 365943X7X70=NULL, 365943X7X73=NULL, 365943X7X72=NULL, 365943X7X75=NULL, 365943X7X74='', 365943X7X77=NULL, 365943X7X78='', 365943X7X79=NULL, 365943X7X80='', 365943X7X81=NULL, 365943X7X82='', 365943X7X83=NULL, 365943X7X84='', 365943X7X85=NULL, 365943X7X87=NULL, 365943X6X1='', 365943X6X1other='', 365943X6X2=NULL, 365943X6X3='', 365943X6X4=NULL, 365943X6X15SQ001='', 365943X6X15SQ002='', 365943X6X15SQ003='', 365943X6X19='', 365943X6X6=NULL, 365943X6X8=NULL, 365943X6X20='', 365943X6X10=NULL, 365943X6X21SQ001='', 365943X6X21SQ002='', 365943X6X21SQ003='', 365943X6X21SQ004='', 365943X6X21SQ005='', 365943X6X21SQ006='', 365943X6X21SQ007='', 365943X6X12=NULL, 365943X6X30SQ001='', 365943X6X30SQ002='', 365943X6X30SQ003='', 365943X6X30SQ004='', 365943X6X30SQ005='', 365943X6X14=NULL, 365943X6X36='', 365943X6X38SQ001='', 365943X6X38SQ002='', 365943X6X38SQ003='', 365943X6X38SQ004='', 365943X6X37=NULL, 365943X6X44SQ001='', 365943X6X39=NULL, 365943X6X47='', 365943X6X45=NULL, 365943X6X48=NULL WHERE ID=6

Errors over errors X)

Zip is uploading ...

Paul279

Paul279

2014-01-24 11:48

reporter   ~28122

So it is also not possible anymore to add tokens for a survey:

(PHP notice.html)

I think I will wait for version 2.06 thanks

c_schmitz

c_schmitz

2014-01-26 18:35

administrator   ~28222

Duplicate qids are fine - there should be one for each language.

However the .lss file you exported contained 3 times the same qid for all questions, whereas one was for German, one for an English empty one and one for an English translated one.
The error is fixed in the commit below and was a fatal typo. Basically every question added in a multilingual survey was corrupted and it was not very obvious.

c_schmitz

c_schmitz

2014-01-26 18:39

administrator   ~28223

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=13779

Paul279

Paul279

2014-01-27 09:21

reporter   ~28226

Last edited: 2014-01-27 09:24

Okay thank you very much - trying it again

//EDIT
I think you should build a new release, because the bug is fixed 26.1 and the last released was published 25.1, but this is a horrible and important bug.

Downloading it again from github :-)

c_schmitz

c_schmitz

2014-01-31 17:32

administrator   ~28348

LimeSurvey 2-05+ Build 140131 released

Related Changesets

LimeSurvey: master 390642a2

2014-01-26 16:03:45

c_schmitz

Details Diff
Fixed issue 08585: Data corruption after adding questions to a multilingual survey Affected Issues
08585
mod - application/controllers/admin/database.php Diff File

Issue History

Date Modified Username Field Change
2014-01-23 13:06 Paul279 New Issue
2014-01-23 13:06 Paul279 File Added: limesurvey_survey_365943.lss
2014-01-23 13:51 c_schmitz Note Added: 28109
2014-01-23 13:51 c_schmitz Assigned To => c_schmitz
2014-01-23 13:51 c_schmitz Status new => feedback
2014-01-23 16:16 Paul279 Issue Monitored: Paul279
2014-01-23 16:16 Paul279 Issue End Monitor: Paul279
2014-01-23 16:28 Paul279 Note Added: 28113
2014-01-23 16:28 Paul279 Status feedback => assigned
2014-01-23 16:29 Paul279 File Added: files.zip
2014-01-23 16:30 Paul279 Note Edited: 28113
2014-01-24 11:48 Paul279 Note Added: 28122
2014-01-24 11:48 Paul279 File Added: PHP notice.htm
2014-01-26 16:18 c_schmitz Issue cloned: 08605
2014-01-26 18:35 c_schmitz Note Added: 28222
2014-01-26 18:39 c_schmitz Changeset attached => LimeSurvey master 390642a2
2014-01-26 18:39 c_schmitz Note Added: 28223
2014-01-26 18:39 c_schmitz Resolution open => fixed
2014-01-26 18:39 c_schmitz Status assigned => resolved
2014-01-26 18:39 c_schmitz Fixed in Version => 2.05+
2014-01-27 09:21 Paul279 Note Added: 28226
2014-01-27 09:24 Paul279 Note Edited: 28226
2014-01-31 17:32 c_schmitz Note Added: 28348
2014-01-31 17:32 c_schmitz Status resolved => closed
2019-11-01 17:25 c_schmitz Category Survey design => Survey editing