예제 #1
0
 public function isSilenced()
 {
     if (!$this->silenceID) {
         return false;
     }
     $ActiveSilence = new Silence($this->silenceID);
     if ($ActiveSilence->isEnabled()) {
         $this->ActiveSilence = $ActiveSilence;
         return true;
     } else {
         return false;
     }
 }
예제 #2
0
             $postboxopen = false;
             $viewthread = $new['id'];
         } catch (Exception $e) {
             $messageproblem = $e->getMessage();
             $postboxopen = true;
         }
     }
 } else {
     // To a thread
     $threadDetails = $DB->sql_hash("SELECT f.id, f.latestReplySent, \r\n\t\t\t\t\t\tf.silenceID,\r\n\t\t\t\t\t\tsilence.userID as silenceUserID,\r\n\t\t\t\t\t\tsilence.postID as silencePostID,\r\n\t\t\t\t\t\tsilence.moderatorUserID as silenceModeratorUserID,\r\n\t\t\t\t\t\tsilence.enabled as silenceEnabled,\r\n\t\t\t\t\t\tsilence.startTime as silenceStartTime,\r\n\t\t\t\t\t\tsilence.length as silenceLength,\r\n\t\t\t\t\t\tsilence.reason as silenceReason\r\n\t\t\t\t\tFROM wD_ForumMessages f \r\n\t\t\t\t\tLEFT JOIN wD_Silences silence ON ( f.silenceID = silence.id )\r\n\t\t\t\t\tWHERE f.id=" . $new['sendtothread'] . "\r\n\t\t\t\t\t\tAND f.type='ThreadStart'");
     unset($messageproblem);
     if ($threadDetails['latestReplySent'] < $Misc->ThreadAliveThreshold) {
         $messageproblem = l_t("The thread you are attempting to reply to is too old, and has expired.");
     } elseif (Silence::isSilenced($threadDetails)) {
         $silence = new Silence($threadDetails);
         if ($silence->isEnabled()) {
             $messageproblem = l_t("The thread you are attempting to reply to has been silenced; ") . $silence->reason;
         }
         unset($silence);
     }
     if (isset($threadDetails['id']) && !isset($messageproblem)) {
         // It's being sent to an existing, non-silenced / dated thread.
         try {
             $new['id'] = Message::send($new['sendtothread'], $User->id, $new['message'], '', 'ThreadReply');
             $_SESSION['lastPostText'] = $new['message'];
             $_SESSION['lastPostTime'] = time();
             $_SESSION['lastPostType'] = 'ThreadReply';
             header("Location: " . $_SERVER['REQUEST_URI'] . '&reply=success');
         } catch (Exception $e) {
             $messageproblem = $e->getMessage();
         }
예제 #3
0
 public function changeSilenceLength(array $params)
 {
     $silence = new Silence($params['silenceID']);
     $previousLength = $silence->length;
     // This function will validate the given length and check that it's not a post silence
     $silence->changeLength($params['length']);
     if (!$silence->isEnabled()) {
         // Don't look for changes to posts, because they will not be affected by length changes
         self::setNextActiveUserSilence($silence->id);
     }
     return l_t('%s changed from <i>%s</i> to <i>%s</i>.', $silence->toString(), Silence::printLength($previousLength), Silence::printLength($silence->length));
 }