View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
14396Bug reportsSurvey editingpublic2021-08-31 08:43
Reportertammo Assigned Tomarkusfluer 
PrioritynoneSeveritypartial_block 
Status closedResolutionfixed 
Product Version3.16.x 
Target Version4.0.0dev 
Summary14396: Map question with default position/answer very confusing
Description

I wanted to use a map question using OSM (Open Street Maps) and use a predefined location per user (= token).

In the token table I have now two extra attributes: LAT and LONG.

I added a short text question to the group and added the following to the default position:

{TOKEN:ATTRIBUTE_1} {TOKEN:ATTRIBUTE_2}

When designing the survey we placed the two attributes first in the Default POSITION (Accordion in sidebar when editing question).

Here LAT and LONG should be separated by a space. A semicolon does not work. Placing the marker does not work.

When you use the default ANSWER in stead, there is a difference between using a space or a semicolon: when using a space, the marker does not get set, when using a semicolon, the marker gets set.

It is becoming more complex when using both the default POSITION and the default ANSWER. Somehow the default position has the precedence, but not always.

Actually there are three problems with this feature of the question type:

  1. The existence of both the default POSITION as well as the default ANSWER is confusing.
  2. When using the default POSITION the marker does not get set on Open Street Maps, while it does get set on Google Maps
  3. When using a space between LAT and LONG the marker does not get set when using default ANSWER. When using a semicolon, the marker does get set.

Possible solution:

  1. Delete the default POSITION form the question details and use only the default ANSWER
  2. Accept both a space as well as a semicolon between the LAT and LONG in the default answer
  3. In the question details in the tab for position:
    a. Remind the user that a default answer exits?
    b. Show a checkbox with the option: Place marker when default answer exists?
Steps To Reproduce

Use the attached survey.

TagsNo tags attached.
Attached Files
Bug heat8
Complete LimeSurvey version number (& build)3.15.5
I will donate to the project if issue is resolvedNo
BrowserChrome
Database type & versionMySQL
Server OS (if known)Linux
Webserver software & version (if known)Apache
PHP Version7.1.25

Relationships

related to 14399 assignedmarkusfluer Feature requests MAP question : Set default position (if none is set) by config 

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2019-01-04 14:09

developer   ~50108

Last edited: 2019-01-04 14:11

My points of view:

  1. The existence of both the default POSITION as well as the default ANSWER is confusing.
    No, it's not the same we MUST keep default position : default position set the place but didn't set the value. For example : i know my user's are from Roubaix (Town) but i don't want position is set automatically to center of Roubaix, i want they click on the map.

  2. When using the default POSITION the marker does not get set on Open Street Maps, while it does get set on Google Maps
    Google map issue, OSM is better here : no value set, no marker. Value set => marker.

  3. When using a space between LAT and LONG the marker does not get set when using default ANSWER. When using a semicolon, the marker does get set.
    Default answer must be same than final value, we can easily fix default position to accept semi-colon or space (or colon,pipe,semi-colon or space …)

Show a checkbox with the option: Place marker when default answer exists? : see my answer at 2 : default position DON'T set the value : no value no marker. If you set the marker : position (input) must be set at same time.

tammo

tammo

2019-01-04 14:16

developer   ~50109

This may all be true and valid from a developers stand point, but for a user this is very confusing, because you need to know a lot about it. And it isn't even the manual.

I do understand that there may be a difference betwee a default location, like a town and a specific location that is marked. But the current interface makes it very dificult to get to know what is what.

DenisChenu

DenisChenu

2019-01-04 16:02

developer   ~50110

I spoke not about developper, i spoke about survey manager need … maybe improve current string, but really need to have a way to put the map HERE but don't set a value.

tammo

tammo

2019-01-04 18:19

developer   ~50111

OK, this is now clear to me, but for the survey manager there is much which could be clarified (clarifié ;-)).

The default position is just an indication and is not stored in the answer table. It is for display only.
The default answer is stored in the database, unless the user changes it to another location, which is then stored in the database. Currently: using space as the separator in the default answer DOES NOT set the marker. Using a semicolon as a separator in the default answer DOES set the marker.

I now understand the difference between default POSITION and default ANSWER.

For both: it would be great that the separator for both of them is the same and would accept multiple separators.

Struggling with the user interface aspects is YES/NO setting the marker. I see the need for making this an option, but I struggle how to "tell the survey manager" which is which.

Some brainstorming is needed. As it is now, each survey manager will have to experiment to find out. While this is a very powerful feature...

DenisChenu

DenisChenu

2019-01-04 19:08

developer   ~50112

The default position is just an indication and is not stored in the answer table. It is for display only.
Yes

The default answer is stored in the database, unless the user changes it to another location, which is then stored in the database.
Yes

Currently: using space as the separator in the default answer DOES NOT set the marker. Using a semicolon as a separator in the default answer DOES set the marker.
Maybe there are an issue here : if OSM and Google maps don't use same separator … but clearly : (for dev here) : default value must not be updated : default value goes is $_SESSION and in database like it was set by admin user.

For both: it would be great that the separator for both of them is the same and would accept multiple separators.
I already write : i think position is an easy fix, and if current system don't use the DB system (like default) : it's an issue. Allow different separator are really the best solution in my opinion. But i don't think it's a good idea to try to fix Default value (because : we must (as dev) nbot update default value). Else we can have some future issue …

tammo

tammo

2019-01-04 19:11

developer   ~50113

Is default value now default POSITION or default ANSWER?

DenisChenu

DenisChenu

2019-01-05 12:13

developer   ~50114

;).

Default value mean Default answer : https://manual.limesurvey.org/Default_answers
Default position mean : https://manual.limesurvey.org/Question_type_-_Short_free_text#Default_position_.28location_defaultcoordinates.29 «Type in here the latitude and longitude where the map will be centered when loaded. »

We need to test Gmap too to see if they are same for DB value set LAT;LONG (then same for default answer)

DenisChenu

DenisChenu

2019-01-05 12:34

developer   ~50115

Help of position and map setting

Separator

  1. Seems clear separator is space ;)
  2. Must inform this don't set the value, but place the map (todo : check gmap)

Position

  1. Lack of DB value (separator ? Value etc …) : must fix.

About all of this settings : see https://github.com/LimeSurvey/LimeSurvey/pull/1135 and https://bugs.limesurvey.org/view.php?id=14126

DenisChenu

DenisChenu

2019-01-05 12:41

developer   ~50116

Some more testing

GmapdefaultB is broken (send a notice) : must fix it in 3.X
GmappositionOK : this set the value, but if i remind : it's a Google Map issue, must find a way to set the position without setting the value

PHP notice.html (20,310 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: 1	</p>

	<div class="source">
		<p class="file">/mnt/data/shnoulle/nginx/www/master/application/helpers/qanda_helper.php(3084)</p>
		<div class="code"><pre><span class="ln">3072</span>             'suffix'                 =&gt; $suffix,
<span class="ln">3073</span>             'inputsize'              =&gt; $inputsize,
<span class="ln">3074</span>             'withColumn'             =&gt; $withColumn
<span class="ln">3075</span>             ), true);
<span class="ln">3076</span>     } elseif ((int) ($aQuestionAttributes['location_mapservice']) == 1) {
<span class="ln">3077</span>         $coreClass       = "ls-answers map-item geoloc-item";
<span class="ln">3078</span>         $currentLocation = $_SESSION['survey_'.Yii::app()-&gt;getConfig('surveyID')][$ia[1]];
<span class="ln">3079</span>         $currentLatLong  = null;
<span class="ln">3080</span> 
<span class="ln">3081</span>         // Get the latitude/longtitude for the point that needs to be displayed by default
<span class="ln">3082</span>         if (strlen($currentLocation) &gt; 2) {
<span class="ln">3083</span>             $currentLatLong = explode(';', $currentLocation);
<span class="error"><span class="ln error-ln">3084</span>             $currentLatLong = array($currentLatLong[0], $currentLatLong[1]);
</span><span class="ln">3085</span>         } else {
<span class="ln">3086</span>             if ((int) ($aQuestionAttributes['location_nodefaultfromip']) == 0) {
<span class="ln">3087</span>                 $currentLatLong = getLatLongFromIp(getIPAddress());
<span class="ln">3088</span>             }
<span class="ln">3089</span> 
<span class="ln">3090</span>             if (!isset($currentLatLong) || $currentLatLong == false) {
<span class="ln">3091</span>                 $floatLat = 0;
<span class="ln">3092</span>                 $floatLng = 0;
<span class="ln">3093</span>                 $sDefaultcoordinates=trim(LimeExpressionManager::ProcessString($aQuestionAttributes['location_defaultcoordinates'], $ia[0], array(), 3, 1, false, false, true));/* static var is the last one */
<span class="ln">3094</span>                 $LatLong = explode(" ", $sDefaultcoordinates);
<span class="ln">3095</span>                 if (isset($LatLong[0]) &amp;&amp; isset($LatLong[1])) {
<span class="ln">3096</span>                     $floatLat = $LatLong[0];
</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;/mnt/data/shnoulle/nginx/www/master/application/helpers/qanda_helper.php(203): <strong>do_shortfreetext</strong>(array("3226", "182855X234X3226", "GmapdefaultB", "GMAP default answer 48.8579684 2.2952776", ...))				</div>

				<div class="code"><pre><span class="ln">198</span>         case 'N': //NUMERICAL QUESTION TYPE
<span class="ln">199</span>             $values = do_numerical($ia);
<span class="ln">200</span>             break;
<span class="ln">201</span> 
<span class="ln">202</span>         case 'S': //SHORT FREE TEXT
<span class="error"><span class="ln error-ln">203</span>             $values = do_shortfreetext($ia);
</span><span class="ln">204</span>             break;
<span class="ln">205</span> 
<span class="ln">206</span>         case 'T': //LONG FREE TEXT
<span class="ln">207</span>             $values = do_longfreetext($ia);
<span class="ln">208</span>             break;
</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;/mnt/data/shnoulle/nginx/www/master/application/helpers/SurveyRuntimeHelper.php(181): <strong>retrieveAnswers</strong>(array("3226", "182855X234X3226", "GmapdefaultB", "GMAP default answer 48.8579684 2.2952776", ...))				</div>

				<div class="code"><pre><span class="ln">176</span>                         }
<span class="ln">177</span> 
<span class="ln">178</span>                         //Get the answers/inputnames
<span class="ln">179</span>                         // TMSW - can content of retrieveAnswers() be provided by LEM?  Review scope of what it provides.
<span class="ln">180</span>                         // TODO - retrieveAnswers is slow - queries database separately for each question. May be fixed in _CI or _YII ports, so ignore for now
<span class="error"><span class="ln error-ln">181</span>                         list($plus_qanda, $plus_inputnames) = retrieveAnswers($ia);
</span><span class="ln">182</span> 
<span class="ln">183</span>                         if ($plus_qanda) {
<span class="ln">184</span>                             $plus_qanda[] = $ia[4];
<span class="ln">185</span>                             $plus_qanda[] = $ia[6]; // adds madatory identifyer for adding mandatory class to question wrapping div
<span class="ln">186</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;/mnt/data/shnoulle/nginx/www/master/application/controllers/survey/index.php(591): <strong>SurveyRuntimeHelper</strong>-&gt;<strong>run</strong>("182855",
 array("surveyid" =&gt; "182855", "thissurvey" =&gt; array("htmlemail" 
=&gt; "Y", "format" =&gt; "G", "template" =&gt; "skelvanilla", 
"language" =&gt; "en", ...), "thisstep" =&gt; null, "tokensexist" =&gt; 
0, ...))				</div>

				<div class="code"><pre><span class="ln">586</span>         unset($redata);
<span class="ln">587</span>         $redata = compact(array_keys(get_defined_vars()));
<span class="ln">588</span>         Yii::import('application.helpers.SurveyRuntimeHelper');
<span class="ln">589</span>         $tmp = new SurveyRuntimeHelper();
<span class="ln">590</span>         // try {
<span class="error"><span class="ln error-ln">591</span>             $tmp-&gt;run($surveyid, $redata);
</span><span class="ln">592</span>         // } catch (WrongTemplateVersionException $ex) {
<span class="ln">593</span>         //     echo $ex-&gt;getMessage();
<span class="ln">594</span>         // }
<span class="ln">595</span>     }
<span class="ln">596</span> 
</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;/mnt/data/shnoulle/nginx/www/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">
				#4			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
				#5			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/master/framework/web/CController.php(308): <strong>CAction</strong>-&gt;<strong>runWithParams</strong>(array("r"
 =&gt; 
"survey/index/action/previewquestion/sid/182855/gid/234/qid/3226", 
"action" =&gt; "previewquestion", "sid" =&gt; "182855", "gid" =&gt; 
"234", ...))				</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">
				#6			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
				#7			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
				#8			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
				#9			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/master/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-&gt;<strong>runController</strong>("survey/index/action/previewquestion/sid/182855/gid/234/qid/3226")				</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">
				#10			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
				#11			</td>
			<td class="content">
				<div class="trace-file">
											<div class="plus">+</div>
						<div class="minus">–</div>
										&nbsp;/mnt/data/shnoulle/nginx/www/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">
		2019-01-05 11:39:14 nginx/1.14.1 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.20	</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 (20,310 bytes)   
ollehar

ollehar

2021-03-10 17:00

administrator   ~63032

You're using an outdated version of LimeSurvey. Please update to the latest version and check if the bug can still be reproduced. Thank you.

c_schmitz

c_schmitz

2021-08-31 08:43

administrator   ~66209

Hello tammo,

we have asked for feedback on this issue. Because we did not get an answer we assume that the issue is resolved.
However, should you be able to reproduce the issue using the latest version, please feel free to re-open the issue and give us exact details on how to reproduce it.

Thank you and best regards,

c_schmitz

Related Changesets

LimeSurvey: master 85f6a95d

2019-01-05 12:45:51

DenisChenu

Details Diff
Dev: Fixed issue : bad value for default answer in map question broke with debug
Dev: test if ; is in current value
Dev: related issue 14396: Map question with default position/answer very confusing
Affected Issues
14396
mod - application/helpers/qanda_helper.php Diff File

LimeSurvey: develop 5159b3e8

2019-01-05 12:45:51

DenisChenu


Committer: ollehar Details Diff
Dev: Fixed issue : bad value for default answer in map question broke with debug
Dev: test if ; is in current value
Dev: related issue 14396: Map question with default position/answer very confusing
Affected Issues
14396
mod - application/helpers/qanda_helper.php Diff File

LimeSurvey: master 05f0bf84

2019-01-05 13:00:15

DenisChenu

Details Diff
Dev: GMAP : no value or position set : use same lat/long than OSM
Dev: fix strpos …
Dev: todo : don't set value and marker, only position
Affected Issues
14396
mod - application/helpers/qanda_helper.php Diff File
mod - assets/scripts/map.js Diff File

Issue History

Date Modified Username Field Change
2019-01-04 13:13 tammo New Issue
2019-01-04 13:13 tammo File Added: survey_archive_368136.lsa
2019-01-04 14:09 DenisChenu Note Added: 50108
2019-01-04 14:09 DenisChenu Note Edited: 50108
2019-01-04 14:09 DenisChenu Note Edited: 50108
2019-01-04 14:09 DenisChenu Note Edited: 50108
2019-01-04 14:10 DenisChenu Note Edited: 50108
2019-01-04 14:11 DenisChenu Note Edited: 50108
2019-01-04 14:16 tammo Note Added: 50109
2019-01-04 16:02 DenisChenu Note Added: 50110
2019-01-04 18:19 tammo Note Added: 50111
2019-01-04 19:08 DenisChenu Note Added: 50112
2019-01-04 19:11 tammo Note Added: 50113
2019-01-05 12:13 DenisChenu Note Added: 50114
2019-01-05 12:34 DenisChenu File Added: Capture d’écran du 2019-01-05 12-30-05.png
2019-01-05 12:34 DenisChenu Note Added: 50115
2019-01-05 12:34 DenisChenu File Added: Capture d’écran du 2019-01-05 12-31-01.png
2019-01-05 12:41 DenisChenu File Added: Capture d’écran du 2019-01-05 12-40-59.png
2019-01-05 12:41 DenisChenu File Added: limesurvey_survey_mapTest.lss
2019-01-05 12:41 DenisChenu File Added: PHP notice.html
2019-01-05 12:41 DenisChenu Note Added: 50116
2019-01-05 12:46 DenisChenu Changeset attached => LimeSurvey master 85f6a95d
2019-01-05 13:00 DenisChenu Changeset attached => LimeSurvey master 05f0bf84
2019-01-05 13:04 DenisChenu Relationship added related to 14399
2019-01-10 15:34 LouisGac Assigned To => markusfluer
2019-01-10 15:34 LouisGac Status new => assigned
2019-01-16 17:30 ollehar Changeset attached => LimeSurvey develop 5159b3e8
2019-11-01 17:25 c_schmitz Category Survey design => Survey editing
2021-03-10 17:00 ollehar Status assigned => feedback
2021-03-10 17:00 ollehar Note Added: 63032
2021-08-31 08:43 c_schmitz Status feedback => closed
2021-08-31 08:43 c_schmitz Resolution open => fixed
2021-08-31 08:43 c_schmitz Note Added: 66209
2021-08-31 08:43 c_schmitz Bug heat 6 => 8