mysqli->query("INSERT INTO {$this->prefix}user (`username`, `password`, `time`, `email`,`activatecode`,`ip`) values ('{$u}','{$p}','{$m}','{$e}','{$t}','{$i}')"); } /** * 注册一个用户(重新发送邮件的) * @param string $u 用户名 * @param string $p 密码 * @param string $m 注册时间 * @param string $e 邮箱 * @param string $t 唯一标识符 * @return boot 成功返回true,失败返回false */ public function user_update($u,$p,$m,$e,$t){ return $this->mysqli->query("UPDATE {$this->prefix}user SET username = '{$u}', password = '{$p}', time = '{$m}', email = '{$e}', activatecode = '{$t}' WHERE (username = '{$u}' || email = '{$e}') and activation = 'n'"); } /** * 查询用户名或邮箱是否注册 * @param string $u 用户名 * @param string $e 邮箱 * @return array/false 成功返回array,失败返回false */ public function hasUserEmail($u,$e){ return $this->mysqli->fetch("SELECT activation FROM {$this->prefix}user WHERE username = '{$u}' || email = '{$e}'"); } /** * 查询用户状态是否正常 * @param string $u 用户名和密码 * @return boot 失败返回false,成功查询结果 */ public function user_query($u,$p){ return $this->mysqli->fetch("SELECT uid,username,role,isseal,activation FROM {$this->prefix}user WHERE username = '{$u}' and password = '{$p}'"); } /** * 查询激活码是否有效(存在并且没有过期) * @param string $t 唯一激活码 * @param string $t 当前时间 * @param string $t 有效时间 * @return boot 成功返回true,失败false */ public function activate($token,$time,$etime){ return $this->mysqli->fetch("SELECT 1 FROM {$this->prefix}user WHERE activatecode = '{$token}' and {$time} - time < {$etime}"); } /** * 激活用户 * @param string $token 激活码 * @return boot 成功返回true,失败返回false */ public function user_activate($token){ return $this->mysqli->query("UPDATE {$this->prefix}user SET activation = 'y', activatecode = '' WHERE activatecode = '{$token}'"); } /** * 按条件查询所有用户 * @param string $page 查询页数 * @param string $limit 查询数量 * @param string $where 查询条件 * @return array 成功返回array,失败返回false */ public function user_queryAll($page,$limit,$where=''){ return $this->mysqli->fetchAll("SELECT uid,username,role,time,ip,isseal,email,activation FROM {$this->prefix}user $where limit $page, $limit"); } /** * 查询所有用户数量 */ public function user_count(){ return $this->mysqli->fetch("SELECT count(*) FROM {$this->prefix}user")['count(*)']; } /** * 批量删除用户 */ public function user_del($userids){ return $this->mysqli->query("DELETE FROM {$this->prefix}user WHERE uid in($userids) and role != 'admin'"); } /** * 启用或禁用一个用户 */ public function user_seal($uid,$seal = 'y'){ return $this->mysqli->query("UPDATE {$this->prefix}user SET isseal = '{$seal}' WHERE uid = '{$uid}'"); } /** * 查询指定用户信息 * @return [type] [description] */ public function user_fetch($uid){ return $this->mysqli->fetch("SELECT username,role,time,ip,photo,email FROM {$this->prefix}user WHERE uid = '{$uid}'"); } /** * 查询用户密码 * @return [type] [description] */ public function user_pass($uid){ return $this->mysqli->fetch("SELECT password FROM {$this->prefix}user WHERE uid = '{$uid}'"); } /** * 修改用户资料 * @return [type] [description] */ public function user_modify($user,$pwd,$uid){ return $this->mysqli->query("UPDATE {$this->prefix}user SET username = '{$user}', password = '{$pwd}' WHERE uid = '{$uid}'"); } /** * 修改用户头像 * @return [type] [description] */ public function user_photo($photo,$uid){ return $this->mysqli->query("UPDATE {$this->prefix}user SET photo = '{$photo}' WHERE uid = '{$uid}'"); } /** * 检测除自己以外用户名是否存在 * @return [type] [description] */ public function user_isexis($user,$uid){ return $this->mysqli->fetch("SELECT 1 FROM {$this->prefix}user WHERE username = '{$user}' and uid != '{$uid}'"); } /** * 返回指定ip在24小时内的注册数量 * @return [type] [description] */ public function user_limitip($ip){ return $this->mysqli->fetch("SELECT count(*) FROM {$this->prefix}user WHERE ip = '{$ip}' and (unix_timestamp(now()) - time) < (3600*24)")['count(*)']; } }