/** * Updates this entry solution. * * @param string $message * @param string $state * @param array $options * @param MessageAttachmentListEditor $attachmentList */ public function update($message, $state, $options = array(), $attachmentList = null) { // get number of attachments $attachmentsAmount = $attachmentList !== null ? count($attachmentList->getAttachments($this->solutionID)) : 0; $sql = "UPDATE\twcf" . WCF_N . "_contest_solution\n\t\t\tSET\tmessage = '" . escapeString($message) . "',\n\t\t\t\tstate = '" . escapeString($state) . "',\n\t\t\t\tattachments = " . $attachmentsAmount . ",\n\t\t\t\tenableSmilies = " . (isset($options['enableSmilies']) ? $options['enableSmilies'] : 1) . ",\n\t\t\t\tenableHtml = " . (isset($options['enableHtml']) ? $options['enableHtml'] : 0) . ",\n\t\t\t\tenableBBCodes = " . (isset($options['enableBBCodes']) ? $options['enableBBCodes'] : 1) . "\n\t\t\tWHERE\tsolutionID = " . intval($this->solutionID); WCF::getDB()->sendQuery($sql); // update attachments if ($attachmentList != null) { $attachmentList->findEmbeddedAttachments($message); } }
/** * Updates this price. * * @param string $subject * @param string $message * @param string $secretMessage * @param string $state * @param MessageAttachmentListEditor $attachmentList */ public function update($subject, $message, $secretMessage, $state, $attachmentList = null) { // get number of attachments $attachments = $attachmentList !== null ? $attachmentList->getAttachments($this->priceID) : array(); $attachmentsAmount = count($attachments); $tmp = array_keys($attachments); $attachmentID = count($tmp) ? $attachments[$tmp[0]]->attachmentID : 0; $sql = "UPDATE\twcf" . WCF_N . "_contest_price\n\t\t\tSET\tsubject = '" . escapeString($subject) . "',\n\t\t\t\tmessage = '" . escapeString($message) . "',\n\t\t\t\tsecretMessage = '" . escapeString($secretMessage) . "',\n\t\t\t\tstate = '" . escapeString($state) . "',\n\t\t\t\tattachments = " . $attachmentsAmount . ",\n\t\t\t\tattachmentID = " . intval($attachmentID) . "\n\t\t\tWHERE\tpriceID = " . intval($this->priceID); WCF::getDB()->sendQuery($sql); // update attachments if ($attachmentList != null) { $attachmentList->findEmbeddedAttachments($message); } }
/** * @see Form::submit() */ public function submit() { // call submit event EventHandler::fireAction($this, 'submit'); $this->readFormParameters(); try { // attachment handling if ($this->showAttachments) { $this->attachmentListEditor->handleRequest(); } // poll handling if ($this->showPoll) { $this->pollEditor->readParams(); } // preview if ($this->preview) { require_once WCF_DIR . 'lib/data/message/bbcode/AttachmentBBCode.class.php'; AttachmentBBCode::setAttachments($this->attachmentListEditor->getSortedAttachments()); WCF::getTPL()->assign('preview', PostEditor::createPreview($this->subject, $this->text, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes)); } // send message or save as draft if ($this->send) { $this->validate(); // no errors $this->save(); } } catch (UserInputException $e) { $this->errorField = $e->getField(); $this->errorType = $e->getType(); } }
/** * @see Form::submit() */ public function submit() { // call submit event EventHandler::fireAction($this, 'submit'); try { // attachment handling if ($this->showAttachments) { $this->attachmentListEditor->handleRequest(); } // send message or save as draft if ($this->send) { $this->validate(); // no errors $this->save(); } } catch (UserInputException $e) { $this->errorField = $e->getField(); $this->errorType = $e->getType(); } }
/** * 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 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 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); }