View Issue Details

This bug affects 1 person(s).
 4
IDProjectCategoryView StatusLast Update
08322Bug reportsSurvey participants (Tokens)public2013-10-30 15:40
Reporterintentcook Assigned Tosammousa  
PriorityurgentSeverityblock 
Status closedResolutionfixed 
Fixed in Version2.05+ 
Summary08322: Token error since RC4
Description

Anyone accessing the survey link gets this error message.

CDbException
The table "{{tokens_}}" for active record class "Token_129419" cannot be found in the database.
/home/onlinepe/public_html/5deep/surveys/framework/db/ar/CActiveRecord.php(2362)
2350
2351 /
2352 Constructor.
2353
@param CActiveRecord $model the model instance
2354 @throws CDbException if specified table for active record class cannot be found in the database
2355
/
2356 public function construct($model)
2357 {
2358 $this->_modelClassName=get_class($model);
2359
2360 $tableName=$model->tableName();
2361 if(($table=$model->getDbConnection()->getSchema()->getTable($tableName))===null)
2362 throw new CDbException(Yii::t('yii','The table "{table}" for active record class "{class}" cannot be found in the database.',
2363 array('{class}'=>$this->_modelClassName,'{table}'=>$tableName)));
2364 if($table->primaryKey===null)
2365 {
2366 $table->primaryKey=$model->primaryKey();
2367 if(is_string($table->primaryKey) && isset($table->columns[$table->primaryKey]))
2368 $table->columns[$table->primaryKey]->isPrimaryKey=true;
2369 elseif(is_array($table->primaryKey))
2370 {
2371 foreach($table->primaryKey as $name)
2372 {
2373 if(isset($table->columns[$name]))
2374 $table->columns[$name]->isPrimaryKey=true;
Stack Trace
#0 +

/home/onlinepe/public_html/5deep/surveys/framework/db/ar/CActiveRecord.php(411): CActiveRecordMetaData->
construct(Token_129419)
406 {
407 $className=get_class($this);
408 if(!array_key_exists($className,self::$_md))
409 {
410 self::$_md[$className]=null; // preventing recursive invokes of {@link getMetaData()} via {@link __get()}
411 self::$_md[$className]=new CActiveRecordMetaData($this);
412 }
413 return self::$_md[$className];
414 }
415
416 /

#1 +

/home/onlinepe/public_html/5deep/surveys/framework/db/ar/CActiveRecord.php(79): CActiveRecord->getMetaData()
74 if($scenario===null) // internally used by populateRecord() and model()
75 return;
76
77 $this->setScenario($scenario);
78 $this->setIsNewRecord(true);
79 $this->_attributes=$this->getMetaData()->attributeDefaults;
80
81 $this->init();
82
83 $this->attachBehaviors($this->behaviors());
84 $this->afterConstruct();
#2 +

/home/onlinepe/public_html/5deep/surveys/application/models/Dynamic.php(15): CActiveRecord->construct("insert")
10 @var int The dynamic part of the class name.
11
/
12 protected $id;
13
14 public function
construct($scenario = 'insert') {
15 parent::_construct($scenario);
16 list(,$this->id)=explode('
', getclass($this));
17 //$this->id = explode('
', get_class($this))[1];
18 }
19
20 /
#3 +

/home/onlinepe/public_html/5deep/surveys/application/models/Dynamic.php(41): Dynamic->__construct("insert")
36 }
37
38 public static function create($id, $scenario = 'insert')
39 {
40 $className = get_calledclass() . '' . $id;
41 return new $className($scenario);
42 }
43
44 }
45
46 ?>
#4 +

/home/onlinepe/public_html/5deep/surveys/application/models/Token.php(117): Dynamic::create("129419", "insert")
112 @param int $surveyId
113
@param string $scenario
114 @return Token Description
115
/
116 public static function create($surveyId, $scenario = 'insert') {
117 return parent::create($surveyId, $scenario);
118 }
119 public function relations()
120 {
121 $result = array(
122 'responses' => array(self::HASMANY, 'Response' . $this->id, array('token' => 'token')),
#5 +

/home/onlinepe/public_html/5deep/surveys/application/controllers/RegisterController.php(162): Token::create("129419")
157 $endtime = sanitize_xss_string(Yii::app()->request->getPost('enddate'));
158 /$postattribute1=sanitize_xss_string(strip_tags(returnGlobal('register_attribute1')));
159 $postattribute2=sanitize_xss_string(strip_tags(returnGlobal('register_attribute2')));
/
160
161 // Insert new entry into tokens db
162 $token = Token::create($thissurvey['sid']);
163 $token->firstname = $postfirstname;
164 $token->lastname = $postlastname;
165 $token->email = Yii::app()->request->getPost('register_email');
166 $token->emailstatus = 'OK';
167 $token->token = $newtoken;
#6 unknown(0): RegisterController->actionIndex("129419")
#7 +

/home/onlinepe/public_html/5deep/surveys/framework/web/actions/CAction.php(108): ReflectionMethod->invokeArgs(RegisterController, array("129419"))
103 elseif($param->isDefaultValueAvailable())
104 $ps[]=$param->getDefaultValue();
105 else
106 return false;
107 }
108 $method->invokeArgs($object,$ps);
109 return true;
110 }
111 }
#8 +

/home/onlinepe/public_html/5deep/surveys/framework/web/actions/CInlineAction.php(47): CAction->runWithParamsInternal(RegisterController, ReflectionMethod, array("surveyid" => "129419"))
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 else
49 return $controller->$methodName();
50 }
51
52 }
#9 +

/home/onlinepe/public_html/5deep/surveys/framework/web/CController.php(308): CInlineAction->runWithParams(array("surveyid" => "129419"))
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;
#10 +

/home/onlinepe/public_html/5deep/surveys/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();
#11 +

/home/onlinepe/public_html/5deep/surveys/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);
#12 +

/home/onlinepe/public_html/5deep/surveys/framework/web/CWebApplication.php(282): CController->run("index")
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)));
#13 +

/home/onlinepe/public_html/5deep/surveys/framework/web/CWebApplication.php(141): CWebApplication->runController("register/index/surveyid/129419")
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.
#14 +

/home/onlinepe/public_html/5deep/surveys/framework/base/CApplication.php(180): CWebApplication->processRequest()
175 public function run()
176 {
177 if($this->hasEventHandler('onBeginRequest'))
178 $this->onBeginRequest(new CEvent($this));
179 register_shutdown_function(array($this,'end'),0,false);
180 $this->processRequest();
181 if($this->hasEventHandler('onEndRequest'))
182 $this->onEndRequest(new CEvent($this));
183 }
184
185 /*
#15 +

/home/onlinepe/public_html/5deep/surveys/index.php(189): CApplication->run()
184 die (sprintf('%s should be writable by the webserver (755 or 775).', $runtimePath));
185 }
186 }
187
188
189 Yii::createApplication('LSYii_Application', $config)->run();
190
191 /
End of file index.php /
192 /
Location: ./index.php */
2013-10-29 22:55:33 Apache/2.2.25 (Unix) mod_ssl/2.2.25 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Yii Framework/1.1.14

Steps To Reproduce

the following links

http://www.5deep.co.nz/surveys/index.php/129419/lang-en

and

http://www.5deep.co.nz/surveybeta/index.php/129419/lang-en

Additional Information

For me these appear to be OK but anyone else gets the above error. Have tested from UK and Philippines and since RC4 this is the problem.

TagsNo tags attached.
Bug heat4
Complete LimeSurvey version number (& build)Version 2.05RC4 Build 131024
I will donate to the project if issue is resolvedYes
BrowserChrome IE latest and Firefox latest
Database type & versionmysql 5.1.70-cll
Server OS (if known)Apache version 2.2.25
Webserver software & version (if known)Apache version 2.2.25
PHP Version5.4.19

Users monitoring this issue

There are no users monitoring this issue.

Activities

sammousa

sammousa

2013-10-30 09:41

reporter   ~27025

Fixed in https://github.com/LimeSurvey/LimeSurvey/commit/1e324d2b3c95a1674059b7a84c5d86e1fffd7e16

I need to learn to search better in the bugtracker!

c_schmitz

c_schmitz

2013-10-30 15:40

administrator   ~27040

2.05RC5 released.

Issue History

Date Modified Username Field Change
2013-10-30 00:11 intentcook New Issue
2013-10-30 09:41 sammousa Note Added: 27025
2013-10-30 09:41 sammousa Status new => resolved
2013-10-30 09:41 sammousa Resolution open => fixed
2013-10-30 09:41 sammousa Assigned To => sammousa
2013-10-30 15:40 c_schmitz Note Added: 27040
2013-10-30 15:40 c_schmitz Status resolved => closed
2013-10-30 15:40 c_schmitz Fixed in Version => 2.05+
2016-12-08 10:39 c_schmitz Category Tokens => Survey participants (Tokens)