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();
         }
     }
 }