/** * Update session data from record * * @param mixed User record object */ protected function updateSessionFromRecord(BaseModel $record) { // get column maes to register foreach ($record->getColumnNames() as $name) { $val = $record->{$name}; $this->session->set($name, is_object($val) ? $val->__toString() : $val); } if ($record instanceof CurrentUserRole) { $this->session->set('roles', $record->getRoles()); } else { if (method_exists($record, 'getRoles')) { $this->session->set('roles', $record->getRoles()); } else { if (isset($record->role)) { if ($record->role instanceof BaseModel) { $this->session->set('roles', array($record->role->identity)); } else { $this->session->set('roles', array($record->role)); } } else { $this->session->set('roles', array()); } } } }