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