View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
15838Bug reportsOtherpublic2020-03-24 11:29
Reporterrovinj Assigned Toc_schmitz  
PrioritynoneSeverityfeature 
Status closedResolutionfixed 
Fixed in Version4.1.12 
Summary15838: Check database integrity error
Description

In vesion 4.1.1+200203 Check database integrity give error 500 (property "Question.groups" is not defined)

TagsNo tags attached.
Attached Files
Bug heat8
Complete LimeSurvey version number (& build)
I will donate to the project if issue is resolved
Browser
Database type & version
Server OS (if known)
Webserver software & version (if known)
PHP Version

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2020-02-09 10:47

developer   ~55814

Can you activate debug mode and send the produced HTML file here please ?

rovinj

rovinj

2020-02-11 10:33

reporter   ~55851

Debug report

ls_debug.txt (8,705 bytes)   
CException

Svojstvo (property) "Question.groups" nije definisano.

/home/inova/public_html/ankete/framework/db/ar/CActiveRecord.php(145)

133      */
134     public function __get($name)
135     {
136         if(isset($this->_attributes[$name]))
137             return $this->_attributes[$name];
138         elseif(isset($this->getMetaData()->columns[$name]))
139             return null;
140         elseif(isset($this->_related[$name]))
141             return $this->_related[$name];
142         elseif(isset($this->getMetaData()->relations[$name]))
143             return $this->getRelated($name);
144         else
145             return parent::__get($name);
146     }
147 
148     /**
149      * PHP setter magic method.
150      * This method is overridden so that AR attributes can be accessed like properties.
151      * @param string $name property name
152      * @param mixed $value property value
153      * @throws CException
154      */
155     public function __set($name,$value)
156     {
157         if($this->setAttribute($name,$value)===false)

Stack Trace
#0 	
–
 /home/inova/public_html/ankete/framework/db/ar/CActiveRecord.php(145): CComponent->__get("groups")

140         elseif(isset($this->_related[$name]))
141             return $this->_related[$name];
142         elseif(isset($this->getMetaData()->relations[$name]))
143             return $this->getRelated($name);
144         else
145             return parent::__get($name);
146     }
147 
148     /**
149      * PHP setter magic method.
150      * This method is overridden so that AR attributes can be accessed like properties.

#1 	
–
 /home/inova/public_html/ankete/application/controllers/admin/checkintegrity.php(541): CActiveRecord->__get("groups")

536 
537                                 // We check if its GID is the same as the one defined in the column name
538                                 if ($oQuestion->gid != $sGid){
539 
540                                     // If not, we change the column name
541                                     $sNvColName = $oSurvey->sid . 'X'. $oQuestion->groups->gid . 'X' . $sDirtyQid;
542 
543                                     if ( array_key_exists( $sNvColName, $aColumns ) ){
544                                         // This case will not happen often, only when QID + Subquestion ID == QID of a question in the target group
545                                         // So we'll change the group of the question question group table (so in admin interface, not in frontend)
546                                         $oQuestion->gid = $sGid;

#2 	
–
 /home/inova/public_html/ankete/application/controllers/admin/checkintegrity.php(40): CheckIntegrity->_checkintegrity()

35         Yii::app()->loadHelper('surveytranslator');
36     }
37                                                                              
38     public function index()
39     {
40         $aData = $this->_checkintegrity();
41 
42 
43         $aData['fullpagebar']['returnbutton']['url'] = 'admin/index';
44         $aData['fullpagebar']['returnbutton']['text'] = gT('Return to admin home');
45 

#3 	
 unknown(0): CheckIntegrity->index()
#4 	
–
 /home/inova/public_html/ankete/framework/web/actions/CAction.php(109): ReflectionMethod->invokeArgs(CheckIntegrity, array())

104             elseif($param->isDefaultValueAvailable())
105                 $ps[]=$param->getDefaultValue();
106             else
107                 return false;
108         }
109         $method->invokeArgs($object,$ps);
110         return true;
111     }
112 }

#5 	
–
 /home/inova/public_html/ankete/application/core/Survey_Common_Action.php(86): CAction->runWithParamsInternal(CheckIntegrity, ReflectionMethod, array())

81             $oMethod = new ReflectionMethod($this, $sDefault);
82         }
83 
84         // We're all good to go, let's execute it
85         // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
86         return parent::runWithParamsInternal($this, $oMethod, $params);
87     }
88 
89     /**
90      * Some functions have different parameters, which are just an alias of the
91      * usual parameters we're getting in the url. This function just populates

#6 	
–
 /home/inova/public_html/ankete/framework/web/CController.php(308): Survey_Common_Action->runWithParams(array())

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;

#7 	
–
 /home/inova/public_html/ankete/framework/web/CController.php(286): CController->runAction(CheckIntegrity)

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();

#8 	
–
 /home/inova/public_html/ankete/framework/web/CController.php(265): CController->runActionWithFilters(CheckIntegrity, 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);

#9 	
–
 /home/inova/public_html/ankete/application/controllers/AdminController.php(165): CController->run("checkintegrity")

160         }
161 
162         $this->runModuleController($action);
163 
164 
165         return parent::run($action);
166     }
167 
168     /**
169      * Starting with LS4, 3rd party developper can extends any of the LimeSurve controllers.
170      */

#10 	
–
 /home/inova/public_html/ankete/framework/web/CWebApplication.php(282): AdminController->run("checkintegrity")

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)));

#11 	
–
 /home/inova/public_html/ankete/framework/web/CWebApplication.php(141): CWebApplication->runController("admin/checkintegrity")

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.

#12 	
–
 /home/inova/public_html/ankete/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     /**

#13 	
–
 /home/inova/public_html/ankete/index.php(195): CApplication->run()

190 require_once APPPATH . 'core/LSYii_Application' . EXT;
191 
192 $config = require_once(APPPATH . 'config/internal' . EXT);
193 
194 Yii::$enableIncludePath = false;
195 Yii::createApplication('LSYii_Application', $config)->run();
196 
197 /* End of file index.php */
198 /* Location: ./index.php */

2020-02-11 10:32:13 Apache/2.4.39 (Unix) OpenSSL/1.0.2k-fips Yii Framework/1.1.22-dev
ls_debug.txt (8,705 bytes)   
c_schmitz

c_schmitz

2020-03-19 22:10

administrator   ~56683

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=29724

lime_release_bot

lime_release_bot

2020-03-24 11:29

administrator   ~56752

Fixed in Release 4.1.12+200324

Related Changesets

LimeSurvey: master 04b59e23

2020-03-19 22:10:20

c_schmitz

Details Diff
Fixed issue 15838: Check database integrity error Affected Issues
15838
mod - application/controllers/admin/checkintegrity.php Diff File

Issue History

Date Modified Username Field Change
2020-02-08 17:40 rovinj New Issue
2020-02-09 10:47 DenisChenu Note Added: 55814
2020-02-11 10:33 rovinj File Added: ls_debug.txt
2020-02-11 10:33 rovinj Note Added: 55851
2020-03-19 15:48 ollehar Project Feature requests => Bug reports
2020-03-19 22:08 c_schmitz Assigned To => c_schmitz
2020-03-19 22:08 c_schmitz Status new => assigned
2020-03-19 22:10 c_schmitz Changeset attached => LimeSurvey master 04b59e23
2020-03-19 22:10 c_schmitz Note Added: 56683
2020-03-19 22:10 c_schmitz Resolution open => fixed
2020-03-19 22:10 c_schmitz Status assigned => resolved
2020-03-19 22:10 c_schmitz Fixed in Version => 4.1.12
2020-03-24 11:29 lime_release_bot Note Added: 56752
2020-03-24 11:29 lime_release_bot Status resolved => closed