Пример #1
0
 public function updateOvertime($tid)
 {
     $overtimes = $this->_getOvertimeDs()->getOvertimeByTid($tid);
     $deltop = 0;
     $dm = new PwTopicDm($tid);
     if ($overtimes) {
         $timestamp = Pw::getTime();
         $newOvertime = 0;
         $ids = array();
         foreach ($overtimes as $v) {
             if ($v['overtime'] > $timestamp) {
                 (!$newOvertime || $newOvertime > $v['overtime']) && ($newOvertime = $v['overtime']);
             } else {
                 switch ($v['m_type']) {
                     case 'topped':
                         $dm->setTopped(0);
                         $deltop = 1;
                         break;
                     case 'highlight':
                         $dm->setHighlight('');
                         break;
                 }
                 $ids[] = $v['id'];
             }
         }
         $ids && $this->_getOvertimeDs()->batchDelete($ids);
         $dm->setOvertime($newOvertime);
     } else {
         $dm->setOvertime(0);
     }
     $this->_getThreadDs()->updateThread($dm);
     if ($deltop) {
         Wekit::load('forum.PwSpecialSort')->deleteSpecialSortByTid($tid);
     }
 }
Пример #2
0
 public function run()
 {
     $topicDm = new PwTopicDm(true);
     $topicDm->setHighlight($this->hightlight);
     $threadDs = Wekit::load('forum.PwThread');
     $threadDs->batchUpdateThread($this->tids, $topicDm, PwThread::FETCH_MAIN);
     if ($this->overtime) {
         if ($this->overids) {
             $topicDm = new PwTopicDm(true);
             $topicDm->setOvertime($this->overtime);
             $threadDs->batchUpdateThread($this->overids, $topicDm, PwThread::FETCH_MAIN);
         }
         $this->_getOvertimeDs()->batchAdd($this->tids, 'highlight', $this->overtime);
     } else {
         $this->_getOvertimeDs()->batchDeleteByTidAndType($this->tids, 'highlight');
     }
     //管理日志添加
     Wekit::load('log.srv.PwLogService')->addThreadManageLog($this->srv->user, 'highlight', $this->srv->getData(), $this->_reason, $this->overtime ? $this->overtime : '永久');
 }