public function doaddAction() { $pageid = (int) $this->getInput('pageid', 'post'); $moduleid = (int) $this->getInput('moduleid', 'post'); $isnotice = (int) $this->getInput('isnotice', 'post'); $fromid = (int) $this->getInput('fromid', 'post'); $fromtype = $this->getInput('fromtype', 'post'); $start = $this->getInput('start_time', 'post'); $end = $this->getInput('end_time', 'post'); /* 增加推送帖子到移动版start */ if ($pageid === 0 && $moduleid === 0) { //推送移动端热帖 $tid = (int) $this->getInput('tid'); $tid || $this->showError("operate.fail"); // $this->forwardRedirect(WindUrlHelper::createUrl('native/dynamic/sethot')); $threadsWeightDao = Wekit::loadDao('native.dao.PwThreadsWeightDao'); //获取帖子最高权重,将其作为管理员推送帖子的初始权重置顶 $weightData = $threadsWeightDao->getMaxWeight(); isset($weightData['weight']) ? $max_weight = intval($weightData['weight']) + 1 : 1; // $data = array('create_time' => time(), 'weight' => $max_weight, 'create_userid' => $this->loginUser->uid, 'create_username' => $this->loginUser->username, 'tid' => $tid); $threadWeight = $threadsWeightDao->getByTid($tid); if ($threadWeight) { //更新数据 $res = $threadsWeightDao->updateValue($data); } else { //新增数据 $res = $threadsWeightDao->insertValue($data); } if ($res) { $thread = Wekit::load('forum.PwThread')->getThread($tid); $push_msg = '《' . $thread['subject'] . '》已被推荐热贴'; Wekit::load("APPS:native.service.PwLaiWangSerivce"); PwLaiWangSerivce::pushMessage($thread['created_userid'], $push_msg, $push_msg); // $this->showMessage('NATIVE:sethot.success'); } else { $this->showMessage('NATIVE:sethot.failed'); } } /* 增加推送帖子到移动版end */ if ($moduleid < 1) { $this->showError("operate.fail"); } $permiss = $this->_getPermissionsService()->getPermissionsForModule($this->loginUser->uid, $moduleid, $pageid); $pushService = $this->_getPushService(); $data = $pushService->getDataByFromid($fromtype, $fromid); Wind::import('SRV:design.bo.PwDesignModuleBo'); $bo = new PwDesignModuleBo($moduleid); $time = Pw::getTime(); $startTime = $start ? Pw::str2time($start) : $time; $endTime = $end ? Pw::str2time($end) : $end; if ($end && $endTime < $time) { $this->showError("DESIGN:endtimd.error"); } $pushDs = $this->_getPushDs(); Wind::import('SRV:design.dm.PwDesignPushDm'); $dm = new PwDesignPushDm(); $dm->setFromid($fromid)->setModuleId($moduleid)->setCreatedUserid($this->loginUser->uid)->setCreatedTime($time)->setStartTime($startTime)->setEndTime($endTime)->setAuthorUid($data['uid']); if ($isnotice) { $dm->setNeedNotice(1); } if ($permiss <= PwDesignPermissions::NEED_CHECK) { $dm->setStatus(PwDesignPush::NEEDCHECK); $isdata = false; } else { $isdata = true; } $resource = $pushService->addPushData($dm); if ($resource instanceof PwError) { $this->showError($resource->getError()); } if ($isdata) { $pushService->pushToData((int) $resource); $pushService->afterPush((int) $resource); } $this->showMessage("operate.success"); }
/** * 管理员设置最热帖子 * @access public * @return void <pre> /index.php?m=native&c=dynamic&a=sethot&_json=1 post: tid=1&starttime=2011-1-1&endtime=2016-1-1 response: {err:"",data:""} </pre> */ public function setHotAction() { $tid = $this->getInput('tid'); $tid = (int) $tid; if ($this->uid && $tid && array_search(3, $this->loginUser->groups) !== false) { $threadsWeightDao = Wekit::loadDao('native.dao.PwThreadsWeightDao'); //获取帖子最高权重,将其作为管理员推送帖子的初始权重置顶 $weightData = $threadsWeightDao->getMaxWeight(); isset($weightData['weight']) ? $max_weight = intval($weightData['weight']) + 1 : 1; // $data = array('create_time' => time(), 'weight' => $max_weight, 'create_userid' => $this->uid, 'create_username' => $this->loginUser->username, 'tid' => $tid); $threadWeight = $threadsWeightDao->getByTid($tid); if ($threadWeight) { //更新数据 $res = $threadsWeightDao->updateValue($data); } else { //新增数据 $res = $threadsWeightDao->insertValue($data); } if ($res) { $thread = Wekit::load('forum.PwThread')->getThread($tid); $push_msg = '《' . $thread['subject'] . '》已被推荐热贴'; PwLaiWangSerivce::pushMessage($thread['created_userid'], $push_msg, $push_msg); // $this->showMessage('NATIVE:sethot.success'); } else { $this->showMessage('NATIVE:sethot.failed'); } } else { //传参有误 $this->showError('NATIVE:args.error'); } $this->showError('fail'); }