View Issue Details

This bug affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
13749Bug reportsTheme editorpublic2020-05-06 08:54
ReporterDenisChenu Assigned ToDenisChenu  
PrioritylowSeverityminor 
Status closedResolutionfixed 
Product Version3.9.x 
Fixed in Version3.22.15 
Summary13749: FTP rename default theme : send error at all survey with this template
Description

After FTP rename of default theme all survey related to this theme (opr another renamed theme) broke

Steps To Reproduce

set a default theme to extend_vanilla
set some survey to extend_vanilla
rename to my_beautifull_theme
launch a survey

Additional Information

Second pass is OK
Need to filter defaulttheme always

It's happen too without FTP, but don't find the exact way to reproduce without FTP

TagsNo tags attached.
Attached Files
PHP notice -default template.html (23,889 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>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>
</head>

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

	<p class="message">
		Undefined property: TemplateConfiguration::$options	</p>

	<div class="source">
		<p class="file">/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/TemplateConfiguration.php(1065)</p>
		<div class="code"><pre><span class="ln">1053</span>      * @param string $name the name of the attribute
<span class="ln">1054</span>      * @return mixed
<span class="ln">1055</span>      */
<span class="ln">1056</span>     public function __get($name)
<span class="ln">1057</span>     {
<span class="ln">1058</span>         $aAttributesThatCanBeInherited = array('files_css', 'files_js', 'options', 'cssframework_name', 'cssframework_css', 'cssframework_js', 'packages_to_load');
<span class="ln">1059</span> 
<span class="ln">1060</span>         if (in_array($name, $aAttributesThatCanBeInherited) &amp;&amp; $this-&gt;bUseMagicInherit) {
<span class="ln">1061</span>             // Full inheritance of the whole field
<span class="ln">1062</span>             $sAttribute = parent::__get($name);
<span class="ln">1063</span>             if ($sAttribute === 'inherit') {
<span class="ln">1064</span>                 // NOTE: this is object recursive (if parent configuration field is set to inherit, then it will lead to this method again.)
<span class="error"><span class="ln error-ln">1065</span>                 $sAttribute = $this-&gt;getParentConfiguration()-&gt;$name;
</span><span class="ln">1066</span>             }
<span class="ln">1067</span>         } else {
<span class="ln">1068</span>             $sAttribute = parent::__get($name);
<span class="ln">1069</span>         }
<span class="ln">1070</span> 
<span class="ln">1071</span>         return $sAttribute;
<span class="ln">1072</span>     }
<span class="ln">1073</span> 
<span class="ln">1074</span>     /**
<span class="ln">1075</span>      * @return string
<span class="ln">1076</span>      */
<span class="ln">1077</span>     public function getTemplateAndMotherNames()
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/TemplateConfiguration.php(1065): <strong>TemplateConfiguration</strong>-&gt;<strong>__get</strong>("options")				</div>

				<div class="code"><pre><span class="ln">1060</span>         if (in_array($name, $aAttributesThatCanBeInherited) &amp;&amp; $this-&gt;bUseMagicInherit) {
<span class="ln">1061</span>             // Full inheritance of the whole field
<span class="ln">1062</span>             $sAttribute = parent::__get($name);
<span class="ln">1063</span>             if ($sAttribute === 'inherit') {
<span class="ln">1064</span>                 // NOTE: this is object recursive (if parent configuration field is set to inherit, then it will lead to this method again.)
<span class="error"><span class="ln error-ln">1065</span>                 $sAttribute = $this-&gt;getParentConfiguration()-&gt;$name;
</span><span class="ln">1066</span>             }
<span class="ln">1067</span>         } else {
<span class="ln">1068</span>             $sAttribute = parent::__get($name);
<span class="ln">1069</span>         }
<span class="ln">1070</span> 
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/TemplateConfiguration.php(882): <strong>TemplateConfiguration</strong>-&gt;<strong>__get</strong>("options")				</div>

				<div class="code"><pre><span class="ln">877</span>     }
<span class="ln">878</span> 
<span class="ln">879</span>     protected function setOptions()
<span class="ln">880</span>     {
<span class="ln">881</span>         $this-&gt;oOptions = array();
<span class="error"><span class="ln error-ln">882</span>         if (!empty($this-&gt;options)) {
</span><span class="ln">883</span>             $this-&gt;oOptions = json_decode($this-&gt;options);
<span class="ln">884</span>         }
<span class="ln">885</span> 
<span class="ln">886</span>         $this-&gt;setOptionInheritance();
<span class="ln">887</span>     }
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/TemplateConfiguration.php(847): <strong>TemplateConfiguration</strong>-&gt;<strong>setOptions</strong>()				</div>

				<div class="code"><pre><span class="ln">842</span>         $this-&gt;apiVersion       = (!empty($this-&gt;template-&gt;api_version)) ? $this-&gt;template-&gt;api_version : null; // Mandtory setting in config XML
<span class="ln">843</span>         $this-&gt;viewPath         = $this-&gt;path.$this-&gt;getTemplateForPath($this, 'view_folder')-&gt;template-&gt;view_folder.DIRECTORY_SEPARATOR;
<span class="ln">844</span>         $this-&gt;filesPath        = $this-&gt;path.$this-&gt;getTemplateForPath($this, 'files_folder')-&gt;template-&gt;files_folder.DIRECTORY_SEPARATOR;
<span class="ln">845</span>         $this-&gt;generalFilesPath = Yii::app()-&gt;getConfig("userthemerootdir").DIRECTORY_SEPARATOR.'generalfiles'.DIRECTORY_SEPARATOR;
<span class="ln">846</span>         // Options are optional
<span class="error"><span class="ln error-ln">847</span>         $this-&gt;setOptions();
</span><span class="ln">848</span> 
<span class="ln">849</span>         // Not mandatory (use package dependances)
<span class="ln">850</span>         $this-&gt;setCssFramework();
<span class="ln">851</span>         $this-&gt;packages = $this-&gt;getDependsPackages($this);
<span class="ln">852</span>         if (!empty($this-&gt;packages_to_load)) {
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/TemplateConfiguration.php(455): <strong>TemplateConfiguration</strong>-&gt;<strong>setThisTemplate</strong>()				</div>

				<div class="code"><pre><span class="ln">450</span>         }
<span class="ln">451</span> 
<span class="ln">452</span>         $this-&gt;bUseMagicInherit = $bUseMagicInherit;
<span class="ln">453</span>         $this-&gt;setBasics($sTemplateName, $iSurveyId);
<span class="ln">454</span>         $this-&gt;setMotherTemplates(); // Recursive mother templates configuration
<span class="error"><span class="ln error-ln">455</span>         $this-&gt;setThisTemplate(); // Set the main config values of this template
</span><span class="ln">456</span>         $this-&gt;createTemplatePackage($this); // Create an asset package ready to be loaded
<span class="ln">457</span>         self::$aPreparedToRender[$this-&gt;template-&gt;name][$iSurveyId][$bUseMagicInherit] = $this;
<span class="ln">458</span>         return $this;
<span class="ln">459</span>     }
<span class="ln">460</span> 
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/models/Template.php(496): <strong>TemplateConfiguration</strong>-&gt;<strong>prepareTemplateRendering</strong>("", "117157")				</div>

				<div class="code"><pre><span class="ln">491</span>             }
<span class="ln">492</span>         }
<span class="ln">493</span> 
<span class="ln">494</span>         if (empty(self::$instance)) {
<span class="ln">495</span>             self::$instance = self::getTemplateConfiguration($sTemplateName, $iSurveyId, $iSurveyGroupId, $bForceXML);
<span class="error"><span class="ln error-ln">496</span>             self::$instance-&gt;prepareTemplateRendering($sTemplateName, $iSurveyId);
</span><span class="ln">497</span>         }
<span class="ln">498</span> 
<span class="ln">499</span> 
<span class="ln">500</span>         return self::$instance;
<span class="ln">501</span>     }
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/application/controllers/survey/index.php(291): <strong>Template</strong>::<strong>getInstance</strong>("", "117157")				</div>

				<div class="code"><pre><span class="ln">286</span>             unset($token);
<span class="ln">287</span>             unset($clienttoken);
<span class="ln">288</span>         }
<span class="ln">289</span> 
<span class="ln">290</span>         //SET THE TEMPLATE DIRECTORY
<span class="error"><span class="ln error-ln">291</span>         $oTemplate  = Template::model()-&gt;getInstance('', $surveyid);
</span><span class="ln">292</span>         $timeadjust = Yii::app()-&gt;getConfig("timeadjust");
<span class="ln">293</span> 
<span class="ln">294</span>         //MAKE SURE SURVEY HASN'T EXPIRED
<span class="ln">295</span>         if ($thissurvey['expiry'] != '' and dateShift(date("Y-m-d H:i:s"), "Y-m-d H:i:s", $timeadjust) &gt; $thissurvey['expiry'] &amp;&amp; $thissurvey['active'] != 'N' &amp;&amp; !$previewmode) {
<span class="ln">296</span>             $aErrors = array(gT('Error'));
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/framework/web/CController.php(308): <strong>CAction</strong>-&gt;<strong>runWithParams</strong>(array("newtest" =&gt; "Y", "lang" =&gt; "fr", "sid" =&gt; "117157"))				</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">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index/sid/117157")				</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">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey_master/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">
		2018-06-08 00:43:12 Apache/2.2.22 (Debian) <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.19	</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>
Bug heat2
Complete LimeSurvey version number (& build)3.9.0 github
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant
Server OS (if known)not relevant
Webserver software & version (if known)not relevant
PHP Versionnot relevant

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2018-06-08 01:08

developer   ~48027

Last edited: 2018-06-08 01:10

@LouisGac : i think fixing it at
https://github.com/LimeSurvey/LimeSurvey/blob/83e3fb711b3db89a9383cdbb73f94f9acc45dc75/application/core/LSYii_Application.php#L151
/ Always fix default theme /
$this->setConfig('defaulttheme',Template::templateNameFilter($this->getConfig('defaulttheme')));

But you totally rework templateNameFilter and fix DB inside …

Then need to fix it each time we load defaulttheme, then i update here https://github.com/LimeSurvey/LimeSurvey/blob/83e3fb711b3db89a9383cdbb73f94f9acc45dc75/application/models/TemplateConfiguration.php#L164
$oInstance = self::getInstanceFromTemplateName(Template::templateNameFilter(App()->getConfig('defaulttheme')));

But same issue

DenisChenu

DenisChenu

2018-06-09 17:20

developer   ~48035

And currently the name of template is filtered each time Survey is loaded, then :

At end : parent template didn't exist, then don't have option …

DenisChenu

DenisChenu

2018-06-15 19:48

developer   ~48189

Since travis has this issue since we use it …
https://travis-ci.org/LimeSurvey/LimeSurvey/jobs/392787314#L801

I really think we must have a finally fedult template option come from core, even if all are null/empty

DenisChenu

DenisChenu

2019-07-03 18:05

developer   ~52717

Remind Second pass is OK

It's only at 1st call.

It meens the theme is totally fixed after HTML broke …

DenisChenu

DenisChenu

2020-05-06 08:54

developer   ~57563

Seem fixed now (3.2.2)

Issue History

Date Modified Username Field Change
2018-06-08 00:47 DenisChenu New Issue
2018-06-08 00:47 DenisChenu File Added: PHP notice -default template.html
2018-06-08 00:47 DenisChenu Assigned To => DenisChenu
2018-06-08 00:47 DenisChenu Status new => assigned
2018-06-08 00:50 DenisChenu Assigned To DenisChenu =>
2018-06-08 00:50 DenisChenu Status assigned => new
2018-06-08 01:08 DenisChenu Note Added: 48027
2018-06-08 01:09 DenisChenu Note Edited: 48027
2018-06-08 01:10 DenisChenu Note Edited: 48027
2018-06-09 17:20 DenisChenu Note Added: 48035
2018-06-09 17:21 DenisChenu Product Version 3.8.x => 3.9.x
2018-06-15 19:48 DenisChenu Note Added: 48189
2019-07-03 18:01 cdorin Assigned To => LouisGac
2019-07-03 18:01 cdorin Priority none => low
2019-07-03 18:01 cdorin Status new => assigned
2019-07-03 18:05 DenisChenu Note Added: 52717
2020-05-06 08:54 DenisChenu Assigned To LouisGac => DenisChenu
2020-05-06 08:54 DenisChenu Status assigned => resolved
2020-05-06 08:54 DenisChenu Resolution open => fixed
2020-05-06 08:54 DenisChenu Note Added: 57563
2020-05-06 08:54 DenisChenu Status resolved => closed
2020-05-06 08:54 DenisChenu Fixed in Version => 3.22.15