/** * Marks a list of moderation queue entries as done. * * @param integer $objectTypeID * @param array<integer> $objectIDs */ protected function removeEntries($objectTypeID, array $objectIDs) { $queueList = new ModerationQueueList(); $queueList->getConditionBuilder()->add("moderation_queue.objectTypeID = ?", array($objectTypeID)); $queueList->getConditionBuilder()->add("moderation_queue.objectID IN (?)", array($objectIDs)); $queueList->readObjects(); if (count($queueList)) { $objectAction = new ModerationQueueAction($queueList->getObjects(), 'markAsDone'); $objectAction->executeAction(); } }
/** * Forces the update of non-tracked queues for this user. */ protected function forceUserAssignment() { $queueList = new ModerationQueueList(); $queueList->sqlJoins = "LEFT JOIN wcf" . WCF_N . "_moderation_queue_to_user moderation_queue_to_user ON (moderation_queue_to_user.queueID = moderation_queue.queueID AND moderation_queue_to_user.userID = " . WCF::getUser()->userID . ")"; $queueList->getConditionBuilder()->add("moderation_queue_to_user.queueID IS NULL"); $queueList->readObjects(); if (count($queueList)) { $queues = array(); foreach ($queueList as $queue) { if (!isset($queues[$queue->objectTypeID])) { $queues[$queue->objectTypeID] = array(); } $queues[$queue->objectTypeID][$queue->queueID] = $queue; } foreach ($this->objectTypeNames as $definitionName => $objectTypeIDs) { foreach ($objectTypeIDs as $objectTypeID) { if (isset($queues[$objectTypeID])) { $this->moderationTypes[$definitionName]->getProcessor()->assignQueues($objectTypeID, $queues[$objectTypeID]); } } } } }
/** * Returns the name of the database table alias. * * @return string */ public function getDatabaseTableAlias() { return parent::getDatabaseTableAlias() . '_to_user'; }