/**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // get pm ids
     switch ($this->folderID) {
         // outbox
         case PMFolderList::FOLDER_OUTBOX:
             $sql = "SELECT\t\tpmID \n\t\t\t\t\tFROM \t\twcf" . WCF_N . "_pm\n\t\t\t\t\tWHERE \t\tuserID = " . WCF::getUser()->userID . "\n\t\t\t\t\t\t\tAND saveInOutbox = 1";
             break;
             // drafts
         // drafts
         case PMFolderList::FOLDER_DRAFTS:
             $sql = "SELECT\t\tpmID \n\t\t\t\t\tFROM \t\twcf" . WCF_N . "_pm\n\t\t\t\t\tWHERE \t\tuserID = " . WCF::getUser()->userID . "\n\t\t\t\t\t\t\tAND isDraft = 1";
             break;
             // trash
         // trash
         case PMFolderList::FOLDER_TRASH:
             $sql = "SELECT\t\tpmID\n\t\t\t\t\tFROM\t\twcf" . WCF_N . "_pm_to_user\n\t\t\t\t\tWHERE\t\trecipientID = " . WCF::getUser()->userID . "\n\t\t\t\t\t\t\tAND isDeleted = 1";
             break;
             // inbox & own folders
         // inbox & own folders
         default:
             $sql = "SELECT\t\tpmID\n\t\t\t\t\tFROM\t\twcf" . WCF_N . "_pm_to_user\n\t\t\t\t\tWHERE\t\trecipientID = " . WCF::getUser()->userID . "\n\t\t\t\t\t\t\tAND isDeleted = 0\n\t\t\t\t\t\t\tAND folderID = " . $this->folderID;
     }
     $pmIDArray = array();
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         $pmIDArray[] = $row['pmID'];
     }
     // update session
     $markedMessages = PMAction::getMarkedMessages();
     if ($markedMessages == null || !is_array($markedMessages)) {
         WCF::getSession()->register('markedPMs', $pmIDArray);
     } else {
         $update = false;
         foreach ($pmIDArray as $pmID) {
             if (!in_array($pmID, $markedMessages)) {
                 array_push($markedMessages, $pmID);
                 $update = true;
             }
         }
         if ($update) {
             WCF::getSession()->register('markedPMs', $markedMessages);
         }
     }
     WCF::getSession()->update();
     WCF::getSession()->disableUpdate(true);
     $this->executed();
     HeaderUtil::redirect('index.php?page=PMList&folderID=' . $this->folderID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }