db = \Zend_Registry::get('db'); }else{ $this->db = $db; } $this->table = new Table(); $this->config = \Zend_Registry::get('config'); if($accountClass === TRUE) { $this->account = new Account(); } } //初始化用户类型 public function initUserType() { $this->usertype = array( '普通会员' => 'member', '系统管理员' => 'administrator', '青海省气象科学研究所' => 'meteorologic', '青海省环境监测中心站' => 'qhemc', '青海省水土保持局' => 'watersoil', '青海省林业调查规划院' => 'forestry', '青海省水文水资源局' => 'hydrology', '青海省草原总站' => 'grassland', '青海省生态环境遥感监测中心' => 'qherc' ); } //获取用户类型 public function getUserType() { $this->initUserType(); return $this->usertype; } //通过ID获取User信息 public function getUser($id) { $sql="select * from users where id=?"; $result=$this->db->query($sql,$id); $rows = $result->fetch(); return $rows; } public function getUserInfo($id) { return $this->getUser($id); } //通过email地址返回用户信息是否存在 public function userExists($email = NULL) { if(empty($email)) { return false; } if(empty($this->account)) { $account = new Account(FALSE); }else{ $account = $this->account; } $sql = "SELECT * FROM {$account->memberTable} WHERE {$account->FieldEmail}=? LIMIT 1"; $sth = $this->db->prepare($sql); $sth->execute(array($email)); $row = $sth->fetch(); unset($account); if(isset($row['id']) && !empty($row['id'])) { return $row; }else{ return false; } } public function storeNewAuthCredential($user) { if(get_class($user) != 'stdClass') { return false; } $auth = \Zend_Auth::getInstance(); if($auth->getStorage()->write($user)) return true; else return false; } }