/** * Deletes the data of the specified messages completely. * * @param string $pmIDs */ protected static function deleteData($pmIDs) { // delete recipients $sql = "DELETE FROM\twcf" . WCF_N . "_pm_to_user\n\t\t\tWHERE\t\tpmID IN (" . $pmIDs . ")"; WCF::getDB()->sendQuery($sql); // delete messages $sql = "DELETE FROM\twcf" . WCF_N . "_pm\n\t\t\tWHERE\t\tpmID IN (" . $pmIDs . ")"; WCF::getDB()->sendQuery($sql); // delete pm hashes $sql = "DELETE FROM\twcf" . WCF_N . "_pm_hash\n\t\t\tWHERE\t\tpmID IN (" . $pmIDs . ")"; WCF::getDB()->registerShutdownUpdate($sql); // delete attachments require_once WCF_DIR . 'lib/data/attachment/MessageAttachmentListEditor.class.php'; $attachmentList = new MessageAttachmentListEditor(explode(',', $pmIDs), 'pm', WCF::getPackageID('com.woltlab.wcf.data.message.pm')); $attachmentList->deleteAll(); }
/** * Deletes this entry. */ public function delete() { // delete solutions $sql = "DELETE FROM\twcf" . WCF_N . "_contest_solution\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete entry $sql = "DELETE FROM\twcf" . WCF_N . "_contest\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete entry to class and update class counters $this->setClasses(array()); // delete entry to participant $sql = "DELETE FROM\twcf" . WCF_N . "_contest_participant\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete entry to jury $sql = "DELETE FROM\twcf" . WCF_N . "_contest_jury\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete entry to price $sql = "DELETE FROM\twcf" . WCF_N . "_contest_price\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete entry to sponsor $sql = "DELETE FROM\twcf" . WCF_N . "_contest_sponsor\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete events $sql = "DELETE FROM\twcf" . WCF_N . "_contest_event\n\t\t\tWHERE\t\tcontestID = " . intval($this->contestID); WCF::getDB()->sendQuery($sql); // delete tags if (MODULE_TAGGING) { require_once WCF_DIR . 'lib/data/tag/TagEngine.class.php'; $taggable = TagEngine::getInstance()->getTaggable('de.easy-coding.wcf.contest.entry'); $sql = "DELETE FROM\twcf" . WCF_N . "_tag_to_object\n\t\t\t\tWHERE \t\ttaggableID = " . $taggable->getTaggableID() . "\n\t\t\t\t\t\tAND objectID = " . intval($this->contestID); WCF::getDB()->registerShutdownUpdate($sql); } // delete attachments if ($this->attachments > 0) { require_once WCF_DIR . 'lib/data/attachment/MessageAttachmentListEditor.class.php'; $attachmentList = new MessageAttachmentListEditor($this->contestID, 'contestEntry'); $attachmentList->deleteAll(); } }
/** * Deletes all posts with the given post ids. */ public static function deleteAllCompletely($postIDs, $deleteAttachments = true, $deletePolls = true, $updateUserStats = true) { if (empty($postIDs)) { return; } // delete attachments if ($deleteAttachments) { require_once WCF_DIR . 'lib/data/attachment/MessageAttachmentListEditor.class.php'; $attachment = new MessageAttachmentListEditor(explode(',', $postIDs)); $attachment->deleteAll(); } // delete polls if ($deletePolls) { require_once WCF_DIR . 'lib/data/message/poll/PollEditor.class.php'; PollEditor::deleteAll($postIDs); } // update user posts & activity points if ($updateUserStats) { self::updateUserStats($postIDs, 'delete'); } // delete sql data self::deleteData($postIDs); }