public function execute(Cronjob $cronjob) { parent::execute($cronjob); $list = new NewsList(); $list->getConditionBuilder()->add('isDisabled = ?', array(1)); $list->getConditionBuilder()->add('time <= ?', array(TIME_NOW)); $list->readObjects(); $list = $list->getObjects(); $action = new NewsAction($list, 'publish'); $action->executeAction(); }
public function prepare(array $events) { $objectIDs = array(); foreach ($events as $event) { $objectIDs[] = $event->objectID; } // comments $commentList = new CommentList(); $commentList->getConditionBuilder()->add("comment.commentID IN (?)", array($objectIDs)); $commentList->readObjects(); $comments = $commentList->getObjects(); // get news $newsIDs = array(); foreach ($comments as $comment) { $newsIDs[] = $comment->objectID; } $list = new NewsList(); $list->getConditionBuilder()->add("news.newsID IN (?)", array($newsIDs)); $list->readObjects(); $newss = $list->getObjects(); foreach ($events as $event) { if (isset($comments[$event->objectID])) { $comment = $comments[$event->objectID]; if (isset($newss[$comment->objectID])) { $news = $newss[$comment->objectID]; $text = WCF::getLanguage()->getDynamicVariable('wcf.user.profile.recentActivity.newsComment', array('news' => $news)); $event->setTitle($text); $event->setDescription($comment->getFormattedMessage()); $event->setIsAccessible(); } } else { $event->setIsOrphaned(); } } }