View Issue Details

This bug affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
06011Bug reportsSurvey takingpublic2012-05-08 10:48
Reporteruser19295Assigned Toc_schmitz  
PriorityhighSeverityblock 
Status closedResolutionfixed 
Product Version2.00b1 
Fixed in Version2.00RC1 
Summary06011: Undefined offset: 0
Description

Recieved a 'PHP Notice' stating the following error:

Undefined offset: 0

Error occured on line 627 in the file SurveyRuntimeHelper.php

That particular line reads:

$gid = $gl[0];

Please see the attached for the PHP Notice file which includes the Stack Trace

Steps To Reproduce

Went to preview a survey to try and understand the randomisation feature but recieved the error.

Additional Information

Survey question group is called 'intro' with the randomization group name being 'random'

Survey questions are along the lines of....

qcode: rand1
qdesc: random 1
advanced-random group: random

Very basic to test functionality

TagsNo tags attached.
Attached Files
PHP Notice.html (17,802 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: 0	</p>

	<div class="source">
		<p class="file">C:\WAMP\apps\limesurvey\application\helpers\SurveyRuntimeHelper.php(627)</p>
		<div class="code"><pre><span class="ln">615</span>         //******************************************************************************************************
<span class="ln">616</span> 
<span class="ln">617</span>         $okToShowErrors = (!$previewgrp &amp;&amp; (isset($invalidLastPage) || $_SESSION[$LEMsessid][&#039;prevstep&#039;] == $_SESSION[$LEMsessid][&#039;step&#039;]));
<span class="ln">618</span> 
<span class="ln">619</span>         Yii::app()-&gt;getController()-&gt;loadHelper(&#039;qanda&#039;);
<span class="ln">620</span>         setNoAnswerMode($thissurvey);
<span class="ln">621</span> 
<span class="ln">622</span>         //Iterate through the questions about to be displayed:
<span class="ln">623</span>         $inputnames = array();
<span class="ln">624</span> 
<span class="ln">625</span>         foreach ($_SESSION[$LEMsessid][&#039;grouplist&#039;] as $gl)
<span class="ln">626</span>         {
<span class="error"><span class="ln error-ln">627</span>             $gid = $gl[0];
</span><span class="ln">628</span>             $qnumber = 0;
<span class="ln">629</span> 
<span class="ln">630</span>             if ($surveyMode != &#039;survey&#039;)
<span class="ln">631</span>             {
<span class="ln">632</span>                 $onlyThisGID = $stepInfo[&#039;gid&#039;];
<span class="ln">633</span>                 if ($onlyThisGID != $gid)
<span class="ln">634</span>                 {
<span class="ln">635</span>                     continue;
<span class="ln">636</span>                 }
<span class="ln">637</span>             }
<span class="ln">638</span> 
<span class="ln">639</span>             // TMSW - could iterate through LEM::currentQset instead
</pre></div>	</div>

	<div class="traces">
		<h2>Stack Trace</h2>
				<table style="width:100%;">
						<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;C:\WAMP\apps\limesurvey\application\controllers\survey\index.php(664): <strong>SurveyRuntimeHelper</strong>-><strong>run</strong>(&quot;394685&quot;, array(&quot;surveyid&quot; =&gt; &quot;394685&quot;, &quot;thistpl&quot; =&gt; &quot;C:\WAMP\apps\limesurvey\templates/default&quot;, &quot;totalquestions&quot; =&gt; null, &quot;thissurvey&quot; =&gt; array(&quot;surveyls_survey_id&quot; =&gt; &quot;394685&quot;, &quot;surveyls_language&quot; =&gt; &quot;en&quot;, &quot;surveyls_title&quot; =&gt; &quot;testy&quot;, &quot;surveyls_description&quot; =&gt; &quot;test survey&quot;, ...), ...))				</div>

				<div class="code"><pre><span class="ln">659</span>         //Send local variables to the appropriate survey type
<span class="ln">660</span>         unset($redata);
<span class="ln">661</span>         $redata = compact(array_keys(get_defined_vars()));
<span class="ln">662</span>         Yii::import(&#039;application.helpers.SurveyRuntimeHelper&#039;);
<span class="ln">663</span>         $tmp = new SurveyRuntimeHelper();
<span class="error"><span class="ln error-ln">664</span>         $tmp-&gt;run($surveyid,$redata);
</span><span class="ln">665</span> 
<span class="ln">666</span>         if (isset($_POST[&#039;saveall&#039;]) || isset($flashmessage))
<span class="ln">667</span>         {
<span class="ln">668</span>             echo &quot;&lt;script language=&#039;JavaScript&#039;&gt; $(document).ready( function() { alert(&#039;&quot;.$clang-&gt;gT(&quot;Your responses were successfully saved.&quot;,&quot;js&quot;).&quot;&#039;);}) &lt;/script&gt;&quot;;
<span class="ln">669</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;C:\WAMP\apps\limesurvey\application\controllers\survey\index.php(20): <strong>index</strong>-><strong>action</strong>()				</div>

				<div class="code"><pre><span class="ln">15</span> 
<span class="ln">16</span> class index extends CAction {
<span class="ln">17</span> 
<span class="ln">18</span>     public function run()
<span class="ln">19</span>     {
<span class="error"><span class="ln error-ln">20</span>         $this-&gt;action();
</span><span class="ln">21</span>     }
<span class="ln">22</span> 
<span class="ln">23</span>     function action()
<span class="ln">24</span>     {
<span class="ln">25</span>         global $surveyid, $thistpl, $totalquestions;
</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;C:\WAMP\apps\limesurvey\framework\web\actions\CAction.php(75): <strong>index</strong>-><strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">70</span>     {
<span class="ln">71</span>         $method=new ReflectionMethod($this, &#039;run&#039;);
<span class="ln">72</span>         if($method-&gt;getNumberOfParameters()&gt;0)
<span class="ln">73</span>             return $this-&gt;runWithParamsInternal($this, $method, $params);
<span class="ln">74</span>         else
<span class="error"><span class="ln error-ln">75</span>             return $this-&gt;run();
</span><span class="ln">76</span>     }
<span class="ln">77</span> 
<span class="ln">78</span>     /**
<span class="ln">79</span>      * Executes a method of an object with the supplied named parameters.
<span class="ln">80</span>      * This method is internally used.
</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;C:\WAMP\apps\limesurvey\framework\web\CController.php(309): <strong>CAction</strong>-><strong>runWithParams</strong>(array())				</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">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">�</div>
										&nbsp;C:\WAMP\apps\limesurvey\framework\web\CController.php(287): <strong>CController</strong>-><strong>runAction</strong>(index)				</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">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">�</div>
										&nbsp;C:\WAMP\apps\limesurvey\framework\web\CController.php(266): <strong>CController</strong>-><strong>runActionWithFilters</strong>(index, 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 core collapsed">
			<td class="number">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">�</div>
										&nbsp;C:\WAMP\apps\limesurvey\framework\web\CWebApplication.php(276): <strong>CController</strong>-><strong>run</strong>(&quot;index&quot;)				</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(&#039;yii&#039;,&#039;Unable to resolve the request &quot;{route}&quot;.&#039;,
<span class="ln">281</span>                 array(&#039;{route}&#039;=&gt;$route===&#039;&#039;?$this-&gt;defaultController:$route)));
</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;C:\WAMP\apps\limesurvey\framework\web\CWebApplication.php(135): <strong>CWebApplication</strong>-><strong>runController</strong>(&quot;survey/index&quot;)				</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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">�</div>
										&nbsp;C:\WAMP\apps\limesurvey\framework\base\CApplication.php(162): <strong>CWebApplication</strong>-><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(&#039;onBeginRequest&#039;))
<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(&#039;onEndRequest&#039;))
<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 expanded">
			<td class="number">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">�</div>
										&nbsp;C:\WAMP\apps\limesurvey\index.php(171): <strong>CApplication</strong>-><strong>run</strong>()				</div>

				<div class="code"><pre><span class="ln">166</span>  *
<span class="ln">167</span>  */
<span class="ln">168</span> require_once BASEPATH . &#039;yii&#039; . EXT;
<span class="ln">169</span> require_once APPPATH . &#039;core/LSYii_Application&#039; . EXT;
<span class="ln">170</span> 
<span class="error"><span class="ln error-ln">171</span> Yii::createApplication(&#039;LSYii_Application&#039;, APPPATH . &#039;config/config&#039; . EXT)-&gt;run();
</span><span class="ln">172</span> 
<span class="ln">173</span> /* End of file index.php */
<span class="ln">174</span> /* Location: ./index.php */</pre></div>			</td>
		</tr>
				</table>
	</div>

	<div class="version">
		2012-04-13 10:10:30 Apache/2.2.21 (Win64) PHP/5.3.9 <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 (17,802 bytes)   
Bug heat4
Complete LimeSurvey version number (& build)120406
I will donate to the project if issue is resolvedNo
BrowserIE9
Database type & versionMySQL 5.5.20
Server OS (if known)Win7 x64
Webserver software & version (if known)Apache 2.2.21
PHP Version5.3.9

Users monitoring this issue

There are no users monitoring this issue.

Activities

c_schmitz

c_schmitz

2012-04-13 15:58

administrator   ~18349

Can you please attach your survey? Thank you.

user19295

2012-04-13 16:05

  ~18350

Hi,

Im unable to do that now as I have had to downgrade to 1.92 so I can send a survey live.

I neglected to keep the survey in question as it was only a test.

I can reproduce the survey if you wish?

Regards,
Rich Haynes.

c_schmitz

c_schmitz

2012-04-16 09:10

administrator   ~18359

Rich, please do. We always need the particular survey that is causing the error.

c_schmitz

c_schmitz

2012-04-20 08:43

administrator   ~18436

?

user19295

2012-04-20 16:02

  ~18458

Apologies for the delay.

My survey is still live until midnight tonight.

I will endeavour to upgrade and recreate the survey for you tomorrow morning.

Regards.

c_schmitz

c_schmitz

2012-05-02 23:54

administrator   ~18558

Any news?

c_schmitz

c_schmitz

2012-05-07 09:14

administrator   ~18589

Feedback please`?

c_schmitz

c_schmitz

2012-05-08 10:48

administrator   ~18624

Closed due to missing feedback. If this issue still arises in 2.00b2/RC1 please reopen.

Issue History

Date Modified Username Field Change
2012-04-13 12:21 user19295 New Issue
2012-04-13 12:21 user19295 File Added: PHP Notice.html
2012-04-13 15:58 c_schmitz Note Added: 18349
2012-04-13 15:58 c_schmitz Assigned To => c_schmitz
2012-04-13 15:58 c_schmitz Status new => feedback
2012-04-13 16:05 user19295 Note Added: 18350
2012-04-13 16:05 user19295 Status feedback => assigned
2012-04-16 09:10 c_schmitz Note Added: 18359
2012-04-16 09:10 c_schmitz Status assigned => feedback
2012-04-20 08:43 c_schmitz Note Added: 18436
2012-04-20 16:02 user19295 Note Added: 18458
2012-04-20 16:02 user19295 Status feedback => assigned
2012-04-26 10:40 c_schmitz Status assigned => feedback
2012-05-02 23:54 c_schmitz Note Added: 18558
2012-05-07 09:14 c_schmitz Note Added: 18589
2012-05-08 10:48 c_schmitz Note Added: 18624
2012-05-08 10:48 c_schmitz Status feedback => closed
2012-05-08 10:48 c_schmitz Resolution open => fixed
2012-05-08 10:48 c_schmitz Fixed in Version => 2.00RC1