function like()
 {
     $this->uc_login_check();
     $user_mod = $this->user_info;
     $like_list_mod = $this->like_list_mod;
     $act = $_REQUEST['act'];
     $id = intval($_REQUEST['id']);
     if ($act == 'del') {
         $res = $like_list_mod->del(intval($_REQUEST['id']));
         if (intval($res) > 0) {
             //更新用户表的喜欢数量
             $count = $like_list_mod->where('uid=' . $_COOKIE['user']['id'])->count();
             $data = array('like_num' => $count);
             $user_mod->where('uid=' . $_COOKIE['user']['id'])->save($data);
             //更新item表的喜欢数量
             //$this->items_mod
             $this->items_mod->where("id='{$_REQUEST['id']}'")->setDec('likes');
         }
         $this->ajaxReturn($res);
     } else {
         if ($act == 'add') {
             $items_cate_mod = D('items_cate');
             $user_history_mod = D('user_history');
             $id = isset($_GET['id']) && intval($_GET['id']) ? intval($_GET['id']) : '';
             if (check_favorite('like_list', $id)) {
                 $this->ajaxReturn('yet_exist');
             }
             $like_num = 0;
             if ($id) {
                 $items_mod = D('items');
                 $like_num = $items_mod->where('id=' . $id)->setInc('likes');
                 $items_mod->where('id=' . $id)->setField('status', 1);
                 $items = $items_mod->where('id=' . $id)->find();
                 $items_cate_mod->where('id=' . $items['cid'])->setInc('item_likes');
                 $data = array();
                 $data['uid'] = $_COOKIE['user']['id'];
                 $data['uname'] = $_COOKIE['user']['name'];
                 $data['add_time'] = time();
                 $data['info'] = "喜欢了一个宝贝~<br/>" . "<a href='" . u("item/index", array('id' => $id)) . "' target='_blank'>" . "<img src='" . $items['img'] . "'/></a>";
                 $user_history_mod->add($data);
                 $data = array();
                 $count = $like_list_mod->where('uid=' . $_COOKIE['user']['id'])->count();
                 $data = array('like_num' => $count);
                 $user_mod->where('uid=' . $_COOKIE['user']['id'])->save($data);
             }
             $this->ajaxReturn($like_num);
         }
     }
     $where = 'uid=' . $this->uid;
     $count = $like_list_mod->where($where)->count();
     $res = $like_list_mod->where($where)->select();
     $ids = array();
     foreach ($res as $val) {
         $ids[] = $val['items_id'];
     }
     $like_list_mod = D('LikeListView');
     $items_mod = D("items");
     //最近喜欢、分享了……
     //用户喜欢->union('SELECT id FROM pp_items limit 5')
     $map['uid'] = $this->uid;
     $likelist = $like_list_mod->where($map)->order('LikeList.id desc')->limit(8)->select();
     $this->assign('likelist', $likelist);
     //用户分享
     $itemslist = $items_mod->field('id,img,url,add_time')->where($map)->order('id desc')->limit(3)->select();
     $this->assign('itemslist', $itemslist);
     $this->assign('seo', $this->ucNavSeo('like', $_GET['uid']));
     $this->waterfall($count, 'id in(' . implode(",", $ids) . ')', 'add_time desc');
 }
示例#2
0
 function like()
 {
     $this->uc_login_check();
     $user_mod = D('user');
     $items_likes_mod = D('items_likes');
     $act = $_REQUEST['act'];
     $id = intval($_REQUEST['id']);
     if ($act == 'del') {
         $res = $items_likes_mod->where("items_id={$id} and uid=" . $_SESSION['user_id'])->delete();
         if (intval($res) > 0) {
             $count = $items_likes_mod->where('uid=' . $_SESSION['user_id'])->count();
             $data = array('like_num' => $count);
             $user_mod->where('uid=' . $_SESSION['user_id'])->save($data);
         }
         $this->ajaxReturn($res);
     } else {
         if ($act == 'add') {
             $items_cate_mod = D('items_cate');
             $user_history_mod = D('user_history');
             $id = isset($_GET['id']) && intval($_GET['id']) ? intval($_GET['id']) : '';
             if (check_favorite('items_likes', $id)) {
                 $this->ajaxReturn('yet_exist');
             }
             $like_num = 0;
             if ($id) {
                 $items_mod = D('items');
                 $last_time = time() - 3600 * 24;
                 $like_days = $items_likes_mod->where('items_id=' . $id . " and add_time>" . $last_time)->count();
                 $items_last = $items_mod->where('id=' . $id)->save(array('status' => '1', 'last_time' => time(), 'dlikes' => $like_days));
                 $like_num = $items_mod->where('id=' . $id)->setInc('likes');
                 $items = $items_mod->where('id=' . $id)->find();
                 $items_cate_mod->where('id=' . $items['cid'])->setInc('item_likes');
                 $data = array();
                 $data['uid'] = $_SESSION['user_id'];
                 $data['add_time'] = time();
                 $data['info'] = "喜欢了一个宝贝~<br/><a href='" . u("item/index", array('id' => $id)) . "' target='_blank'><img src='" . $items['img'] . "'/></a>";
                 $user_history_mod->add($data);
                 $data = array();
                 $count = $items_likes_mod->where('uid=' . $_SESSION['user_id'])->count();
                 $data = array('like_num' => $count);
                 $user_mod->where('id=' . $_SESSION['user_id'])->save($data);
             }
             $this->ajaxReturn($like_num);
         }
     }
     $where = 'uid=' . $this->uid;
     $count = $items_likes_mod->where($where)->count();
     $res = $items_likes_mod->where($where)->select();
     $ids = array();
     foreach ($res as $val) {
         $ids[] = $val['items_id'];
     }
     $this->waterfall($count, 'id in(' . implode(",", $ids) . ')');
 }