Hello,
LimeSurvey version: 5.3.32+220817
PHP version 7.4.25
own server (OVH shared hosting)
Survey theme/template: Sea Green (admin)
==================
Since the update from V3.28 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 with all the links containing the parameter "r=surveyAdministration/rendersidemenulink".
I have tried to reinstall and update the last version but I still get this error. I haven't seen any report in the bugtracker about this, so I guess this more related to the environment than a bug.
Can you please help?
Here are the details of the exception: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