| Description | Hello,
Since the update from V3.28 to 5.3 I get a 500 error "SurveyAdministrationController and its behaviors do not have a method or closure named "_generalTabEditSurvey" when using the left hand menu to navigate the admin interface of a survey. This occurs only with all the links containing "surveyAdministration/rendersidemenulink".
I have tried to update, then fully reinstall Limesurvey on both Linux and Windows servers (using the same database) the last version but I still get this error.
I'm using the config below and also tried 'urlFormat' => 'get' without success.
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
// You can add your own rules here
),
'showScriptName' => true,
),
Other menu links like "Responses", "Assesments" or "List Questions" generate 404 errors.
It happen on any survey, even a blank one.
Can you please help? |
|---|
| Steps To Reproduce | Steps to reproduce
Connect to the admin interface.
To get error 500: then click on the links ("General Settings", "Publication & Access"... or any other link containing "surveyAdministration/rendersidemenulink") in the left hand menu.
To get error 404: then click on the links ("Responses", "Assesments" or "List Questions") in the left hand menu.
Expected result
The interface should display the requested page.
Actual result
When Error 404:
#0 /home/espu/www_survey/framework/web/CController.php(270): CController->missingAction('survey')
#1 /home/espu/www_survey/application/controller/AdminController.php(202): CController->run('survey')
#2 /home/espu/www_survey/framework/web/CWebApplication.php(282): AdminController->run('survey')
#3 /home/espu/www_survey/framework/web/CWebApplication.php(141): CWebApplication->runController('admin/survey/sa...')
#4 /home/espu/www_survey/framework/base/CApplication.php(185): CWebApplication->processRequest()
#5 /home/espu/www_survey/index.php(192): CApplication->run()
#6 {main}
When Error 500:
SurveyAdministrationController and its behaviors do not have a method or closure named "_generalTabEditSurvey"./home/espu/www_survey/framework/base/CComponent.php(266)254 public function __call($name,$parameters)
255 {
256 if($this->_m!==null)
257 {
258 foreach($this->_m as $object)
259 {
260 if($object->getEnabled() && method_exists($object,$name))
261 return call_user_func_array(array($object,$name),$parameters);
262 }
263 }
264 if(class_exists('Closure', false) && ($this->canGetProperty($name) || property_exists($this, $name)) && $this->$name instanceof Closure)
265 return call_user_func_array($this->$name, $parameters);
266 throw new CException(Yii::t('yii','{class} and its behaviors do not have a method or closure named "{name}".',
267 array('{class}'=>get_class($this), '{name}'=>$name)));
268 }
269
270 /*
271 Returns the named behavior object.
272 The name 'asa' stands for 'as a'.
273 @param string $behavior the behavior name
274 @return IBehavior the behavior object, or null if the behavior does not exist
275 /
276 public function asa($behavior)
277 {
278 return isset($this->_m[$behavior]) ? $this->_m[$behavior] : null;
Stack Trace#0– /home/espu/www_survey/application/controllers/SurveyAdministrationController.php(1881): CComponent->__call("_generalTabEditSurvey", array(Survey))1876 $templateData = is_array($menuEntry->data) ? $menuEntry->data : [];
1877
1878 if (!empty($menuEntry->getdatamethod)) {
1879 $templateData = array_merge($templateData, call_user_func_array(
1880 array($this, $menuEntry->getdatamethod), //info: getdatamethod is the name of a function here in this controller!!!
1881 array('survey' => $survey)
1882 ));
1883 }
1884
1885 $templateData = array_merge($this->getGeneralTemplateData($iSurveyID), $templateData);
1886
#1 unknown(0): SurveyAdministrationController->actionRendersidemenulink("732877", "generalsettings")#2– /home/espu/www_survey/framework/web/actions/CAction.php(115): ReflectionMethod->invokeArgs(SurveyAdministrationController, array("732877", "generalsettings"))110 elseif($param->isDefaultValueAvailable())
111 $ps[]=$param->getDefaultValue();
112 else
113 return false;
114 }
115 $method->invokeArgs($object,$ps);
116 return true;
117 }
118 }
#3– /home/espu/www_survey/framework/web/actions/CInlineAction.php(47): CAction->runWithParamsInternal(SurveyAdministrationController, ReflectionMethod, array("r" => "surveyAdministration/rendersidemenulink", "subaction" => "generalsettings", "surveyid" => "732877", 1661848504965 => ""))42 {
43 $methodName='action'.$this->getId();
44 $controller=$this->getController();
45 $method=new ReflectionMethod($controller, $methodName);
46 if($method->getNumberOfParameters()>0)
47 return $this->runWithParamsInternal($controller, $method, $params);
48
49 $controller->$methodName();
50 return true;
51 }
52 }
#4– /home/espu/www_survey/framework/web/CController.php(308): CInlineAction->runWithParams(array("r" => "surveyAdministration/rendersidemenulink", "subaction" => "generalsettings", "surveyid" => "732877", 1661848504965 => ""))303 {
304 $priorAction=$this->_action;
305 $this->_action=$action;
306 if($this->beforeAction($action))
307 {
308 if($action->runWithParams($this->getActionParams())===false)
309 $this->invalidActionParams($action);
310 else
311 $this->afterAction($action);
312 }
313 $this->_action=$priorAction;
#5– /home/espu/www_survey/framework/web/CController.php(286): CController->runAction(CInlineAction)281 @see runAction
282 /
283 public function runActionWithFilters($action,$filters)
284 {
285 if(empty($filters))
286 $this->runAction($action);
287 else
288 {
289 $priorAction=$this->_action;
290 $this->_action=$action;
291 CFilterChain::create($this,$action,$filters)->run();
#6– /home/espu/www_survey/framework/web/CController.php(265): CController->runActionWithFilters(CInlineAction, array())260 {
261 if(($parent=$this->getModule())===null)
262 $parent=Yii::app();
263 if($parent->beforeControllerAction($this,$action))
264 {
265 $this->runActionWithFilters($action,$this->filters());
266 $parent->afterControllerAction($this,$action);
267 }
268 }
269 else
270 $this->missingAction($actionID);
#7– /home/espu/www_survey/application/controllers/LSBaseController.php(160): CController->run("rendersidemenulink")155 $this->redirect(array('/admin/authentication/sa/login'));
156 }
157 }
158 }
159
160 parent::run($action);
161 }
162
163 /
164 Load and set session vars
165
#8– /home/espu/www_survey/framework/web/CWebApplication.php(282): LSBaseController->run("rendersidemenulink")277 {
278 list($controller,$actionID)=$ca;
279 $oldController=$this->_controller;
280 $this->_controller=$controller;
281 $controller->init();
282 $controller->run($actionID);
283 $this->_controller=$oldController;
284 }
285 else
286 throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
287 array('{route}'=>$route===''?$this->defaultController:$route)));
#9– /home/espu/www_survey/framework/web/CWebApplication.php(141): CWebApplication->runController("surveyAdministration/rendersidemenulink")136 foreach(array_splice($this->catchAllRequest,1) as $name=>$value)
137 $_GET[$name]=$value;
138 }
139 else
140 $route=$this->getUrlManager()->parseUrl($this->getRequest());
141 $this->runController($route);
142 }
143
144 /
145 Registers the core application components.
146 This method overrides the parent implementation by registering additional core components.
#10– /home/espu/www_survey/framework/base/CApplication.php(185): CWebApplication->processRequest()180 public function run()
181 {
182 if($this->hasEventHandler('onBeginRequest'))
183 $this->onBeginRequest(new CEvent($this));
184 register_shutdown_function(array($this,'end'),0,false);
185 $this->processRequest();
186 if($this->hasEventHandler('onEndRequest'))
187 $this->onEndRequest(new CEvent($this));
188 }
189
190 /*
#11– /home/espu/www_survey/index.php(192): CApplication->run()187 require_once APPPATH . 'core/LSYii_Application' . EXT;
188
189 $config = require_once(APPPATH . 'config/internal' . EXT);
190
191 Yii::$enableIncludePath = false;
192 Yii::createApplication('LSYii_Application', $config)->run();
193
194 / End of file index.php /
195 / Location: ./index.php */
2022-08-30 10:35:56 Apache Yii Framework /1.1.24-dev |
|---|