View Issue Details

This bug affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
10717Bug reportsInstallationpublic2016-03-09 12:45
Reporterarkhan Assigned ToLouisGac 
PriorityurgentSeverityblock 
Status closedResolutionfixed 
Product Version2.50.x 
Fixed in Version2.50.x 
Summary10717: view template report 500 admin/templates/sa/view
Description

Hi there,
and Install Limesurvey on my server (nginx, PostgreSQL) ALL But when trying to edit A template is white and without any charge,

firebug throws this:

"NetworkError: 500 Internal Server Error - http://encuestas.espiraleducativa.org/index.php?r=admin/templates/sa/view"

everything else works perfectly

thanks

TagsNo tags attached.
Attached Files
error.html (21,029 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>Recoverable error</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>Recoverable error</h1>

	<p class="message">
		Argument 1 passed to templates::_initcssfiles() must be an instance of
 stdClass, instance of TemplateConfiguration given, called in 
/var/www/limesurvey/www/application/controllers/admin/templates.php on 
line 961 and defined	</p>

	<div class="source">
		<p class="file">/var/www/limesurvey/www/application/controllers/admin/templates.php(885)</p>
		<div class="code"><pre><span class="ln">873</span> 
<span class="ln">874</span>         return $files;
<span class="ln">875</span>     }
<span class="ln">876</span> 
<span class="ln">877</span>     /**
<span class="ln">878</span>     * Function that initialises cssfile data.
<span class="ln">879</span>     *
<span class="ln">880</span>     * @access protected
<span class="ln">881</span>     * @param StdClass $oEditedTemplate
<span class="ln">882</span>     * @param boolean $editable
<span class="ln">883</span>     * @return array
<span class="ln">884</span>     */
<span class="error"><span class="ln error-ln">885</span>     protected function _initcssfiles(StdClass $oEditedTemplate, $editable=false)
</span><span class="ln">886</span>     {
<span class="ln">887</span>         // If editable CSS files are required, and if they are defined in the template config file
<span class="ln">888</span>         if($editable &amp;&amp; is_object($oEditedTemplate-&gt;config-&gt;files_editable-&gt;css))
<span class="ln">889</span>         {
<span class="ln">890</span>             $aCssFiles = (array) $oEditedTemplate-&gt;config-&gt;files_editable-&gt;css-&gt;filename;
<span class="ln">891</span>         }
<span class="ln">892</span>         // Else we get all the CSS files
<span class="ln">893</span>         else
<span class="ln">894</span>         {
<span class="ln">895</span>             $aCssFiles = (array) $oEditedTemplate-&gt;config-&gt;files-&gt;css-&gt;filename;
<span class="ln">896</span>         }
<span class="ln">897</span> 
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace app expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/application/controllers/admin/templates.php(961): <strong>templates</strong>-&gt;<strong>_initcssfiles</strong>(TemplateConfiguration)				</div>

				<div class="code"><pre><span class="ln">956</span>         //App()-&gt;getClientScript()-&gt;reset();
<span class="ln">957</span>         Yii::app()-&gt;loadHelper('surveytranslator');
<span class="ln">958</span>         Yii::app()-&gt;loadHelper('admin/template');
<span class="ln">959</span>         $files = $this-&gt;_initfiles($templatename);
<span class="ln">960</span> 
<span class="error"><span class="ln error-ln">961</span>         $cssfiles = $this-&gt;_initcssfiles($oEditedTemplate);
</span><span class="ln">962</span> 
<span class="ln">963</span> 
<span class="ln">964</span>         // Standard Support Files
<span class="ln">965</span>         // These files may be edited or saved
<span class="ln">966</span>         $supportfiles[] = array('name' =&gt; 'print_img_radio.png');
</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;/var/www/limesurvey/www/application/controllers/admin/templates.php(387): <strong>templates</strong>-&gt;<strong>_initialise</strong>("default", "welcome", "startpage.pstpl", true, ...)				</div>

				<div class="code"><pre><span class="ln">382</span>         // This can happen if the global default template is deleted
<span class="ln">383</span>         if (!Template::checkIfTemplateExists($templatename))
<span class="ln">384</span>         {
<span class="ln">385</span>             $templatename = 'default';
<span class="ln">386</span>         }
<span class="error"><span class="ln error-ln">387</span>         $aViewUrls = $this-&gt;_initialise($templatename, $screenname, $editfile, true, $useindex);
</span><span class="ln">388</span>         App()-&gt;getClientScript()-&gt;reset();
<span class="ln">389</span> 
<span class="ln">390</span>         // After reseting, we need register again the script : maybe move it to endScripts_view for allways needed scripts ?
<span class="ln">391</span>         App()-&gt;getClientScript()-&gt;registerScriptFile( App()-&gt;getAssetManager()-&gt;publish( ADMIN_SCRIPT_PATH . "admin_core.js" ));
<span class="ln">392</span>         App()-&gt;getClientScript()-&gt;registerScriptFile( App()-&gt;getAssetManager()-&gt;publish( ADMIN_SCRIPT_PATH  . 'templates.js'));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#2			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>templates</strong>-&gt;<strong>index</strong>("startpage.pstpl", "welcome", "", false)				</div>

							</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(templates, array("startpage.pstpl", "welcome", "", false))				</div>

				<div class="code"><pre><span class="ln">104</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">105</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">106</span>             else
<span class="ln">107</span>                 return false;
<span class="ln">108</span>         }
<span class="error"><span class="ln error-ln">109</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">110</span>         return true;
<span class="ln">111</span>     }
<span class="ln">112</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;/var/www/limesurvey/www/application/core/Survey_Common_Action.php(101): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(templates, ReflectionMethod, array("sa" =&gt; "view"))				</div>

				<div class="code"><pre><span class="ln">096</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">097</span>         }
<span class="ln">098</span> 
<span class="ln">099</span>         // We're all good to go, let's execute it
<span class="ln">100</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">101</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">102</span>     }
<span class="ln">103</span> 
<span class="ln">104</span>     /**
<span class="ln">105</span>     * Some functions have different parameters, which are just an alias of the
<span class="ln">106</span>     * usual parameters we're getting in the url. This function just populates
</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;/var/www/limesurvey/www/application/controllers/admin/templates.php(33): <strong>Survey_Common_Action</strong>-&gt;<strong>runWithParams</strong>(array("sa" =&gt; "view"))				</div>

				<div class="code"><pre><span class="ln">28</span>     {
<span class="ln">29</span>         if (!Permission::model()-&gt;hasGlobalPermission('templates','read'))
<span class="ln">30</span>         {
<span class="ln">31</span>             die('No permission');
<span class="ln">32</span>         }
<span class="error"><span class="ln error-ln">33</span>         parent::runWithParams($params);
</span><span class="ln">34</span>     }
<span class="ln">35</span> 
<span class="ln">36</span> 
<span class="ln">37</span> 
<span class="ln">38</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/CController.php(308): <strong>templates</strong>-&gt;<strong>runWithParams</strong>(array("sa" =&gt; "view"))				</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">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(templates)				</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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(templates, 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">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/application/controllers/AdminController.php(169): <strong>CController</strong>-&gt;<strong>run</strong>("templates")				</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">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-&gt;<strong>run</strong>("templates")				</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">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/templates/sa/view")				</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">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/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">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/limesurvey/www/index.php(211): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">206</span>         die (sprintf('%s should be writable by the webserver (766 or 776).', $runtimePath));
<span class="ln">207</span>     }
<span class="ln">208</span> }
<span class="ln">209</span> 
<span class="ln">210</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">211</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">212</span> 
<span class="ln">213</span> /* End of file index.php */
<span class="ln">214</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2016-03-08 22:50:42 Apache/2.4.16 (Unix) OpenSSL/1.0.1s Phusion_Passenger/5.0.20 mod_wsgi/4.4.19 Python/2.7.5 PHP/5.6.19 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.17	</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>
error.html (21,029 bytes)   
frontpage.html (17,678 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>Exception</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>Exception</h1>

	<p class="message">
		Template needs either template name or survey id	</p>

	<div class="source">
		<p class="file">/var/www/joomla/www/application/models/TemplateConfiguration.php(60)</p>
		<div class="code"><pre><span class="ln">48</span>      * If it's a user template, it will check if it's an old 2.0x template to provide default configuration values corresponding to the old template system
<span class="ln">49</span>      * If it's not an old template, it will check if it has a configuration file to load its datas.
<span class="ln">50</span>      * If it's not the case (template probably doesn't exist), it will load the default template configuration
<span class="ln">51</span>      * TODO : more tests should be done, with a call to private function _is_valid_template(), testing not only if it has a config.xml, but also id this file is correct, if it has the needed pstpl files, if the files refered in css exist, etc.
<span class="ln">52</span>      *
<span class="ln">53</span>      * @param string $sTemplateName     the name of the template to load. The string come from the template selector in survey settings
<span class="ln">54</span>      * @param integer $iSurveyId        the id of the survey. If
<span class="ln">55</span>      */
<span class="ln">56</span>     public function setTemplateConfiguration($sTemplateName='', $iSurveyId='')
<span class="ln">57</span>     {
<span class="ln">58</span>         if ($sTemplateName == '' &amp;&amp; $iSurveyId == '')
<span class="ln">59</span>         {
<span class="error"><span class="ln error-ln">60</span>             throw new Exception("Template needs either template name or survey id");
</span><span class="ln">61</span>         }
<span class="ln">62</span> 
<span class="ln">63</span>         $this-&gt;sTemplateName = $sTemplateName;
<span class="ln">64</span>         $this-&gt;iSurveyId = $iSurveyId;
<span class="ln">65</span> 
<span class="ln">66</span>         if ($sTemplateName=='')
<span class="ln">67</span>         {
<span class="ln">68</span>             $this-&gt;oSurvey = Survey::model()-&gt;findByPk($iSurveyId);
<span class="ln">69</span>             $this-&gt;sTemplateName = $this-&gt;oSurvey-&gt;template;
<span class="ln">70</span>         }
<span class="ln">71</span> 
<span class="ln">72</span>         $this-&gt;isStandard = $this-&gt;setIsStandard();
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<tbody><tr class="trace app expanded">
			<td class="number">
				#0			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/application/controllers/SurveysController.php(30): <strong>TemplateConfiguration</strong>-&gt;<strong>setTemplateConfiguration</strong>("", null)				</div>

				<div class="code"><pre><span class="ln">25</span>             // using a "getInstance" method without parsing the template model from the controllers
<span class="ln">26</span>             // to the helpers/libraries/view will not resolve magically the problem. It will just create
<span class="ln">27</span>             // second instance.
<span class="ln">28</span>             global $oTemplate;            
<span class="ln">29</span>             $oTemplate = new TemplateConfiguration;
<span class="error"><span class="ln error-ln">30</span>             $oTemplate-&gt;setTemplateConfiguration('',$surveyid);
</span><span class="ln">31</span> 
<span class="ln">32</span>             if($oTemplate-&gt;cssFramework == 'bootstrap')
<span class="ln">33</span>             {
<span class="ln">34</span>                 App()-&gt;bootstrap-&gt;register();
<span class="ln">35</span>             }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#1			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>SurveysController</strong>-&gt;<strong>actionPublicList</strong>(null)				</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;/var/www/joomla/www/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(SurveysController, array(null))				</div>

				<div class="code"><pre><span class="ln">104</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">105</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">106</span>             else
<span class="ln">107</span>                 return false;
<span class="ln">108</span>         }
<span class="error"><span class="ln error-ln">109</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">110</span>         return true;
<span class="ln">111</span>     }
<span class="ln">112</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/actions/CInlineAction.php(47): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(SurveysController, ReflectionMethod, array())				</div>

				<div class="code"><pre><span class="ln">42</span>     {
<span class="ln">43</span>         $methodName='action'.$this-&gt;getId();
<span class="ln">44</span>         $controller=$this-&gt;getController();
<span class="ln">45</span>         $method=new ReflectionMethod($controller, $methodName);
<span class="ln">46</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="error"><span class="ln error-ln">47</span>             return $this-&gt;runWithParamsInternal($controller, $method, $params);
</span><span class="ln">48</span> 
<span class="ln">49</span>         $controller-&gt;$methodName();
<span class="ln">50</span>         return true;
<span class="ln">51</span>     }
<span class="ln">52</span> }
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/CController.php(308): <strong>CInlineAction</strong>-&gt;<strong>runWithParams</strong>(array())				</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">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/CController.php(286): <strong>CController</strong>-&gt;<strong>runAction</strong>(CInlineAction)				</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">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/CController.php(265): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(CInlineAction, 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">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/CWebApplication.php(282): <strong>CController</strong>-&gt;<strong>run</strong>("")				</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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("")				</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">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/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 expanded">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/var/www/joomla/www/index.php(211): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">206</span>         die (sprintf('%s should be writable by the webserver (766 or 776).', $runtimePath));
<span class="ln">207</span>     }
<span class="ln">208</span> }
<span class="ln">209</span> 
<span class="ln">210</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">211</span> Yii::createApplication('LSYii_Application', $config)-&gt;run();
</span><span class="ln">212</span> 
<span class="ln">213</span> /* End of file index.php */
<span class="ln">214</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2016-03-09 11:06:09 Apache/2.4.16 (Unix) OpenSSL/1.0.1s PHP/5.6.19 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.17	</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>
frontpage.html (17,678 bytes)   
Bug heat6
Complete LimeSurvey version number (& build)9ba5e3b
I will donate to the project if issue is resolvedNo
BrowserFirefox, Chrome
Database type & versionPostgreSQL 9.5
Server OS (if known)Debian 8
Webserver software & version (if known)NGINX
PHP Versionphp 5

Users monitoring this issue

There are no users monitoring this issue.

Activities

pedro42

pedro42

2016-03-08 22:53

reporter   ~36182

Last edited: 2016-03-08 22:56

I agree, cannot edit templates in build 160308. In build 160225 it probably worked (not sure about the build number).

Apache, Postgres, PHP 5.6.19

Attached error.html

cbloecher

cbloecher

2016-03-09 10:40

reporter   ~36188

Also agree. This error occurs since build 160308.

Furthermore, I am unable to open the survey selection screen for users for the same reason.

pedro42

pedro42

2016-03-09 10:54

reporter   ~36189

I tried fresh installation just now on another machine, but the same configuration. The problem still exists. I'll check several different configurations.

pedro42

pedro42

2016-03-09 11:09

reporter   ~36190

Yes, as cbloecher said. There is error on the frontpage, in my production system and on the testing system freshly installed also. I'll attach frontpage.html error message.

Please ignore the "joomla" in the path, it's for testing and has nothing to do with Joomla.

c_schmitz

c_schmitz

2016-03-09 12:45

administrator   ~36196

2.50+ Build 160309 released

Issue History

Date Modified Username Field Change
2016-03-08 21:47 arkhan New Issue
2016-03-08 22:53 pedro42 Note Added: 36182
2016-03-08 22:54 pedro42 File Added: error.html
2016-03-08 22:56 pedro42 Note Edited: 36182
2016-03-09 08:48 c_schmitz Assigned To => LouisGac
2016-03-09 08:48 c_schmitz Status new => assigned
2016-03-09 08:49 c_schmitz Priority none => urgent
2016-03-09 10:40 cbloecher Note Added: 36188
2016-03-09 10:54 pedro42 Note Added: 36189
2016-03-09 11:09 pedro42 Note Added: 36190
2016-03-09 11:10 pedro42 File Added: frontpage.html
2016-03-09 11:21 ollehar Status assigned => resolved
2016-03-09 11:21 ollehar Fixed in Version => 2.5
2016-03-09 11:21 ollehar Resolution open => fixed
2016-03-09 12:45 c_schmitz Note Added: 36196
2016-03-09 12:45 c_schmitz Status resolved => closed