/** * Marks messages. * * @param mixed $pmIDs */ public static function mark($pmIDs) { if (!is_array($pmIDs)) { $pmIDs = array($pmIDs); } // check permission foreach ($pmIDs as $pmID) { $pm = new PMEditor($pmID); if (!$pm->hasAccess()) { throw new PermissionDeniedException(); } } $markedMessages = self::getMarkedMessages(); if ($markedMessages == null || !is_array($markedMessages)) { WCF::getSession()->register('markedPMs', $pmIDs); } else { $update = false; foreach ($pmIDs as $pmID) { if (!in_array($pmID, $markedMessages)) { array_push($markedMessages, $pmID); $update = true; } } if ($update) { WCF::getSession()->register('markedPMs', $markedMessages); } } }