View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
09118 | Bug reports | Plugins | public | 2014-06-26 10:05 | 2016-09-07 13:03 |
Reporter | ongkichilam | Assigned To | c_schmitz | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 2.05+ | ||||
Target Version | 2.06+ | Fixed in Version | 2.50.x | ||
Summary | 09118: KCFinder Image Browse Server not working due to incorrect cookieDomain | ||||
Description | In the Survey editor, after I clicked on the Image > Browse Server, the KCFinder editor pops up but when click on any of the buttons (Upload, Refresh, Settings etc), nothing will happen, as seen in Chrome. In Firefox, page became 'The address wasn't understood. Firefox doesn't know how to open this address, because the protocol (kcact) isn't associated with any program. You might need to install other software to open this address.' At the backend, the upload directory already has the permission to auto-create the folder of the survey id, since images folder already created. We are using Version 2.05+ Build 140502. But the problem is that it works fine in our Dev server but not in the Prod server. | ||||
Additional Information | Found the root cause. Once I set cookieDomain to our reverse proxy domain, it fixed the problem. However, I am not sure how to retain this, when we do LimeSurvey version upgrade later. Appreciate if LS team can set the cookieDomain value based on application/config -> components -> request -> hostInfo. | ||||
Tags | No tags attached. | ||||
Attached Files | PHP notice.html (35,780 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"> Trying to get property of non-object </p> <div class="source"> <p class="file">/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/helpers/admin/htmleditor_helper.php(28)</p> <div class="code"><pre><span class="ln">16</span> function initKcfinder() <span class="ln">17</span> { <span class="ln">18</span> Yii::app()->session['KCFINDER'] = array(); <span class="ln">19</span> <span class="ln">20</span> $sAllowedExtensions = implode(' ', array_map('trim', explode(',', Yii::app()->getConfig('allowedresourcesuploads')))); <span class="ln">21</span> $_SESSION['KCFINDER']['types'] = array( <span class="ln">22</span> 'files' => $sAllowedExtensions, <span class="ln">23</span> 'flash' => $sAllowedExtensions, <span class="ln">24</span> 'images' => $sAllowedExtensions <span class="ln">25</span> ); <span class="ln">26</span> if (Yii::app()->getRequest()->enableCsrfValidation) <span class="ln">27</span> { <span class="error"><span class="ln error-ln">28</span> $_SESSION['KCFINDER']['cookieDomain'] = Yii::app()->getRequest()->csrfCookie->domain; </span><span class="ln">29</span> } <span class="ln">30</span> <span class="ln">31</span> if (Yii::app()->getConfig('demoMode') === false && <span class="ln">32</span> isset(Yii::app()->session['loginID']) && <span class="ln">33</span> isset(Yii::app()->session['FileManagerContext'])) <span class="ln">34</span> { <span class="ln">35</span> // disable upload at survey creation time <span class="ln">36</span> // because we don't know the sid yet <span class="ln">37</span> if (preg_match('/^(create|edit):(question|group|answer)/', Yii::app()->session['FileManagerContext']) != 0 || <span class="ln">38</span> preg_match('/^edit:survey/', Yii::app()->session['FileManagerContext']) != 0 || <span class="ln">39</span> preg_match('/^edit:assessments/', Yii::app()->session['FileManagerContext']) != 0 || <span class="ln">40</span> preg_match('/^edit:emailsettings/', Yii::app()->session['FileManagerContext']) != 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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/helpers/admin/htmleditor_helper.php(133): <strong>initKcfinder</strong>() </div> <div class="code"><pre><span class="ln">128</span> } <span class="ln">129</span> } <span class="ln">130</span> <span class="ln">131</span> function getEditor($fieldtype,$fieldname,$fieldtext, $surveyID=null,$gID=null,$qID=null,$action=null) <span class="ln">132</span> { <span class="error"><span class="ln error-ln">133</span> initKcfinder(); </span><span class="ln">134</span> //error_log("TIBO fieldtype=$fieldtype,fieldname=$fieldname,fieldtext=$fieldtext,surveyID=$surveyID,gID=$gID,qID=$qID,action=$action"); <span class="ln">135</span> $session = &Yii::app()->session; <span class="ln">136</span> <span class="ln">137</span> if ($session['htmleditormode'] && <span class="ln">138</span> $session['htmleditormode'] == 'none') </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/views/admin/survey/Question/question_subviews/_tabs.php(47): <strong>getEditor</strong>("question-text", "question_en", "[Question:](en)", "666412", ...) </div> <div class="code"><pre><span class="ln">42</span> <div class="form-group"> <span class="ln">43</span> <label class="col-sm-3 control-label" for='question_<?php echo $eqrow['language']; ?>' class=""><?php eT("Question:"); ?></label> <span class="ln">44</span> <div class="col-sm-9"> <span class="ln">45</span> <div class="htmleditor input-group"> <span class="ln">46</span> <?php echo CHtml::textArea("question_{$eqrow['language']}",$eqrow['question'],array('class'=>'form-control','cols'=>'60','rows'=>'8','id'=>"question_{$eqrow['language']}")); ?> <span class="error"><span class="ln error-ln">47</span> <?php echo getEditor("question-text","question_".$eqrow['language'], "[".gT("Question:", "js")."](".$eqrow['language'].")",$surveyid,$gid,$qid,$action); ?> </span><span class="ln">48</span> </div> <span class="ln">49</span> </div> <span class="ln">50</span> </div> <span class="ln">51</span> <span class="ln">52</span> <!-- Question Help --> </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(126): <strong>require</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...") </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(95): <strong>CBaseController</strong>-><strong>renderInternal</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", array("eqrow" => array("qid" => "51349", "parent_qid" => "0", "sid" => "666412", "gid" => "2653", ...), "addlanguages" => array(), "surveyid" => "666412", "gid" => "2653", ...), true) </div> <div class="code"><pre><span class="ln">090</span> { <span class="ln">091</span> $widgetCount=count($this->_widgetStack); <span class="ln">092</span> if(($renderer=Yii::app()->getViewRenderer())!==null && $renderer->fileExtension==='.'.CFileHelper::getExtension($viewFile)) <span class="ln">093</span> $content=$renderer->renderFile($this,$viewFile,$data,$return); <span class="ln">094</span> else <span class="error"><span class="ln error-ln">095</span> $content=$this->renderInternal($viewFile,$data,$return); </span><span class="ln">096</span> if(count($this->_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->_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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(869): <strong>CBaseController</strong>-><strong>renderFile</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", array("eqrow" => array("qid" => "51349", "parent_qid" => "0", "sid" => "666412", "gid" => "2653", ...), "addlanguages" => array(), "surveyid" => "666412", "gid" => "2653", ...), true) </div> <div class="code"><pre><span class="ln">864</span> */ <span class="ln">865</span> public function renderPartial($view,$data=null,$return=false,$processOutput=false) <span class="ln">866</span> { <span class="ln">867</span> if(($viewFile=$this->getViewFile($view))!==false) <span class="ln">868</span> { <span class="error"><span class="ln error-ln">869</span> $output=$this->renderFile($viewFile,$data,true); </span><span class="ln">870</span> if($processOutput) <span class="ln">871</span> $output=$this->processOutput($output); <span class="ln">872</span> if($return) <span class="ln">873</span> return $output; <span class="ln">874</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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/views/admin/survey/Question/editQuestion_view.php(59): <strong>CController</strong>-><strong>renderPartial</strong>("./survey/Question/question_subviews/_tabs", array("eqrow" => array("qid" => "51349", "parent_qid" => "0", "sid" => "666412", "gid" => "2653", ...), "addlanguages" => array(), "surveyid" => "666412", "gid" => "2653", ...)) </div> <div class="code"><pre><span class="ln">54</span> 'gid'=>$gid, 'qid'=>$qid, <span class="ln">55</span> 'adding'=>$adding, <span class="ln">56</span> 'aqresult'=>$aqresult, <span class="ln">57</span> 'action'=>$action <span class="ln">58</span> ) <span class="error"><span class="ln error-ln">59</span> ); ?> </span><span class="ln">60</span> <span class="ln">61</span> <?php endif;?> <span class="ln">62</span> </div> <span class="ln">63</span> <span class="ln">64</span> <!-- The Accordion --> </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(126): <strong>require</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...") </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CBaseController.php(95): <strong>CBaseController</strong>-><strong>renderInternal</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...), true) </div> <div class="code"><pre><span class="ln">090</span> { <span class="ln">091</span> $widgetCount=count($this->_widgetStack); <span class="ln">092</span> if(($renderer=Yii::app()->getViewRenderer())!==null && $renderer->fileExtension==='.'.CFileHelper::getExtension($viewFile)) <span class="ln">093</span> $content=$renderer->renderFile($this,$viewFile,$data,$return); <span class="ln">094</span> else <span class="error"><span class="ln error-ln">095</span> $content=$this->renderInternal($viewFile,$data,$return); </span><span class="ln">096</span> if(count($this->_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->_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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(869): <strong>CBaseController</strong>-><strong>renderFile</strong>("/home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/...", array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...), true) </div> <div class="code"><pre><span class="ln">864</span> */ <span class="ln">865</span> public function renderPartial($view,$data=null,$return=false,$processOutput=false) <span class="ln">866</span> { <span class="ln">867</span> if(($viewFile=$this->getViewFile($view))!==false) <span class="ln">868</span> { <span class="error"><span class="ln error-ln">869</span> $output=$this->renderFile($viewFile,$data,true); </span><span class="ln">870</span> if($processOutput) <span class="ln">871</span> $output=$this->processOutput($output); <span class="ln">872</span> if($return) <span class="ln">873</span> return $output; <span class="ln">874</span> else </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/core/Survey_Common_Action.php(321): <strong>CController</strong>-><strong>renderPartial</strong>("/admin/survey/Question/editQuestion_view", array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...)) </div> <div class="code"><pre><span class="ln">316</span> elseif (is_array($viewUrl)) <span class="ln">317</span> { <span class="ln">318</span> foreach ($viewUrl as $aSubData) <span class="ln">319</span> { <span class="ln">320</span> $aSubData = array_merge($aData, $aSubData); <span class="error"><span class="ln error-ln">321</span> Yii::app()->getController()->renderPartial($sViewPath . $sViewKey, $aSubData); </span><span class="ln">322</span> } <span class="ln">323</span> } <span class="ln">324</span> } <span class="ln">325</span> else <span class="ln">326</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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/admin/questions.php(1893): <strong>Survey_Common_Action</strong>-><strong>_renderWrappedTemplate</strong>("survey/Question", array("editQuestion_view" => array(array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...)), "questionJavascript_view" => array(array("type" => "D"))), array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...)) </div> <div class="code"><pre><span class="ln">1888</span> * @param string|array $aViewUrls View url(s) <span class="ln">1889</span> * @param array $aData Data to be passed on. Optional. <span class="ln">1890</span> */ <span class="ln">1891</span> protected function _renderWrappedTemplate($sAction = 'survey/Question', $aViewUrls = array(), $aData = array()) <span class="ln">1892</span> { <span class="error"><span class="ln error-ln">1893</span> parent::_renderWrappedTemplate($sAction, $aViewUrls, $aData); </span><span class="ln">1894</span> } <span class="ln">1895</span> <span class="ln">1896</span> /** <span class="ln">1897</span> * Show error and redirect back if survey is active <span class="ln">1898</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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/admin/questions.php(1364): <strong>questions</strong>-><strong>_renderWrappedTemplate</strong>("survey/Question", array("editQuestion_view" => array(array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...)), "questionJavascript_view" => array(array("type" => "D"))), array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "display" => array("menu_bars" => array("surveysummary" => "viewgroup", "gid_action" => "addquestion", "qid_action" => "editquestion")), ...)) </div> <div class="code"><pre><span class="ln">1359</span> $aData['sidemenu']['explorer']['state'] = true; <span class="ln">1360</span> $aData['sidemenu']['explorer']['gid'] = (isset($gid))?$gid:false; <span class="ln">1361</span> $aData['sidemenu']['explorer']['qid'] = (isset($qid))?$qid:false; <span class="ln">1362</span> <span class="ln">1363</span> <span class="error"><span class="ln error-ln">1364</span> $this->_renderWrappedTemplate('survey/Question', $aViewUrls, $aData); </span><span class="ln">1365</span> } <span class="ln">1366</span> <span class="ln">1367</span> /** <span class="ln">1368</span> * Function responsible for deleting a question. <span class="ln">1369</span> * </pre></div> </td> </tr> <tr class="trace core collapsed"> <td class="number"> #12 </td> <td class="content"> <div class="trace-file"> unknown(0): <strong>questions</strong>-><strong>index</strong>("editquestion", "666412", "2653", "51349") </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-><strong>invokeArgs</strong>(questions, array("editquestion", "666412", "2653", "51349")) </div> <div class="code"><pre><span class="ln">104</span> elseif($param->isDefaultValueAvailable()) <span class="ln">105</span> $ps[]=$param->getDefaultValue(); <span class="ln">106</span> else <span class="ln">107</span> return false; <span class="ln">108</span> } <span class="error"><span class="ln error-ln">109</span> $method->invokeArgs($object,$ps); </span><span class="ln">110</span> return true; <span class="ln">111</span> } <span class="ln">112</span> } </pre></div> </td> </tr> <tr class="trace app collapsed"> <td class="number"> #14 </td> <td class="content"> <div class="trace-file"> <div class="plus">+</div> <div class="minus">–</div> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/core/Survey_Common_Action.php(101): <strong>CAction</strong>-><strong>runWithParamsInternal</strong>(questions, ReflectionMethod, array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "sa" => "editquestion", ...)) </div> <div class="code"><pre><span class="ln">096</span> $oMethod = new ReflectionMethod($this, $sDefault); <span class="ln">097</span> } <span class="ln">098</span> <span class="ln">099</span> // We're all good to go, let's execute it <span class="ln">100</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">101</span> return parent::runWithParamsInternal($this, $oMethod, $params); </span><span class="ln">102</span> } <span class="ln">103</span> <span class="ln">104</span> /** <span class="ln">105</span> * Some functions have different parameters, which are just an alias of the <span class="ln">106</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"> #15 </td> <td class="content"> <div class="trace-file"> <div class="plus">+</div> <div class="minus">–</div> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(308): <strong>Survey_Common_Action</strong>-><strong>runWithParams</strong>(array("surveyid" => "666412", "gid" => "2653", "qid" => "51349", "sa" => "editquestion")) </div> <div class="code"><pre><span class="ln">303</span> { <span class="ln">304</span> $priorAction=$this->_action; <span class="ln">305</span> $this->_action=$action; <span class="ln">306</span> if($this->beforeAction($action)) <span class="ln">307</span> { <span class="error"><span class="ln error-ln">308</span> if($action->runWithParams($this->getActionParams())===false) </span><span class="ln">309</span> $this->invalidActionParams($action); <span class="ln">310</span> else <span class="ln">311</span> $this->afterAction($action); <span class="ln">312</span> } <span class="ln">313</span> $this->_action=$priorAction; </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(286): <strong>CController</strong>-><strong>runAction</strong>(questions) </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->runAction($action); </span><span class="ln">287</span> else <span class="ln">288</span> { <span class="ln">289</span> $priorAction=$this->_action; <span class="ln">290</span> $this->_action=$action; <span class="ln">291</span> CFilterChain::create($this,$action,$filters)->run(); </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CController.php(265): <strong>CController</strong>-><strong>runActionWithFilters</strong>(questions, array()) </div> <div class="code"><pre><span class="ln">260</span> { <span class="ln">261</span> if(($parent=$this->getModule())===null) <span class="ln">262</span> $parent=Yii::app(); <span class="ln">263</span> if($parent->beforeControllerAction($this,$action)) <span class="ln">264</span> { <span class="error"><span class="ln error-ln">265</span> $this->runActionWithFilters($action,$this->filters()); </span><span class="ln">266</span> $parent->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->missingAction($actionID); </pre></div> </td> </tr> <tr class="trace app collapsed"> <td class="number"> #18 </td> <td class="content"> <div class="trace-file"> <div class="plus">+</div> <div class="minus">–</div> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/application/controllers/AdminController.php(160): <strong>CController</strong>-><strong>run</strong>("questions") </div> <div class="code"><pre><span class="ln">155</span> $this->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> return parent::run($action); </span><span class="ln">161</span> } <span class="ln">162</span> <span class="ln">163</span> /** <span class="ln">164</span> * Routes all the actions to their respective places <span class="ln">165</span> * </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-><strong>run</strong>("questions") </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->_controller; <span class="ln">280</span> $this->_controller=$controller; <span class="ln">281</span> $controller->init(); <span class="error"><span class="ln error-ln">282</span> $controller->run($actionID); </span><span class="ln">283</span> $this->_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}'=>$route===''?$this->defaultController:$route))); </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> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-><strong>runController</strong>("admin/questions/sa/editquestion") </div> <div class="code"><pre><span class="ln">136</span> foreach(array_splice($this->catchAllRequest,1) as $name=>$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->getUrlManager()->parseUrl($this->getRequest()); <span class="error"><span class="ln error-ln">141</span> $this->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"> #21 </td> <td class="content"> <div class="trace-file"> <div class="plus">+</div> <div class="minus">–</div> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-><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->hasEventHandler('onBeginRequest')) <span class="ln">183</span> $this->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->processRequest(); </span><span class="ln">186</span> if($this->hasEventHandler('onEndRequest')) <span class="ln">187</span> $this->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"> #22 </td> <td class="content"> <div class="trace-file"> <div class="plus">+</div> <div class="minus">–</div> /home/sondages.pro/htdocs/limesurvey_GIT/LimeSurvey/index.php(212): <strong>CApplication</strong>-><strong>run</strong>() </div> <div class="code"><pre><span class="ln">207</span> die (sprintf('%s should be writable by the webserver (766 or 776).', $runtimePath)); <span class="ln">208</span> } <span class="ln">209</span> } <span class="ln">210</span> <span class="ln">211</span> Yii::$enableIncludePath = false; <span class="error"><span class="ln error-ln">212</span> Yii::createApplication('LSYii_Application', $config)->run(); </span><span class="ln">213</span> <span class="ln">214</span> /* End of file index.php */ <span class="ln">215</span> /* Location: ./index.php */ </pre></div> </td> </tr> </tbody></table> </div> <div class="version"> 2016-05-11 16:38:22 Apache/2.2.22 (Debian) <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.17 </div> </div> <script type="text/javascript"> /*<![CDATA[*/ var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)"); var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)"); var e = document.getElementsByTagName("div"); for(var j=0,len=e.length;j<len;j++){ if(traceReg.test(e[j].className)){ e[j].onclick = function(){ var trace = this.parentNode.parentNode; if(collapsedReg.test(trace.className)) trace.className = trace.className.replace("collapsed", "expanded"); else trace.className = trace.className.replace("expanded", "collapsed"); } } } /*]]>*/ </script> </body></html> | ||||
Bug heat | 24 | ||||
Complete LimeSurvey version number (& build) | 140502 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | MySQL | ||||
Server OS (if known) | Linux | ||||
Webserver software & version (if known) | Apache 2.2 | ||||
PHP Version | 5.4 | ||||
I do some test but i think we must use: :) |
|
Can you test with
Because we need a strong solution working for all user. |
|
at kcfinder/config.php, I changed to this 'cookieDomain' => Yii::app()->session->cookieParams['domain'], and in config.php 'session' => array ( Is that what you meant? |
|
For path : i think you need "/" because cookie path must be directory inside domain. It's what i mean :) But you can remove (except if you use session in DB) ANd : pleae try to remove whole update of config.php And : thanks a lot. |
|
Error, Fatal error: Class 'Yii' not found in /services/who-shared-hosting/sites/intradataform/htdocs/third_party/kcfinder/config.php on line 88 How else to read the config? |
|
I make some test and put a patch for this. We can use $_SESSION['KCFINDER'] to put some var like this : then we can do it in LimeSUrvey. We don't want to modify third_party to allow easily updating |
|
Is there a patch/bugfix for this issue? |
|
Really dn't find a way without manually hacking config of kcfinder .... Maybe a doc issue, or another idea. |
|
@Carsten : i do some test with update to last ckeditor, but surely linked with http://manual.limesurvey.org/Category:Development_HTML_editor :) |
|
same problem on my installation it was old js files from previous limesurvey version (150520) that were messing around after a manual upgrade bug identified by installing a brand new empty limesurvey which worked perfectly out of the box (so the problem was coming from my upgraded lime) then making some diff -qr lmtest limebug found the bad guys solution: remove these files: rm third_party/kcfinder/js/helper.js for me it worked, hope for you too |
|
I think this one as been resolved by Carsten some time ago. |
|
We bound the CookieDomain setting now to the CSRF domain setting - see https://manual.limesurvey.org/Optional_settings#Request_settings for details how to configure that one. |
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=18960 |
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=18963 |
|
Version 2.50 Build 160512 released |
|
LimeSurvey: master c44d815f 2016-05-11 16:08 Details Diff |
Fixed issue 09118: Image Browse Server not working due to incorrect cookieDomain when using reverse proxy URL |
Affected Issues 09118 |
|
mod - application/helpers/admin/htmleditor_helper.php | Diff File | ||
LimeSurvey: master c5ff180a 2016-05-11 16:33 Details Diff |
Fixed issue 09118: Image Browse Server not working due to incorrect cookieDomain when using reverse proxy URL |
Affected Issues 09118 |
|
mod - application/helpers/admin/htmleditor_helper.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-06-26 10:05 | ongkichilam | New Issue | |
2014-06-28 11:50 | DenisChenu | Note Added: 30246 | |
2014-06-28 11:50 | DenisChenu | Assigned To | => DenisChenu |
2014-06-28 11:50 | DenisChenu | Status | new => assigned |
2014-09-09 12:10 | DenisChenu | Note Added: 30511 | |
2014-09-10 06:06 | ongkichilam | Note Added: 30517 | |
2014-09-10 07:58 | DenisChenu | Note Added: 30518 | |
2014-09-10 07:58 | DenisChenu | Note Edited: 30518 | |
2014-09-10 07:59 | DenisChenu | Note Edited: 30518 | |
2014-09-10 08:00 | DenisChenu | Note Edited: 30518 | |
2014-09-10 12:25 | ongkichilam | Note Added: 30524 | |
2014-09-10 12:27 | DenisChenu | Note Added: 30525 | |
2014-10-10 18:20 | adolfocorreia | Issue Monitored: adolfocorreia | |
2014-10-10 18:34 | adolfocorreia | Note Added: 30784 | |
2014-10-26 10:26 | DenisChenu | Assigned To | DenisChenu => |
2014-10-26 10:27 | DenisChenu | Note Added: 30857 | |
2014-10-26 10:27 | DenisChenu | Status | assigned => new |
2014-11-24 16:43 | c_schmitz | Assigned To | => c_schmitz |
2014-11-24 16:43 | c_schmitz | Status | new => acknowledged |
2014-11-24 16:44 | c_schmitz | Target Version | => 2.06+ |
2014-11-24 18:54 | DenisChenu | Note Added: 31087 | |
2016-01-18 11:13 | fradeff | Note Added: 34286 | |
2016-01-18 11:26 | fradeff | Note Edited: 34286 | |
2016-05-11 15:33 |
|
Note Added: 38353 | |
2016-05-11 15:33 |
|
Status | acknowledged => feedback |
2016-05-11 16:10 | c_schmitz | Note Added: 38354 | |
2016-05-11 16:10 | c_schmitz | Changeset attached | => LimeSurvey master c44d815f |
2016-05-11 16:10 | c_schmitz | Note Added: 38355 | |
2016-05-11 16:10 | c_schmitz | Resolution | open => fixed |
2016-05-11 16:11 | c_schmitz | Status | feedback => resolved |
2016-05-11 16:11 | c_schmitz | Fixed in Version | => 2.5 |
2016-05-11 16:33 | c_schmitz | Changeset attached | => LimeSurvey master c5ff180a |
2016-05-11 16:33 | c_schmitz | Note Added: 38362 | |
2016-05-11 16:41 | DenisChenu | File Added: PHP notice.html | |
2016-05-12 10:38 | c_schmitz | Note Added: 38419 | |
2016-05-12 10:38 | c_schmitz | Status | resolved => closed |
2016-09-07 13:03 | c_schmitz | Relationship added | has duplicate 11618 |