Пример #1
0
 /**
  * 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());
             }
         }
     }
 }