View Issue Details

This bug affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
18152Bug reportsTheme editorpublic2022-05-31 09:38
ReporterDenisChenu Assigned Togabrieljenik  
PrioritynoneSeveritypartial_block 
Status resolvedResolutionfixed 
Product Version5.3.x 
Fixed in Version5.3.x 
Summary18152: Unable to manage theme with debug set
Description

When debug is set : unable to manage theme

Steps To Reproduce

Steps to reproduce

Deactivate debug
Go to theme / Question
Check if bootstrap_dropdown appear at bottom (not installed)
If installed : deinstall
Activate debug mode
Reload

Expected result

PHP Notice

Actual result

Same screen with debug=2 or debug =0

TagsNo tags attached.
Bug heat4
Complete LimeSurvey version number (& build)5.3.17
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

Relationships

related to 18033 assignedgabrieljenik Model errors need friendlier messages. 

Users monitoring this issue

User List There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2022-05-25 12:42

developer  

PHP notice.html (30,392 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 index: type	</p>

	<div class="source">
		<p class="file">/data/webdev/mastervanilla/application/models/QuestionTheme.php(738)</p>
		<div class="code"><pre><span class="ln">726</span>             'title'         =&gt; $questionMetaData['title'],
<span class="ln">727</span>             'creation_date' =&gt; date('Y-m-d H:i:s', strtotime($questionMetaData['creationDate'])),
<span class="ln">728</span>             'author'        =&gt; $questionMetaData['author'] ?? '',
<span class="ln">729</span>             'author_email'  =&gt; $questionMetaData['authorEmail'] ?? '',
<span class="ln">730</span>             'author_url'    =&gt; $questionMetaData['authorUrl'] ?? '',
<span class="ln">731</span>             'copyright'     =&gt; $questionMetaData['copyright'] ?? '',
<span class="ln">732</span>             'license'       =&gt; $questionMetaData['license'] ?? '',
<span class="ln">733</span>             'version'       =&gt; $questionMetaData['version'],
<span class="ln">734</span>             'api_version'   =&gt; $questionMetaData['apiVersion'],
<span class="ln">735</span>             'description'   =&gt; $questionMetaData['description'],
<span class="ln">736</span>             'last_update'   =&gt; date('Y-m-d H:i:s'), //todo
<span class="ln">737</span>             'owner_id'      =&gt; 1, //todo
<span class="error"><span class="ln error-ln">738</span>             'theme_type'    =&gt; $questionMetaData['type'],
</span><span class="ln">739</span>             'question_type' =&gt; $questionMetaData['questionType'],
<span class="ln">740</span>             'core_theme'    =&gt; $questionMetaData['coreTheme'],
<span class="ln">741</span>             'extends'       =&gt; $questionMetaData['extends'],
<span class="ln">742</span>             'group'         =&gt; $questionMetaData['group'] ?? '',
<span class="ln">743</span>             'settings'      =&gt; $questionMetaData['settings'] ?? ''
<span class="ln">744</span>         ];
<span class="ln">745</span>         return $questionMetaData;
<span class="ln">746</span>     }
<span class="ln">747</span> 
<span class="ln">748</span>     /**
<span class="ln">749</span>      * Return the question Theme preview URL
<span class="ln">750</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;/data/webdev/mastervanilla/application/models/QuestionTheme.php(314): <strong>QuestionTheme</strong>::<strong>getMetaDataArray</strong>(array("name"
 =&gt; "bootstrap_dropdown", "title" =&gt; "Bootstrap Dropdown", 
"creationDate" =&gt; "2021-09-29", "author" =&gt; "Adam Zammit", ...))		
		</div>

				<div class="code"><pre><span class="ln">309</span>                 }
<span class="ln">310</span>             }
<span class="ln">311</span>             foreach ($aThemes['available_themes'] as $questionMetaData) {
<span class="ln">312</span>                 // TODO: replace by manifest
<span class="ln">313</span>                 $questionTheme = new QuestionTheme();
<span class="error"><span class="ln error-ln">314</span>                 $metaDataArray = self::getMetaDataArray($questionMetaData);
</span><span class="ln">315</span>                 $questionTheme-&gt;setAttributes($metaDataArray, false);
<span class="ln">316</span>                 $aAvailableThemes[] = $questionTheme;
<span class="ln">317</span>             }
<span class="ln">318</span>         }
<span class="ln">319</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;/data/webdev/mastervanilla/application/views/themeOptions/availablethemelist.php(5): <strong>QuestionTheme</strong>-&gt;<strong>getAvailableQuestionThemes</strong>()				</div>

				<div class="code"><pre><span class="ln">01</span> &lt;?php
<span class="ln">02</span> /**
<span class="ln">03</span>  * @var QuestionTheme $oQuestionTheme
<span class="ln">04</span>  */
<span class="error"><span class="ln error-ln">05</span> $aQuestionThemes = $oQuestionTheme-&gt;getAvailableQuestionThemes();
</span><span class="ln">06</span> ?&gt;
<span class="ln">07</span> &lt;?php if (!empty($aQuestionThemes['available_themes'])): ?&gt;
<span class="ln">08</span>     &lt;h3&gt;&lt;?php eT('Available question themes:'); ?&gt;&lt;/h3&gt;
<span class="ln">09</span>     &lt;div class="row"&gt;
<span class="ln">10</span>         &lt;div class="col-sm-12 content-right"&gt;
</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;/data/webdev/mastervanilla/framework/web/CBaseController.php(126): <strong>require</strong>("/data/webdev/mastervanilla/application/views/themeOptions/availa...")				</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">
				#3			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CBaseController.php(95): <strong>CBaseController</strong>-&gt;<strong>renderInternal</strong>("/data/webdev/mastervanilla/application/views/themeOptions/./avai...",
 array("oQuestionTheme" =&gt; QuestionTheme, "pageSize" =&gt; 10), 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">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CController.php(872): <strong>CBaseController</strong>-&gt;<strong>renderFile</strong>("/data/webdev/mastervanilla/application/views/themeOptions/./avai...",
 array("oQuestionTheme" =&gt; QuestionTheme, "pageSize" =&gt; 10), true)
				</div>

				<div class="code"><pre><span class="ln">867</span>      */
<span class="ln">868</span>     public function renderPartial($view,$data=null,$return=false,$processOutput=false)
<span class="ln">869</span>     {
<span class="ln">870</span>         if(($viewFile=$this-&gt;getViewFile($view))!==false)
<span class="ln">871</span>         {
<span class="error"><span class="ln error-ln">872</span>             $output=$this-&gt;renderFile($viewFile,$data,true);
</span><span class="ln">873</span>             if($processOutput)
<span class="ln">874</span>                 $output=$this-&gt;processOutput($output);
<span class="ln">875</span>             if($return)
<span class="ln">876</span>                 return $output;
<span class="ln">877</span>             else
</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;/data/webdev/mastervanilla/application/views/themeOptions/index.php(239): <strong>CController</strong>-&gt;<strong>renderPartial</strong>("./availablethemelist", array("oQuestionTheme" =&gt; QuestionTheme, "pageSize" =&gt; 10))				</div>

				<div class="code"><pre><span class="ln">234</span>                             'themeType' =&gt; 'question'
<span class="ln">235</span>                         ]
<span class="ln">236</span>                 ); ?&gt;
<span class="ln">237</span>                 &lt;?php $this-&gt;renderPartial('./installedthemelist', array('oQuestionTheme' =&gt; $oQuestionTheme, 'pageSize' =&gt; $pageSize)); ?&gt;
<span class="ln">238</span>                 &lt;!-- Available Quesiton Themes--&gt;
<span class="error"><span class="ln error-ln">239</span>                 &lt;?php $this-&gt;renderPartial('./availablethemelist', array('oQuestionTheme' =&gt; $oQuestionTheme, 'pageSize' =&gt; $pageSize)); ?&gt;
</span><span class="ln">240</span>             &lt;/div&gt;
<span class="ln">241</span>         &lt;/div&gt;
<span class="ln">242</span>     &lt;/div&gt;
<span class="ln">243</span> &lt;/div&gt;
<span class="ln">244</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;/data/webdev/mastervanilla/framework/web/CBaseController.php(126): <strong>require</strong>("/data/webdev/mastervanilla/application/views/themeOptions/index....")				</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">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CBaseController.php(95): <strong>CBaseController</strong>-&gt;<strong>renderInternal</strong>("/data/webdev/mastervanilla/application/views/themeOptions/index....",
 array("oAdminTheme" =&gt; AdminTheme, "oQuestionTheme" =&gt; 
QuestionTheme, "oSurveyTheme" =&gt; TemplateConfiguration, "canImport" 
=&gt; true, ...), 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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CController.php(872): <strong>CBaseController</strong>-&gt;<strong>renderFile</strong>("/data/webdev/mastervanilla/application/views/themeOptions/index....",
 array("oAdminTheme" =&gt; AdminTheme, "oQuestionTheme" =&gt; 
QuestionTheme, "oSurveyTheme" =&gt; TemplateConfiguration, "canImport" 
=&gt; true, ...), true)				</div>

				<div class="code"><pre><span class="ln">867</span>      */
<span class="ln">868</span>     public function renderPartial($view,$data=null,$return=false,$processOutput=false)
<span class="ln">869</span>     {
<span class="ln">870</span>         if(($viewFile=$this-&gt;getViewFile($view))!==false)
<span class="ln">871</span>         {
<span class="error"><span class="ln error-ln">872</span>             $output=$this-&gt;renderFile($viewFile,$data,true);
</span><span class="ln">873</span>             if($processOutput)
<span class="ln">874</span>                 $output=$this-&gt;processOutput($output);
<span class="ln">875</span>             if($return)
<span class="ln">876</span>                 return $output;
<span class="ln">877</span>             else
</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;/data/webdev/mastervanilla/framework/web/CController.php(785): <strong>CController</strong>-&gt;<strong>renderPartial</strong>("index",
 array("oAdminTheme" =&gt; AdminTheme, "oQuestionTheme" =&gt; 
QuestionTheme, "oSurveyTheme" =&gt; TemplateConfiguration, "canImport" 
=&gt; true, ...), true)				</div>

				<div class="code"><pre><span class="ln">780</span>      */
<span class="ln">781</span>     public function render($view,$data=null,$return=false)
<span class="ln">782</span>     {
<span class="ln">783</span>         if($this-&gt;beforeRender($view))
<span class="ln">784</span>         {
<span class="error"><span class="ln error-ln">785</span>             $output=$this-&gt;renderPartial($view,$data,true);
</span><span class="ln">786</span>             if(($layoutFile=$this-&gt;getLayoutFile($this-&gt;layout))!==false)
<span class="ln">787</span>                 $output=$this-&gt;renderFile($layoutFile,array('content'=&gt;$output),true);
<span class="ln">788</span> 
<span class="ln">789</span>             $this-&gt;afterRender($view,$output);
<span class="ln">790</span> 
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/application/controllers/ThemeOptionsController.php(494): <strong>CController</strong>-&gt;<strong>render</strong>("index",
 array("oAdminTheme" =&gt; AdminTheme, "oQuestionTheme" =&gt; 
QuestionTheme, "oSurveyTheme" =&gt; TemplateConfiguration, "canImport" 
=&gt; true, ...))				</div>

				<div class="code"><pre><span class="ln">489</span>         $aData['fullpagebar']['themes']['buttons']['uploadAndInstall']['modalSurvey'] = 'importSurveyModal';
<span class="ln">490</span>         $aData['fullpagebar']['themes']['buttons']['uploadAndInstall']['modalQuestion'] = 'importQuestionModal';
<span class="ln">491</span>         $aData['fullpagebar']['importErrorMessage'] = $importErrorMessage;
<span class="ln">492</span>         $this-&gt;aData = $aData;
<span class="ln">493</span> 
<span class="error"><span class="ln error-ln">494</span>         $this-&gt;render('index', $aData);
</span><span class="ln">495</span>     }
<span class="ln">496</span> 
<span class="ln">497</span>     /**
<span class="ln">498</span>      * Manages all models.
<span class="ln">499</span>      *
</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;/data/webdev/mastervanilla/framework/web/actions/CInlineAction.php(49): <strong>ThemeOptionsController</strong>-&gt;<strong>actionIndex</strong>()				</div>

				<div class="code"><pre><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="ln">47</span>             return $this-&gt;runWithParamsInternal($controller, $method, $params);
<span class="ln">48</span> 
<span class="error"><span class="ln error-ln">49</span>         $controller-&gt;$methodName();
</span><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">
				#12			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CController.php(308): <strong>CInlineAction</strong>-&gt;<strong>runWithParams</strong>(array("r" =&gt; "themeOptions/index"))				</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">
				#13			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/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">
				#14			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/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 app collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/application/controllers/LSBaseController.php(160): <strong>CController</strong>-&gt;<strong>run</strong>("index")				</div>

				<div class="code"><pre><span class="ln">155</span>                     $this-&gt;redirect(array('/admin/authentication/sa/login'));
<span class="ln">156</span>                 }
<span class="ln">157</span>             }
<span class="ln">158</span>         }
<span class="ln">159</span> 
<span class="error"><span class="ln error-ln">160</span>         parent::run($action);
</span><span class="ln">161</span>     }
<span class="ln">162</span> 
<span class="ln">163</span>     /**
<span class="ln">164</span>      * Load and set session vars
<span class="ln">165</span>      *
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#16			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CWebApplication.php(282): <strong>LSBaseController</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">
				#17			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("themeOptions/index")				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">137</span>                 $_GET[$name]=$value;
<span class="ln">138</span>         }
<span class="ln">139</span>         else
<span class="ln">140</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;runController($route);
</span><span class="ln">142</span>     }
<span class="ln">143</span> 
<span class="ln">144</span>     /**
<span class="ln">145</span>      * Registers the core application components.
<span class="ln">146</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#18			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/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">
				#19			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/data/webdev/mastervanilla/index.php(192): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

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

	<div class="version">
		2022-05-25 12:37:16 nginx/1.18.0 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.24-dev	</div>
</div>

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

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



<div id="grammalecte_menu_main_button_shadow_host" style="width: 0px; height: 0px;"></div></body><script src="PHP%20notice_fichiers/api.js"></script></html>
PHP notice.html (30,392 bytes)   
DenisChenu

DenisChenu

2022-05-25 12:43

developer   ~70030

Fixed in develop, not in master
related comit : https://github.com/LimeSurvey/LimeSurvey/commit/51cc3573e23c421a048b17da8ab12be83b3c53d

But more : need to show error without broke page.

gabrieljenik

gabrieljenik

2022-05-27 22:36

manager   ~70071

Feels like could be linked to 18033.
A use case for the new error type?

gabrieljenik

gabrieljenik

2022-05-27 22:37

manager   ~70072

If it is ok, I will assign it to you as it is already started by you

DenisChenu

DenisChenu

2022-05-28 02:05

developer   ~70080

@gabrieljenik : think you don't pout comment at good place :)

You fix it in develop, not in master here.

<type>question_theme</type> needed

gabrieljenik

gabrieljenik

2022-05-30 14:23

manager   ~70100

@gabrieljenik : think you don't pout comment at good place :)

As you mentioned in the actual results section Same screen with debug=2 or debug =0, I thought that the error should be displayed friendlier when debug=2. That's why I suggested the "show ffriendly error".

&lt;type>question_theme&lt;/type> needed
You fix it in develop, not in master here.

Yes. Was merged. Wasn't merged to master yet?

DenisChenu

DenisChenu

2022-05-30 15:54

developer   ~70105

Yes. Was merged. Wasn't merged to master yet?

No, but i don't think there are a pull request :)

Do the pull request : i merge it ;)

gabrieljenik

gabrieljenik

2022-05-30 23:25

manager   ~70118

PR: https://github.com/LimeSurvey/LimeSurvey/pull/2447

gabrieljenik

gabrieljenik

2022-05-31 09:38

manager   ~70120

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

Related Changesets

LimeSurvey: master fced162f

2022-05-31 09:38:04

gabrieljenik


Committer: GitHub Details Diff
Fixed Issue 18152: Unable to manage theme with debug set

Dev: Add missing 'type' on Bootstrap Dropdown config.xml
Dev: Cherrypick 805a7807e974aaef84d98445bd9e208992bf821d
Affected Issues
18152
mod - themes/question/bootstrap_dropdown/survey/questions/answer/list_dropdown/config.xml Diff File

Issue History

Date Modified Username Field Change
2022-05-25 12:42 DenisChenu New Issue
2022-05-25 12:42 DenisChenu File Added: PHP notice.html
2022-05-25 12:43 DenisChenu Note Added: 70030
2022-05-25 12:43 DenisChenu Bug heat 0 => 2
2022-05-25 14:53 DenisChenu Summary Unable to manage theme with ndebug set => Unable to manage theme with debug set
2022-05-27 22:36 gabrieljenik Relationship added related to 18033
2022-05-27 22:36 gabrieljenik Note Added: 70071
2022-05-27 22:36 gabrieljenik Bug heat 2 => 4
2022-05-27 22:37 gabrieljenik Note Added: 70072
2022-05-27 22:37 gabrieljenik Assigned To => DenisChenu
2022-05-27 22:37 gabrieljenik Status new => assigned
2022-05-28 02:05 DenisChenu Note Added: 70080
2022-05-28 02:05 DenisChenu Assigned To DenisChenu => gabrieljenik
2022-05-30 14:23 gabrieljenik Note Added: 70100
2022-05-30 15:54 DenisChenu Note Added: 70105
2022-05-30 23:25 gabrieljenik Note Added: 70118
2022-05-31 09:38 gabrieljenik Changeset attached => LimeSurvey master fced162f
2022-05-31 09:38 gabrieljenik Note Added: 70120
2022-05-31 09:38 gabrieljenik Resolution open => fixed
2022-05-31 09:38 DenisChenu Status assigned => resolved
2022-05-31 09:38 DenisChenu Fixed in Version => 5.3.x