/** * 添加精华 * * @param int $tid * @param array $fields * @return boolean */ public function addThreadDigest(PwThreadDigestDm $dm) { if (true !== ($r = $dm->beforeAdd())) { return $r; } return $this->_getDao()->addThread($dm->tid, $dm->getData()); }
/** * 精华处理 * * @return boolean */ private function _digest() { if (1 != $this->digest) { return Wekit::load('forum.PwThreadDigestIndex')->batchDeleteThread($this->tids); } Wind::import('SRV:forum.dm.PwThreadDigestDm'); /* @var $srv PwForumService */ $srv = Wekit::load('forum.srv.PwForumService'); $digestDms = array(); $fids = array(); $time = Pw::getTime(); foreach ($this->threads as $thread) { $_tmp = new PwThreadDigestDm($thread['tid']); if (!isset($fids[$thread['fid']])) { $fids[$thread['fid']] = $srv->getCateId($thread['fid']); } $_tmp->setCid($fids[$thread['fid']])->setFid($thread['fid'])->setCreatedTime($thread['created_time'])->setLastpostTime($thread['lastpost_time'])->setTopicType($thread['topic_type'])->setOperator($this->srv->user->username, $this->srv->user->uid, $time); $digestDms[] = $_tmp; } /* @var $digestDs PwThreadDigestIndex */ $digestDs = Wekit::load('SRV:forum.PwThreadDigestIndex'); return $digestDs->batchAddDigest($digestDms); }