From 002d647e04a6b2b0353905daaf39d13fa25baa92 Mon Sep 17 00:00:00 2001 From: tao Date: Fri, 10 Dec 2021 19:35:12 +0800 Subject: [PATCH] user --- app/index/Index.php | 121 --------------- app/index/User.php | 277 ---------------------------------- app/index/controller/User.php | 4 +- 3 files changed, 2 insertions(+), 400 deletions(-) delete mode 100644 app/index/Index.php delete mode 100644 app/index/User.php diff --git a/app/index/Index.php b/app/index/Index.php deleted file mode 100644 index 37cfb06..0000000 --- a/app/index/Index.php +++ /dev/null @@ -1,121 +0,0 @@ -getSliderList(1); - //置顶文章 - $artTop = Article::getArtTop(5); - //首页文章列表,显示20个 - $artList = Article::getArtList(22); - //热议文章 - $artHot = Article::getArtHot(10); - //温馨通道 - $fast_links = $slider->getSliderList(8); - //首页赞助 - $ad_index = $slider->getSliderList(5); - //首页右栏图片 - $ad_comm = $slider->getSliderList(2); - //友情链接 - $friend_links = $slider->getSliderList(9); - - //友情链接申请 - $adminEmail = Db::name('user')->where('id',1)->cache(true)->value('email'); - - $vs = [ - 'slider' => $sliders, - 'artTop' => $artTop, - 'artList' => $artList, - 'artHot' => $artHot, - 'type' => $types, - 'ad_index' => $ad_index, - 'ad_comm' => $ad_comm, - 'fastlinks' => $fast_links, - 'flinks' => $friend_links, - 'adminEmail' => $adminEmail, - 'jspage' => '', - ]; - View::assign($vs); - - return View::fetch(); - } - - //回帖榜 - public function reply() - { - $comment = new \app\common\model\Comment(); - return $comment->reply(20); - } - - //搜索功能 - public function search() - { - //$t = input('keywords'); - //halt($t); - $ser = Request::only(['keywords']); - - $search = new \app\index\controller\Search(); - $artList = $search->getSearch($ser['keywords']); - $counts = $artList->count(); - $slider = new Slider(); - //首页右栏 - $ad_comm = $slider->getSliderList(2); - // 查询热议 - $artHot = Article::getArtHot(10); - - $searchs = [ - 'artList' => $artList, - 'keywords' => $ser['keywords'], - 'counts' => $counts, - 'ad_comm'=>$ad_comm, - 'artHot'=>$artHot, - 'jspage'=>'' - ]; - View::assign($searchs); - return View::fetch('search'); - } - - public function jump() - { - $username = Request::param('username'); - $u = Db::name('user')->whereOr('nickname', $username)->whereOr('name', $username)->find(); - return redirect((string) url('user/home',['id'=>$u['id']])); - - } - - public function language() - { - if(request()->isPost()){ - $language = new \app\common\controller\Language; - $lang = $language->select(input('language')); - if($lang){ - return Msgres::success(); - } - }else { - return Msgres::error('illegal_request'); - } - } - -} diff --git a/app/index/User.php b/app/index/User.php deleted file mode 100644 index 15f8721..0000000 --- a/app/index/User.php +++ /dev/null @@ -1,277 +0,0 @@ - ['except' => ['home'] ], - ]; - - //用户中心 - public function index() - { - return view(); - } - - - //发帖list - public function artList() - { - $article = Article::withCount('comments')->where('user_id',$this->uid)->order('update_time','desc')->paginate(10); - //var_dump($article); - $count = $article->total(); - $res = []; - if($count){ - $res['code'] = 0; - $res['count'] = $count; - foreach($article as $v){ - $res['data'][] = ['id'=>$v['id'], - 'title' => htmlspecialchars($v['title']), - 'url' => (string) url('article/detail',['id'=>$v['id']]), - 'status' => $v['status'] ? '正常':'待审核', - 'ctime' => $v['create_time'], - 'datas' => $v['pv'].'阅/'.$v['comments_count'].'答' - ]; - } - - } else { - return json(['code'=>-1,'msg'=>'无数据']); - } - return json($res); - } - - //收藏list - public function collList(){ - //收藏的帖子 - $collect = Collection::with(['article'=>function($query){ - $query->withCount('comments')->where('status',1); - }])->where('user_id',$this->uid)->order('create_time','desc')->paginate(10); - $count =$collect->total(); - $res = []; - if($count){ - $res['code'] = 0; - $res['count'] = $count ; - foreach($collect as $v){ - - $res['data'][] = [ - 'id' =>$v['id'], - 'title' => htmlspecialchars($v['collect_title']), - 'url' => (string) url('article/detail',['id'=>$v['article_id']]), - 'auther' => $v['auther'], - 'status' => is_null(Db::name('article')->field('id')->where('delete_time',0)->find($v['article_id'])) ? '已失效' : '正常', - 'ctime' => $v['create_time'] - ]; - } - - } else { - return json(['code'=>-1,'msg'=>'无数据']); - } - return json($res); - } - - - - //文章管理 - public function post() - { - return View::fetch(); - } - - //取消文章收藏 - public function colltDel() - { - if(Request::isAjax()){ - $collt = Collection::where('user_id',$this->uid)->find(input('id')); - $result = $collt->delete(); - if($result){ - $res = ['code'=>0,'msg'=>'取消成功']; - } else { - $res = ['code'=>0,'msg'=>'取消失败']; - } - return json($res); - } - } - - //用户设置-我的资料 - public function set() - { - if(Request::isAjax()){ - $data = Request::only(['user_id','email','nickname','sex','city','area_id','sign']); - $validate = new userValidate; - $result = $validate->scene('Set')->check($data); - if(!$result){ - $this->error($validate->getError()); - } else { - //防止重复的email - $resEmail = Db::name('user')->where('email',$data['email'])->where('id','<>',$this->uid)->find(); - if(!is_null($resEmail)){ - return ['code'=>-1,'msg'=>'email已存在,请更换!']; - } - //若更换email,需重新激活 - $mail = Db::name('user')->where('id',$this->uid)->value('email'); - if($data['email'] !== $mail){ - $data['active'] = 0; - } - $user = new userModel; - $result = $user->setNew($data); - if($result == 1){ - Cache::tag('user')->clear(); - return ['code'=>0,'msg'=>'资料更新成功']; - } else { - $this->error($result); - } - } - } - $area = Db::name('user_area')->select(); - View::assign(['area'=>$area]); - return View::fetch(); - } - - //更换头像 - public function uploadHeadImg() - { - $uploads = new \app\common\lib\Uploads(); - $upRes = $uploads->put('file','head_img',1024,'image','uniqid'); - $upHeadRes = $upRes->getData(); - if($upHeadRes['status'] == 0){ - $name_path = $upHeadRes['url']; - //$name = $file->hashName(); - //$image = \think\Image::open("uploads/$name_path"); - //$image->thumb(168, 168)->save("uploads/$name_path"); - - //查出当前用户头像删除原头像并更新 - $imgPath = Db::name('user')->where('id',$this->uid)->value('user_img'); - if(file_exists('.'.$imgPath)){ - $dirPath = dirname('.'.$imgPath); - if($dirPath !== './static/res/images/avatar'){ //防止删除默认头像 - unlink('.'.$imgPath); - } - } - $result = Db::name('user') - ->where('id',$this->uid) - ->update(['user_img'=>$name_path]); - Cache::tag(['user','tagArtDetail','tagArt'])->clear(); - if($result) { - $res = ['status'=>0,'msg'=>'头像更新成功']; - } else { - $res = ['status'=>1,'msg'=>'头像更新失败']; - } - } else { - $res = ['status'=>1,'msg'=>'上传错误']; - } - return json($res); - } - - - public function message() - { - $uid = Session::get('user_id'); - $msg = Message::receveMsg($uid); - - View::assign('msg',$msg); - return View::fetch(); - } - - //个人页 - public function home($id) - { - //用户 - $u = Cache::get('user'.$id); - if(!$u){ - $u = Db::name('user')->field('name,nickname,city,sex,sign,user_img,point,vip,create_time')->cache(3600)->find($id); - } - - - //用户发贴 - $arts = Db::name('user')->alias('u')->join('article a','u.id = a.user_id')->field('u.id,a.id,a.title,a.pv,a.is_hot,a.create_time,a.delete_time')->where('a.delete_time',0)->where('a.user_id',$id)->order(['a.create_time'=>'desc'])->cache(3600)->select(); - //用户回答 - $reys = Db::name('comment')->alias('c')->join('article a','c.article_id = a.id')->field('a.id,a.title,c.content,c.create_time,c.delete_time')->where(['a.delete_time'=>0,'c.delete_time'=>0])->where('c.user_id',$id)->order(['c.create_time'=>'desc'])->cache(3600)->select(); - - View::assign(['u'=>$u,'arts'=>$arts,'reys'=>$reys,'jspage'=>'']); - return View::fetch(); - } - - - public function layout() - { - return View::fetch(); - } - - //邮箱激活 - public function activate() - { - //管理员邮箱 - $adminEmail = Db::name('user')->where('id',1)->cache(true)->value('email'); - View::assign('adminEmail',$adminEmail); - return View::fetch(); - } - - //邮箱激活 - public function active() - { - - if(Request::isPost()){ - $email = Request::param('email'); - $url = Request::domain().Request::root().'/active/index?url='.time().md5($email).$this->uid; - $content = "Hi亲爱的{$this->showUser($this->uid)['name']}:
您正在进行邮箱激活,请在10分钟内完成激活。 请点击进行激活
若无法跳转请复制链接激活:{$url}"; - $res = mailto($email,'邮箱激活',$content); - if($res){ - return json(['status'=>0]); - }else{ - return json(['status'=>-1,'发送邮件出错!']); - } - } - } - - //修改密码 - public function setPass() - { - if(Request::isAjax()){ - $data = Request::param(); - $validate = new userValidate; - $res = $validate->scene('setPass')->check($data); - if(!$res){ - return $this->error($validate->getError()); - } - $user = new userModel; - $result = $user->setpass($data); - if($result == 1) { - Session::clear(); - Cookie::delete('auth'); - return $this->success('密码修改成功 请登录', (string) url('login/index')); - } else { - return $this->error($result); - } - } - } - - //退出账户 - public function logout() - { - Session::clear(); - Cookie::delete('auth'); - //Cookie::delete('user_name'); - //Cookie::delete('user_id'); - if(Session::has('user_id')){ - return json(['code' => -1, 'msg' => '退出失败']); - } else { - return json(['code' => 200, 'msg' => '退出成功', 'url' => '/']); - } - } - -} \ No newline at end of file diff --git a/app/index/controller/User.php b/app/index/controller/User.php index 6c17d6d..15f8721 100644 --- a/app/index/controller/User.php +++ b/app/index/controller/User.php @@ -41,7 +41,7 @@ class User extends BaseController $res['count'] = $count; foreach($article as $v){ $res['data'][] = ['id'=>$v['id'], - 'title' => $v['title'], + 'title' => htmlspecialchars($v['title']), 'url' => (string) url('article/detail',['id'=>$v['id']]), 'status' => $v['status'] ? '正常':'待审核', 'ctime' => $v['create_time'], @@ -70,7 +70,7 @@ class User extends BaseController $res['data'][] = [ 'id' =>$v['id'], - 'title' => $v['collect_title'], + 'title' => htmlspecialchars($v['collect_title']), 'url' => (string) url('article/detail',['id'=>$v['article_id']]), 'auther' => $v['auther'], 'status' => is_null(Db::name('article')->field('id')->where('delete_time',0)->find($v['article_id'])) ? '已失效' : '正常',