fetchOne(array ( 'id' => $cate, )); if (!$cateInfo) { echo '错误的分类信息';die; } # 检查是否移动端 $title = '精彩活动-' . $cateInfo['name']; $this->checkIsFromMobile($title); $plat_form_id = $this->getPlatFormId(); $thisTime = time(); $objMLottery = new Lottery(); $condition = array( 'category_id' => $cate, 'display' => LotteryEvents::EVENT_DISPLAY_SHOW, // 已发布的 'list_display' => LotteryEvents::LIST_DISPLAY_SHOW, // 列表中是否显示 'begin_time' => SqlHelper::addCompareOperator('<=', time()), 'platform_ids' => SqlHelper::addCompareOperator('&', $plat_form_id), ); # 获取登录地址 $url = Request::g('url'); $thisUrl = Request::schemeDomain().'/cate/'.$cate . '/' . $url; $loginUrl = $this -> getLoginUrl($thisUrl); $this->setOutput('loginUrl', $loginUrl); # 判断是否需要登录 $ckLogin = $this->ckLogin(); $this->setOutput('ckLogin', $ckLogin); # 获取用户信息 $objUserData = new UserInfo(); $uid = $this->getRunTimeUid(); $userData = $objUserData -> get($uid); $this->setOutput('userData', $userData); $totals = $objMLottery -> getLotteryEventsListNum($condition); $offset = 0; $size = 10; $order = 'id desc'; $eventsData = $allLotteryEventsIds = $objMLottery -> getLotteryEventsList($condition, "{$offset},{$size}", $order); # 剩余天数 $TIME = time(); $objArticleLikeCounter = new ArticleLikeCounter(); foreach ($eventsData as $tmpKey => $tmpData) { $rday = ($tmpData['end_time'] - $TIME) / (24 * 60 * 60); $eventsData[$tmpKey]['rday'] = ceil($rday); # 参与人数 $objMLotteryLog = new LotteryLog ( null, $tmpData['id'] ); $eventsData[$tmpKey]['user_total'] = $objMLotteryLog->getUserParticipateLogNumGroupByUid (); if ($tmpData['type'] == 9) { # 阅读人数 $eventsData[$tmpKey]['click_num'] = $tmpData['click_num'] + ($tmpData['article_pass_base_num']?$tmpData['click_num'] + $tmpData['article_pass_base_num']:0); # 点赞人数 $eventsData[$tmpKey]['likes'] = $objArticleLikeCounter->getLikes($tmpData['id']); $eventsData[$tmpKey]['likes'] = $eventsData[$tmpKey]['likes'] + $tmpData['article_praise']; } } $this->setOutput('cate', $cate); $this->setOutput('eventsData', $eventsData); $this->setOutput('title', $title); $this->setOutput('totals', ceil($totals / $size)); $this->tpl = 'list'; $this->setOutput('plat_form_id', $plat_form_id); $this->setOutput('url', $url); $this->setOutput('display', 1); } /** * 事件:ajax翻页 */ public function doAjax() { $page = Request::varGetInt('page', 1); $cate = Request::varGetInt('cate', 1); $thisTime = time(); $objMLottery = new Lottery(); $plat_form_id = Request::g('plat_form_id'); $condition = array( 'category_id' => $cate, 'display' => LotteryEvents::EVENT_DISPLAY_SHOW, // 已发布的 'list_display' => LotteryEvents::LIST_DISPLAY_SHOW, // 列表中是否显示 'begin_time' => SqlHelper::addCompareOperator('<=', time()), 'platform_ids' => SqlHelper::addCompareOperator('&', $plat_form_id), ); $totals = $objMLottery -> getLotteryEventsListNum($condition); $order = 'begin_time desc'; $size = 10; $offset = ($page - 1) * $size; $limit = "{$offset},{$size}"; $eventsData = $allLotteryEventsIds = $objMLottery -> getLotteryEventsList($condition,$limit,$order); # 剩余天数 $TIME = time(); $objArticleLikeCounter = new ArticleLikeCounter(); foreach ($eventsData as $tmpKey => $tmpData) { $rday = ($tmpData['end_time'] - $TIME) / (24 * 60 * 60); $eventsData[$tmpKey]['rday'] = ceil($rday); # 参与人数 $objMLotteryLog = new LotteryLog ( null, $tmpData['id'] ); $eventsData[$tmpKey]['user_total'] = $objMLotteryLog->getUserParticipateLogNumGroupByUid (); if ($tmpData['type'] == 9) { # 阅读人数 $eventsData[$tmpKey]['click_num'] = $tmpData['click_num'] + ($tmpData['article_pass_base_num']?$tmpData['click_num'] + $tmpData['article_pass_base_num']:0); # 点赞人数 $eventsData[$tmpKey]['likes'] = $objArticleLikeCounter->getLikes($tmpData['id']); $eventsData[$tmpKey]['likes'] = $eventsData[$tmpKey]['likes'] + $tmpData['article_praise']; } } $this->tpl = 'ajax_list'; $data = array_fill(0, 4, 1); $this->setOutput('eventsData', $eventsData); $this->ajax_success_exit($this->render(true)); } public function display() { $this->setOutput('action', 'index'); return $this->render(); } }