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'); }
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) . ')'); }