/**
  * @see	\wcf\system\moderation\queue\activation\IModerationQueueActivationHandler::enableContent()
  */
 public function enableContent(ModerationQueue $queue)
 {
     if ($this->isValid($queue->objectID) && $this->getEntry($queue->objectID)->isDisabled) {
         $objectAction = new EntryAction(array($this->getEntry($queue->objectID)), 'enable');
         $objectAction->executeAction();
     }
 }
 public function readData()
 {
     parent::readData();
     // update entry visit
     if ($this->entry->isNew()) {
         $entryAction = new EntryAction(array($this->entry->getDecoratedObject()), 'markAsRead', array('viewableEntry' => $this->entry));
         $entryAction->executeAction();
     }
     // get author's user profile
     $this->userProfile = $this->entry->getUserProfile();
     // get comments
     $this->commentObjectTypeID = CommentHandler::getInstance()->getObjectTypeID('de.incendium.linklist.entryComment');
     $this->commentManager = CommentHandler::getInstance()->getObjectType($this->commentObjectTypeID)->getProcessor();
     $this->commentList = CommentHandler::getInstance()->getCommentList($this->commentManager, $this->commentObjectTypeID, $this->entryID);
     // get other entries by this author
     $this->userEntryList = new AccessibleEntryList();
     $this->userEntryList->enableCategoryLoading(false);
     $this->userEntryList->getConditionBuilder()->add('entry.userID = ?', array($this->entry->userID));
     $this->userEntryList->getConditionBuilder()->add('entry.entryID <> ?', array($this->entry->entryID));
     $this->userEntryList->sqlLimit = 5;
     $this->userEntryList->readObjects();
     // get tags
     if (MODULE_TAGGING) {
         $this->tags = TagEngine::getInstance()->getObjectTags('de.incendium.linklist.entry', $this->entry->entryID, array($this->entry->languageID === null ? LanguageFactory::getInstance()->getDefaultLanguageID() : ""));
     }
     // fetch likes
     if (MODULE_LIKE) {
         $objectType = LikeHandler::getInstance()->getObjectType('de.incendium.linklist.likeableEntry');
         LikeHandler::getInstance()->loadLikeObjects($objectType, array($this->entryID));
         $this->entryLikeData = LikeHandler::getInstance()->getLikeObjects($objectType);
     }
     // add breadcrumbs
     $leafCategories = $this->entry->getLeafCategories();
     $category = reset($leafCategories);
     LINKLISTCore::getInstance()->setLocation($category->getParentCategories(), $category);
     MetaTagHandler::getInstance()->addTag('og:title', 'og:title', $this->entry->subject . ' - ' . WCF::getLanguage()->get(PAGE_TITLE), true);
     MetaTagHandler::getInstance()->addTag('og:url', 'og:url', LinkHandler::getInstance()->getLink('Entry', array('application' => 'linklist', 'object' => $this->entry)), true);
     MetaTagHandler::getInstance()->addTag('og:type', 'og:type', 'article', true);
     MetaTagHandler::getInstance()->addTag('og:description', 'og:description', $this->entry->teaser, true);
     // add tags as keywords
     if (!empty($this->tags)) {
         $keywords = '';
         foreach ($this->tags as $tag) {
             if (!empty($keywords)) {
                 $keywords .= ', ';
             }
             $keywords .= $tag->name;
         }
         MetaTagHandler::getInstance()->addTag('keywords', 'keywords', $keywords);
     }
 }
 /**
  * Enables entries.
  */
 public function enable()
 {
     if (empty($this->objects)) {
         $this->readObjects();
     }
     $entriesIDs = array();
     foreach ($this->objects as $entry) {
         $entry->update(array('isDisabled' => 0));
         $entriesIDs[] = $entry->entryID;
         $this->addEntryData($entry->getDecoratedObject(), 'isDisabled', 0);
         EntryModificationLogHandler::getInstance()->enable($entry->getDecoratedObject());
     }
     // publish entries
     $entryAction = new EntryAction($this->objects, 'triggerPublication');
     $entryAction->executeAction();
     $this->removeModeratedContent($entriesIDs);
     $this->unmarkItems();
     return $this->getEntryData();
 }
 /**
  * @see	\wcf\system\moderation\queue\IModerationQueueHandler::removeContent()
  */
 public function removeContent(ModerationQueue $queue, $message)
 {
     if ($this->isValid($queue->objectID) && !$this->getEntry($queue->objectID)->isDeleted) {
         $action = new EntryAction(array($this->getEntry($queue->objectID)), 'trash', array('data' => array('reason' => $message)));
         $action->executeAction();
     }
 }