芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/.trash/cepali/mod/forum/classes/local/entities/post.php
. /** * Post class. * * @package mod_forum * @copyright 2019 Ryan Wyllie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace mod_forum\local\entities; defined('MOODLE_INTERNAL') || die(); use stdClass; /** * Post class. * * @copyright 2019 Ryan Wyllie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class post { /** @var int $id ID */ private $id; /** @var int $discussionid The id of the discussion this post belongs to */ private $discussionid; /** @var int $parentid The id of the post that this post is replying to. Zero if it isn't a reply. */ private $parentid; /** @var int $authorid The id of user who authored the post */ private $authorid; /** @var int $timecreated Timestamp for when the post was created */ private $timecreated; /** @var int $timemodified Timestamp for when the post last modified */ private $timemodified; /** @var bool $mailed If the post has been mailed */ private $mailed; /** @var string $subject Post subject */ private $subject; /** @var string $message Post message */ private $message; /** @var int $messageformat Format of the post message */ private $messageformat; /** @var bool $messagetrust Is this a trusted message, i.e. created by a trusted user. */ private $messagetrust; /** @var bool $hasattachments Does the post have attachments */ private $hasattachments; /** @var int $totalscore Total score */ private $totalscore; /** @var bool $mailnow Should this post be mailed immediately */ private $mailnow; /** @var bool $deleted Is the post deleted */ private $deleted; /** @var int $privatereplyto The user being privately replied to */ private $privatereplyto; /** * Constructor. * * @param int $id ID * @param int $discussionid The id of the discussion this post belongs to * @param int $parentid The id of the post that this post is replying to. Zero if it isn't a reply. * @param int $authorid The id of user who authored the post * @param int $timecreated Timestamp for when the post was created * @param int $timemodified Timestamp for when the post last modified * @param bool $mailed If the post has been mailed * @param string $subject Post subject * @param string $message Post message * @param int $messageformat Format of the post message * @param bool $messagetrust Is this a trusted message, i.e. created by a trusted user. * @param bool $hasattachments Does the post have attachments * @param int $totalscore Total score * @param bool $mailnow Should this post be mailed immediately * @param bool $deleted Is the post deleted * @param int $privatereplyto Which user this reply is intended for in a private reply situation */ public function __construct( int $id, int $discussionid, int $parentid, int $authorid, int $timecreated, int $timemodified, bool $mailed, string $subject, string $message, int $messageformat, bool $messagetrust, bool $hasattachments, int $totalscore, bool $mailnow, bool $deleted, int $privatereplyto ) { $this->id = $id; $this->discussionid = $discussionid; $this->parentid = $parentid; $this->authorid = $authorid; $this->timecreated = $timecreated; $this->timemodified = $timemodified; $this->mailed = $mailed; $this->subject = $subject; $this->message = $message; $this->messageformat = $messageformat; $this->messagetrust = $messagetrust; $this->hasattachments = $hasattachments; $this->totalscore = $totalscore; $this->mailnow = $mailnow; $this->deleted = $deleted; $this->privatereplyto = $privatereplyto; } /** * Get the post id. * * @return int */ public function get_id() : int { return $this->id; } /** * Get the discussion id. * * @return int */ public function get_discussion_id() : int { return $this->discussionid; } /** * Get the id of the parent post. Returns zero if this post is not a reply. * * @return int */ public function get_parent_id() : int { return $this->parentid; } /** * Does this post have a parent? I.e. is it a reply? * * @return bool */ public function has_parent() : bool { return $this->get_parent_id() > 0; } /** * Get the id of the user that authored the post. * * @return int */ public function get_author_id() : int { return $this->authorid; } /** * Get the timestamp for when this post was created. * * @return int */ public function get_time_created() : int { return $this->timecreated; } /** * Get the timestamp for when this post was last modified. * * @return int */ public function get_time_modified() : int { return $this->timemodified; } /** * Has this post been mailed? * * @return bool */ public function has_been_mailed() : bool { return $this->mailed; } /** * Get the post subject. * * @return string */ public function get_subject() : string { return $this->subject; } /** * Get the post message. * * @return string */ public function get_message() : string { return $this->message; } /** * Get the post message format. * * @return int */ public function get_message_format() : int { return $this->messageformat; } /** * Is this a trusted message? I.e. was it authored by a trusted user? * * @return bool */ public function is_message_trusted() : bool { return $this->messagetrust; } /** * Does this post have attachments? * * @return bool */ public function has_attachments() : bool { return $this->hasattachments; } /** * Get the total score. * * @return int */ public function get_total_score() : int { return $this->totalscore; } /** * Should this post be mailed now? * * @return bool */ public function should_mail_now() : bool { return $this->mailnow; } /** * Is this post deleted? * * @return bool */ public function is_deleted() : bool { return $this->deleted; } /** * Is this post private? * * @return bool */ public function is_private_reply() : bool { return !empty($this->privatereplyto); } /** * Get the id of the user that this post was intended for. * * @return int */ public function get_private_reply_recipient_id() : int { return $this->privatereplyto; } /** * Get the post's age in seconds. * * @return int */ public function get_age() : int { return time() - $this->get_time_created(); } /** * Check if the given user authored this post. * * @param stdClass $user The user to check. * @return bool */ public function is_owned_by_user(stdClass $user) : bool { return $this->get_author_id() == $user->id; } /** * Check if the given post is a private reply intended for the given user. * * @param stdClass $user The user to check. * @return bool */ public function is_private_reply_intended_for_user(stdClass $user) : bool { return $this->get_private_reply_recipient_id() == $user->id; } }