View Issue Details

This bug affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
08073Bug reportsExpression Managerpublic2013-11-07 15:00
ReporterDenisChenu Assigned Toc_schmitz  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version2.00+ 
Target Version2.05 RCFixed in Version2.00+ 
Summary08073: PHP notice on survey_logic_file
Description

This one is hard to reproduce, not sure actually. but seems its:
-Adding group

  • move quetsion to this group

After i'm unable to view survey logic file. Only possibility is to delog/log (or set config=0)

Steps To Reproduce

Maybe try:

  • Import a lsg
  • Import same lsg again
  • Click on "view survey logic files"
    OR
  • Add a group
  • Add a question to this group
  • Click on "view survey logic files"
Additional Information

Have the error.
Set debug to 0
Udate survey logic file : OK
Set debug at 2
Update survey logic file : KO

There are some $_SESSION here because delog/relog is OK. BUT admin/expressions/sa/survey_logic_file have already LimeExpressionManager::SetDirtyFlag(); (and i add it again more in start of exression contri=oller ...) Then : LimeExpressionManager::SetDirtyFlag(); is buggy too (and this one can be most important)

TagsNo tags attached.
Attached Files
PHP notice.html (31,842 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 offset: 17	</p>

	<div class="source">
		<p class="file">/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/helpers/expressions/em_manager_helper.php(5864)</p>
		<div class="code"><pre><span class="ln">5852</span>             // STORE METADATA NEEDED TO GENERATE NAVIGATION INDEX //
<span class="ln">5853</span>             ////////////////////////////////////////////////////////
<span class="ln">5854</span>             $groupSeq = $qInfo['gseq'];
<span class="ln">5855</span>             $LEM-&gt;indexQseq[$questionSeq] = array(
<span class="ln">5856</span>             'qid' =&gt; $qInfo['qid'],
<span class="ln">5857</span>             'qtext' =&gt; $qInfo['qtext'],
<span class="ln">5858</span>             'qcode' =&gt; $qInfo['code'],
<span class="ln">5859</span>             'qhelp' =&gt; $qInfo['help'],
<span class="ln">5860</span>             'anyUnanswered' =&gt; $anyUnanswered,
<span class="ln">5861</span>             'anyErrors' =&gt; (($qmandViolation || !$qvalid) ? true : false),
<span class="ln">5862</span>             'show' =&gt; (($qrel &amp;&amp; !$qInfo['hidden']) ? true : false),
<span class="ln">5863</span>             'gseq' =&gt; $groupSeq,
<span class="error"><span class="ln error-ln">5864</span>             'gtext' =&gt; $LEM-&gt;gseq2info[$groupSeq]['description'],
</span><span class="ln">5865</span>             'gname' =&gt; $LEM-&gt;gseq2info[$groupSeq]['group_name'],
<span class="ln">5866</span>             'gid' =&gt; $LEM-&gt;gseq2info[$groupSeq]['gid'],
<span class="ln">5867</span>             'mandViolation' =&gt; $qmandViolation,
<span class="ln">5868</span>             'valid' =&gt; $qvalid,
<span class="ln">5869</span>             );
<span class="ln">5870</span> 
<span class="ln">5871</span>             $_SESSION[$LEM-&gt;sessid]['relevanceStatus'][$qid] = $qrel;
<span class="ln">5872</span> 
<span class="ln">5873</span>             return $qStatus;
<span class="ln">5874</span>         }
<span class="ln">5875</span> 
<span class="ln">5876</span>         static function GetQuestionStatus($qid)
</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/application/helpers/expressions/em_manager_helper.php(5035):
 <strong>LimeExpressionManager</strong>-&gt;<strong>_ValidateQuestion</strong>(88)				</div>

				<div class="code"><pre><span class="ln">5030</span>             /////////////////////////////////////////////////////////
<span class="ln">5031</span>             // CHECK EACH QUESTION, AND SET GROUP-LEVEL PROPERTIES //
<span class="ln">5032</span>             /////////////////////////////////////////////////////////
<span class="ln">5033</span>             for ($i=$groupSeqInfo['qstart'];$i&lt;=$groupSeqInfo['qend']; ++$i)
<span class="ln">5034</span>             {
<span class="error"><span class="ln error-ln">5035</span>                 $qStatus = $LEM-&gt;_ValidateQuestion($i);
</span><span class="ln">5036</span> 
<span class="ln">5037</span>                 $updatedValues = array_merge($updatedValues,$qStatus['updatedValues']);
<span class="ln">5038</span> 
<span class="ln">5039</span>                 if ($gRelInfo['result']==true &amp;&amp; $qStatus['relevant']==true) {
<span class="ln">5040</span>                     $grel = $gRelInfo['result'];    // true;   // at least one question relevant
</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/application/helpers/expressions/em_manager_helper.php(4944):
 <strong>LimeExpressionManager</strong>-&gt;<strong>_ValidateGroup</strong>(17)				</div>

				<div class="code"><pre><span class="ln">4939</span>             ///////////////////////////////////////////////////////
<span class="ln">4940</span>             // CHECK EACH GROUP, AND SET SURVEY-LEVEL PROPERTIES //
<span class="ln">4941</span>             ///////////////////////////////////////////////////////
<span class="ln">4942</span>             for ($i=0;$i&lt;$LEM-&gt;numGroups;++$i) {
<span class="ln">4943</span>                 $LEM-&gt;currentGroupSeq=$i;
<span class="error"><span class="ln error-ln">4944</span>                 $gStatus = $LEM-&gt;_ValidateGroup($i);
</span><span class="ln">4945</span>                 if (is_null($gStatus)) {
<span class="ln">4946</span>                     continue;   // invalid group, so skip it
<span class="ln">4947</span>                 }
<span class="ln">4948</span>                 $message .= $gStatus['message'];
<span class="ln">4949</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/application/helpers/expressions/em_manager_helper.php(4232):
 <strong>LimeExpressionManager</strong>-&gt;<strong>_ValidateSurvey</strong>()				</div>

				<div class="code"><pre><span class="ln">4227</span>                     $LEM-&gt;StartProcessingPage(true);
<span class="ln">4228</span>                     $updatedValues=$LEM-&gt;ProcessCurrentResponses();
<span class="ln">4229</span>                     $message = '';
<span class="ln">4230</span> 
<span class="ln">4231</span>                     $LEM-&gt;currentQset = array();    // reset active list of questions
<span class="error"><span class="ln error-ln">4232</span>                     $result = $LEM-&gt;_ValidateSurvey();
</span><span class="ln">4233</span>                     $message .= $result['message'];
<span class="ln">4234</span>                     $updatedValues = array_merge($updatedValues,$result['updatedValues']);
<span class="ln">4235</span>                     if (!$force &amp;&amp; !is_null($result) &amp;&amp; ($result['mandViolation'] || !$result['valid'] || $startingGroup == -1))
<span class="ln">4236</span>                     {
<span class="ln">4237</span>                         $finished=false;
</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/application/helpers/expressions/em_manager_helper.php(8059):
 <strong>LimeExpressionManager</strong>::<strong>NavigateForwards</strong>()				</div>

				<div class="code"><pre><span class="ln">8054</span>             }
<span class="ln">8055</span>             else
<span class="ln">8056</span>             {
<span class="ln">8057</span>                 $surveyMode='survey';
<span class="ln">8058</span>                 LimeExpressionManager::StartSurvey($sid, 'survey', $surveyOptions, false,$LEMdebugLevel);
<span class="error"><span class="ln error-ln">8059</span>                 $moveResult = LimeExpressionManager::NavigateForwards();
</span><span class="ln">8060</span>             }
<span class="ln">8061</span> 
<span class="ln">8062</span>             $qtypes=getQuestionTypeList('','array');
<span class="ln">8063</span> 
<span class="ln">8064</span>             if (is_null($moveResult) || is_null($LEM-&gt;currentQset) || count($LEM-&gt;currentQset) == 0) {
</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/application/views/admin/expressions/test/survey_logic_file.php(107):
 <strong>LimeExpressionManager</strong>::<strong>ShowSurveyLogicFile</strong>("225165", null, null, 32, ...)				</div>

				<div class="code"><pre><span class="ln">102</span> 
<span class="ln">103</span> 
<span class="ln">104</span>     SetSurveyLanguage($surveyid, $language);
<span class="ln">105</span>     LimeExpressionManager::SetDirtyFlag();
<span class="ln">106</span>     Yii::app()-&gt;lang=new limesurvey_lang(Yii::app()-&gt;session['adminlang']);
<span class="error"><span class="ln error-ln">107</span>     $result = LimeExpressionManager::ShowSurveyLogicFile($surveyid, $gid, $qid,$LEMdebugLevel,$assessments);
</span><span class="ln">108</span>     print $result['html'];
<span class="ln">109</span> 
<span class="ln">110</span>     print &lt;&lt;&lt; EOD
<span class="ln">111</span> &lt;/body&gt;
<span class="ln">112</span> &lt;/html&gt;
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(127): <strong>require</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...")				</div>

				<div class="code"><pre><span class="ln">122</span>             $data=$_data_;
<span class="ln">123</span>         if($_return_)
<span class="ln">124</span>         {
<span class="ln">125</span>             ob_start();
<span class="ln">126</span>             ob_implicit_flush(false);
<span class="error"><span class="ln error-ln">127</span>             require($_viewFile_);
</span><span class="ln">128</span>             return ob_get_clean();
<span class="ln">129</span>         }
<span class="ln">130</span>         else
<span class="ln">131</span>             require($_viewFile_);
<span class="ln">132</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(96): <strong>CBaseController</strong>-&gt;<strong>renderInternal</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", null, true)				</div>

				<div class="code"><pre><span class="ln">091</span>     {
<span class="ln">092</span>         $widgetCount=count($this-&gt;_widgetStack);
<span class="ln">093</span>         if(($renderer=Yii::app()-&gt;getViewRenderer())!==null &amp;&amp; $renderer-&gt;fileExtension==='.'.CFileHelper::getExtension($viewFile))
<span class="ln">094</span>             $content=$renderer-&gt;renderFile($this,$viewFile,$data,$return);
<span class="ln">095</span>         else
<span class="error"><span class="ln error-ln">096</span>             $content=$this-&gt;renderInternal($viewFile,$data,$return);
</span><span class="ln">097</span>         if(count($this-&gt;_widgetStack)===$widgetCount)
<span class="ln">098</span>             return $content;
<span class="ln">099</span>         else
<span class="ln">100</span>         {
<span class="ln">101</span>             $widget=end($this-&gt;_widgetStack);
</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/framework/web/CController.php(870): <strong>CBaseController</strong>-&gt;<strong>renderFile</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", null, true)				</div>

				<div class="code"><pre><span class="ln">865</span>      */
<span class="ln">866</span>     public function renderPartial($view,$data=null,$return=false,$processOutput=false)
<span class="ln">867</span>     {
<span class="ln">868</span>         if(($viewFile=$this-&gt;getViewFile($view))!==false)
<span class="ln">869</span>         {
<span class="error"><span class="ln error-ln">870</span>             $output=$this-&gt;renderFile($viewFile,$data,true);
</span><span class="ln">871</span>             if($processOutput)
<span class="ln">872</span>                 $output=$this-&gt;processOutput($output);
<span class="ln">873</span>             if($return)
<span class="ln">874</span>                 return $output;
<span class="ln">875</span>             else
</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/framework/web/CController.php(783): <strong>CController</strong>-&gt;<strong>renderPartial</strong>("/admin/expressions/test/survey_logic_file", null, true)				</div>

				<div class="code"><pre><span class="ln">778</span>      */
<span class="ln">779</span>     public function render($view,$data=null,$return=false)
<span class="ln">780</span>     {
<span class="ln">781</span>         if($this-&gt;beforeRender($view))
<span class="ln">782</span>         {
<span class="error"><span class="ln error-ln">783</span>             $output=$this-&gt;renderPartial($view,$data,true);
</span><span class="ln">784</span>             if(($layoutFile=$this-&gt;getLayoutFile($this-&gt;layout))!==false)
<span class="ln">785</span>                 $output=$this-&gt;renderFile($layoutFile,array('content'=&gt;$output),true);
<span class="ln">786</span> 
<span class="ln">787</span>             $this-&gt;afterRender($view,$output);
<span class="ln">788</span> 
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/admin/expressions.php(64): <strong>CController</strong>-&gt;<strong>render</strong>("/admin/expressions/test/survey_logic_file")				</div>

				<div class="code"><pre><span class="ln">59</span>         }
<span class="ln">60</span>     }
<span class="ln">61</span> 
<span class="ln">62</span>     protected function test($which)
<span class="ln">63</span>     {
<span class="error"><span class="ln error-ln">64</span>         $this-&gt;getController()-&gt;render('/admin/expressions/test/'.$which);
</span><span class="ln">65</span>     }
<span class="ln">66</span> 
<span class="ln">67</span>     private function _printOnLoad($which)
<span class="ln">68</span>     {
<span class="ln">69</span>         switch ($which)
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/admin/expressions.php(53): <strong>Expressions</strong>-&gt;<strong>test</strong>("survey_logic_file")				</div>

				<div class="code"><pre><span class="ln">48</span>         &lt;link rel="stylesheet" type="text/css" href="&lt;?php echo Yii::app()-&gt;getConfig('adminstyleurl')."adminstyle.css"; ?&gt;" /&gt;
<span class="ln">49</span>     &lt;/head&gt;
<span class="ln">50</span>     &lt;body &lt;?php $this-&gt;_printOnLoad(Yii::app()-&gt;request-&gt;getQuery('sa', 'index'))?&gt;&gt;
<span class="ln">51</span>     &lt;?php
<span class="ln">52</span>         if(isset($_GET['sa']))
<span class="error"><span class="ln error-ln">53</span>             $this-&gt;test($_GET['sa']);
</span><span class="ln">54</span>         else $this-&gt;getController()-&gt;render('/admin/expressions/test_view');
<span class="ln">55</span>     ?&gt;
<span class="ln">56</span>     &lt;/body&gt;
<span class="ln">57</span> &lt;/html&gt;
<span class="ln">58</span>     &lt;?php
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#11			</td>
			<td class="content">
				<div class="trace-file">
										&nbsp;unknown(0): <strong>Expressions</strong>-&gt;<strong>index</strong>()				</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/framework/web/actions/CAction.php(107): <strong>ReflectionMethod</strong>-&gt;<strong>invokeArgs</strong>(Expressions, array())				</div>

				<div class="code"><pre><span class="ln">102</span>             else if($param-&gt;isDefaultValueAvailable())
<span class="ln">103</span>                 $ps[]=$param-&gt;getDefaultValue();
<span class="ln">104</span>             else
<span class="ln">105</span>                 return false;
<span class="ln">106</span>         }
<span class="error"><span class="ln error-ln">107</span>         $method-&gt;invokeArgs($object,$ps);
</span><span class="ln">108</span>         return true;
<span class="ln">109</span>     }
<span class="ln">110</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/core/Survey_Common_Action.php(100): <strong>CAction</strong>-&gt;<strong>runWithParamsInternal</strong>(Expressions,
 ReflectionMethod, array("sid" =&gt; "225165", "sa" =&gt; 
"survey_logic_file", "iSurveyId" =&gt; "225165", "iSurveyID" =&gt; 
"225165"))				</div>

				<div class="code"><pre><span class="ln">095</span>             $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">096</span>         }
<span class="ln">097</span> 
<span class="ln">098</span>         // We're all good to go, let's execute it
<span class="ln">099</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">100</span>         return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">101</span>     }
<span class="ln">102</span> 
<span class="ln">103</span>     /**
<span class="ln">104</span>     * Some functions have different parameters, which are just an alias of the
<span class="ln">105</span>     * usual parameters we're getting in the url. This function just populates
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#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/framework/web/CController.php(309): <strong>Survey_Common_Action</strong>-&gt;<strong>runWithParams</strong>(array("sid" =&gt; "225165", "sa" =&gt; "survey_logic_file"))				</div>

				<div class="code"><pre><span class="ln">304</span>     {
<span class="ln">305</span>         $priorAction=$this-&gt;_action;
<span class="ln">306</span>         $this-&gt;_action=$action;
<span class="ln">307</span>         if($this-&gt;beforeAction($action))
<span class="ln">308</span>         {
<span class="error"><span class="ln error-ln">309</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">310</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">311</span>             else
<span class="ln">312</span>                 $this-&gt;afterAction($action);
<span class="ln">313</span>         }
<span class="ln">314</span>         $this-&gt;_action=$priorAction;
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#15			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(287): <strong>CController</strong>-&gt;<strong>runAction</strong>(Expressions)				</div>

				<div class="code"><pre><span class="ln">282</span>      * @see runAction
<span class="ln">283</span>      */
<span class="ln">284</span>     public function runActionWithFilters($action,$filters)
<span class="ln">285</span>     {
<span class="ln">286</span>         if(empty($filters))
<span class="error"><span class="ln error-ln">287</span>             $this-&gt;runAction($action);
</span><span class="ln">288</span>         else
<span class="ln">289</span>         {
<span class="ln">290</span>             $priorAction=$this-&gt;_action;
<span class="ln">291</span>             $this-&gt;_action=$action;
<span class="ln">292</span>             CFilterChain::create($this,$action,$filters)-&gt;run();
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(266): <strong>CController</strong>-&gt;<strong>runActionWithFilters</strong>(Expressions, array())				</div>

				<div class="code"><pre><span class="ln">261</span>         {
<span class="ln">262</span>             if(($parent=$this-&gt;getModule())===null)
<span class="ln">263</span>                 $parent=Yii::app();
<span class="ln">264</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">265</span>             {
<span class="error"><span class="ln error-ln">266</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">267</span>                 $parent-&gt;afterControllerAction($this,$action);
<span class="ln">268</span>             }
<span class="ln">269</span>         }
<span class="ln">270</span>         else
<span class="ln">271</span>             $this-&gt;missingAction($actionID);
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#17			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/AdminController.php(170): <strong>CController</strong>-&gt;<strong>run</strong>("expressions")				</div>

				<div class="code"><pre><span class="ln">165</span>                     $this-&gt;redirect($this-&gt;createUrl('/admin/authentication/sa/login'));
<span class="ln">166</span>                 }
<span class="ln">167</span>                 
<span class="ln">168</span>             }
<span class="ln">169</span> 
<span class="error"><span class="ln error-ln">170</span>             return parent::run($action);
</span><span class="ln">171</span>     }
<span class="ln">172</span> 
<span class="ln">173</span>     /**
<span class="ln">174</span>     * Routes all the actions to their respective places
<span class="ln">175</span>     *
</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;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(276): <strong>AdminController</strong>-&gt;<strong>run</strong>("expressions")				</div>

				<div class="code"><pre><span class="ln">271</span>         {
<span class="ln">272</span>             list($controller,$actionID)=$ca;
<span class="ln">273</span>             $oldController=$this-&gt;_controller;
<span class="ln">274</span>             $this-&gt;_controller=$controller;
<span class="ln">275</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">276</span>             $controller-&gt;run($actionID);
</span><span class="ln">277</span>             $this-&gt;_controller=$oldController;
<span class="ln">278</span>         }
<span class="ln">279</span>         else
<span class="ln">280</span>             throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">281</span>                 array('{route}'=&gt;$route===''?$this-&gt;defaultController:$route)));
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#19			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(135): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("admin/expressions/sa/survey_logic_file")				</div>

				<div class="code"><pre><span class="ln">130</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$value)
<span class="ln">131</span>                 $_GET[$name]=$value;
<span class="ln">132</span>         }
<span class="ln">133</span>         else
<span class="ln">134</span>             $route=$this-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">135</span>         $this-&gt;runController($route);
</span><span class="ln">136</span>     }
<span class="ln">137</span> 
<span class="ln">138</span>     /**
<span class="ln">139</span>      * Registers the core application components.
<span class="ln">140</span>      * This method overrides the parent implementation by registering additional core components.
</pre></div>			</td>
		</tr>
						<tr class="trace core collapsed">
			<td class="number">
				#20			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/base/CApplication.php(162): <strong>CWebApplication</strong>-&gt;<strong>processRequest</strong>()				</div>

				<div class="code"><pre><span class="ln">157</span>      */
<span class="ln">158</span>     public function run()
<span class="ln">159</span>     {
<span class="ln">160</span>         if($this-&gt;hasEventHandler('onBeginRequest'))
<span class="ln">161</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="error"><span class="ln error-ln">162</span>         $this-&gt;processRequest();
</span><span class="ln">163</span>         if($this-&gt;hasEventHandler('onEndRequest'))
<span class="ln">164</span>             $this-&gt;onEndRequest(new CEvent($this));
<span class="ln">165</span>     }
<span class="ln">166</span> 
<span class="ln">167</span>     /**
</pre></div>			</td>
		</tr>
						<tr class="trace app collapsed">
			<td class="number">
				#21			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/index.php(178): <strong>CApplication</strong>-&gt;<strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">173</span>  *
<span class="ln">174</span>  */
<span class="ln">175</span> require_once BASEPATH . 'yii' . EXT;
<span class="ln">176</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">177</span> 
<span class="error"><span class="ln error-ln">178</span> Yii::createApplication('LSYii_Application', APPPATH . 'config/config' . EXT)-&gt;run();
</span><span class="ln">179</span> 
<span class="ln">180</span> /* End of file index.php */
<span class="ln">181</span> /* Location: ./index.php */
</pre></div>			</td>
		</tr>
				</tbody></table>
	</div>

	<div class="version">
		2013-08-01 15:21:16 Apache/2.2.16 (Debian) <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.10	</div>
</div>

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

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



</body></html>
PHP notice.html (31,842 bytes)   
Bug heat4
Complete LimeSurvey version number (& build)20130801
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant
Server OS (if known)debian/linux
Webserver software & version (if known)apache
PHP VersionPHP Version 5.3

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2013-10-07 11:07

developer   ~26570

Hi Cartsen: the biggest difficulty is to find exactly the problem source here ....

Maybe just some SetDirtyFlag after "question/group order update" is OK ?

c_schmitz

c_schmitz

2013-10-22 14:29

administrator   ~26903

Yes, an on import, if non exists yet.

c_schmitz

c_schmitz

2013-10-22 17:23

administrator   ~26927

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

c_schmitz

c_schmitz

2013-10-22 17:25

administrator   ~26928

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

c_schmitz

c_schmitz

2013-11-07 15:00

administrator   ~27135

Version 2.00+ Build 131107 released.

Related Changesets

LimeSurvey: master 560ab224

2013-10-22 15:23:04

c_schmitz

Details Diff
Fixed issue 08073: PHP notice on survey_logic_file after importing a question group Affected Issues
08073
mod - application/controllers/admin/questiongroup.php Diff File

LimeSurvey: 2.05 19c768d6

2013-10-22 15:24:59

c_schmitz

Details Diff
Fixed issue 08073: PHP notice on survey_logic_file after importing a question group Affected Issues
08073
mod - application/controllers/admin/questiongroups.php Diff File

Issue History

Date Modified Username Field Change
2013-08-01 15:42 DenisChenu New Issue
2013-08-01 15:42 DenisChenu File Added: PHP notice.html
2013-10-07 11:02 c_schmitz Target Version => 2.05 RC
2013-10-07 11:07 DenisChenu Note Added: 26570
2013-10-22 14:29 c_schmitz Note Added: 26903
2013-10-22 14:29 c_schmitz Assigned To => c_schmitz
2013-10-22 14:29 c_schmitz Status new => assigned
2013-10-22 17:23 c_schmitz Changeset attached => LimeSurvey master 560ab224
2013-10-22 17:23 c_schmitz Note Added: 26927
2013-10-22 17:23 c_schmitz Resolution open => fixed
2013-10-22 17:25 c_schmitz Changeset attached => LimeSurvey 2.05 19c768d6
2013-10-22 17:25 c_schmitz Note Added: 26928
2013-10-22 17:25 c_schmitz Status assigned => resolved
2013-10-22 17:25 c_schmitz Fixed in Version => 2.00+
2013-11-07 15:00 c_schmitz Note Added: 27135
2013-11-07 15:00 c_schmitz Status resolved => closed