Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

500 error SurveyAdministrationController / _generalTabEditSurvey

More
1 year 7 months ago #231536 by ESPU
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


 

Please Log in to join the conversation.

More
1 year 1 month ago #241381 by blocka
Anyone have any insight here? I'm testing an upgrade from LS 3.x to 5.x and while most features work, when I try to access Plugin settings at the survey level, I get the error.

SurveyAdministrationController and its behaviors do not have a method or closure named "_pluginTabSurvey".

Please Log in to join the conversation.

  • tpartner
  • tpartner's Avatar
  • Online
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 1 month ago #241382 by tpartner
Try disabling all plugins to see if any are incompatible.

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 1 month ago #241394 by DenisChenu
Maybe a broken menu link too ? It can happen.
Try to reset menu and menu elements.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.

Please Log in to join the conversation.

Lime-years ahead

Online-surveys for every purse and purpose