18#ifndef TRINITY_CALENDARMGR_H
19#define TRINITY_CALENDARMGR_H
141#define CALENDAR_DEFAULT_RESPONSE_TIME 946684800
148 _inviteId = inviteId;
154 _rank = calendarInvite.
GetRank();
155 _note = calendarInvite.
GetNote();
162 _inviteId(inviteId), _eventId(eventId), _invitee(invitee), _senderGUID(senderGUID), _responseTime(responseTime),
163 _status(status), _rank(rank), _note(
std::move(note)) { }
188 void SetNote(std::string
const& note) { _note = note; }
216 _eventType = calendarEvent.
GetType();
218 _date = calendarEvent.
GetDate();
226 time_t date,
uint32 flags, std::string title, std::string description, time_t lockDate) :
227 _eventId(eventId), _ownerGUID(ownerGUID), _eventGuildId(guildId), _eventType(type), _textureId(textureId),
228 _date(date), _flags(
flags), _title(
std::move(title)), _description(
std::move(description)), _lockDate(lockDate) { }
231 _flags(0), _title(), _description(), _lockDate(0) { }
250 void SetTitle(std::string
const& title) { _title = title; }
253 void SetDescription(std::string
const& description) { _description = description; }
278 std::string BuildCalendarMailSubject(
ObjectGuid remover)
const;
279 std::string BuildCalendarMailBody(
Player const* invitee)
const;
333 void FreeEventId(
uint64 id);
335 void FreeInviteId(
uint64 id);
338 void DeleteOldEvents();
351 void RemoveAllPlayerEventsAndInvites(
ObjectGuid guid);
359 void SendCalendarEventUpdateAlert(
CalendarEvent const& calendarEvent, time_t originalDate)
const;
361 void SendCalendarEventRemovedAlert(
CalendarEvent const& calendarEvent)
const;
363 void SendCalendarClearPendingAction(
ObjectGuid guid)
const;
367 std::vector<Player*> GetAllEventRelatives(
CalendarEvent const& calendarEvent)
const;
370#define sCalendarMgr CalendarMgr::instance()
std::set< CalendarEvent * > CalendarEventStore
@ CALENDAR_ERROR_INTERNAL
@ CALENDAR_ERROR_INVALID_SIGNUP
@ CALENDAR_ERROR_NO_INVITE
@ CALENDAR_ERROR_SYSTEM_DISABLED
@ CALENDAR_ERROR_EVENT_PASSED
@ CALENDAR_ERROR_NOT_INVITED
@ CALENDAR_ERROR_EVENT_LOCKED
@ CALENDAR_ERROR_ARENA_EVENTS_EXCEEDED
@ CALENDAR_ERROR_OTHER_INVITES_EXCEEDED
@ CALENDAR_ERROR_SELF_INVITES_EXCEEDED
@ CALENDAR_ERROR_NOT_ALLIED
@ CALENDAR_ERROR_PERMISSIONS
@ CALENDAR_ERROR_EVENTS_EXCEEDED
@ CALENDAR_ERROR_NO_GUILD_INVITES
@ CALENDAR_ERROR_INVALID_DATE
@ CALENDAR_ERROR_NEEDS_TITLE
@ CALENDAR_ERROR_RESTRICTED_LEVEL
@ CALENDAR_ERROR_DELETE_CREATOR_FAILED
@ CALENDAR_ERROR_GUILD_EVENTS_EXCEEDED
@ CALENDAR_ERROR_NO_MODERATOR
@ CALENDAR_ERROR_INVITE_WRONG_SERVER
@ CALENDAR_ERROR_ALREADY_INVITED_TO_EVENT_S
@ CALENDAR_ERROR_INVITES_EXCEEDED
@ CALENDAR_ERROR_INVALID_TIME
@ CALENDAR_ERROR_EVENT_WRONG_SERVER
@ CALENDAR_ERROR_RESTRICTED_ACCOUNT
@ CALENDAR_ERROR_IGNORING_YOU_S
@ CALENDAR_ERROR_USER_SQUELCHED
@ CALENDAR_ERROR_PLAYER_NOT_FOUND
@ CALENDAR_ERROR_EVENT_INVALID
@ CALENDAR_ERROR_GUILD_PLAYER_NOT_IN_GUILD
@ CALENDAR_REPEAT_BIWEEKLY
@ CALENDAR_REPEAT_MONTHLY
@ CALENDAR_RANK_MODERATOR
@ CALENDAR_FLAG_WITHOUT_INVITES
@ CALENDAR_FLAG_INVITES_LOCKED
@ CALENDAR_FLAG_GUILD_EVENT
@ CALENDAR_FLAG_ALL_ALLOWED
std::vector< CalendarInvite * > CalendarInviteStore
@ CALENDAR_EVENT_REMOVED_MAIL_SUBJECT
@ CALENDAR_INVITE_REMOVED_MAIL_SUBJECT
@ CALENDAR_STATUS_TENTATIVE
@ CALENDAR_STATUS_NOT_SIGNED_UP
@ CALENDAR_STATUS_STANDBY
@ CALENDAR_STATUS_INVITED
@ CALENDAR_STATUS_ACCEPTED
@ CALENDAR_STATUS_SIGNED_UP
@ CALENDAR_STATUS_REMOVED
@ CALENDAR_STATUS_DECLINED
@ CALENDAR_STATUS_CONFIRMED
std::map< uint64, CalendarInviteStore > CalendarEventInviteStore
@ CALENDAR_OLD_EVENTS_DELETION_TIME
@ CALENDAR_MAX_GUILD_EVENTS
@ CALENDAR_CREATE_EVENT_COOLDOWN
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
CalendarEventInviteStore _invites
CalendarEventStore const & GetEvents() const
std::deque< uint64 > _freeEventIds
CalendarEventStore _events
CalendarMgr & operator=(CalendarMgr const &)=delete
CalendarEventInviteStore const & GetInvites() const
CalendarMgr(CalendarMgr &&)=delete
std::deque< uint64 > _freeInviteIds
CalendarMgr(CalendarMgr const &)=delete
CalendarMgr & operator=(CalendarMgr &&)=delete
void SetType(CalendarEventType eventType)
bool IsGuildAnnouncement() const
CalendarEvent(CalendarEvent const &calendarEvent, uint64 eventId)
CalendarEventType GetType() const
ObjectGuid GetOwnerGUID() const
CalendarEventType _eventType
bool IsGuildEvent() const
void SetEventId(uint64 eventId)
uint64 GetEventId() const
void SetDescription(std::string const &description)
ObjectGuid::LowType GetGuildId() const
void SetTitle(std::string const &title)
void SetLockDate(time_t lockDate)
int32 GetTextureId() const
CalendarEvent(CalendarEvent const &)=delete
CalendarEvent & operator=(CalendarEvent const &)=delete
ObjectGuid::LowType _eventGuildId
void SetGuildId(ObjectGuid::LowType guildId)
CalendarEvent(CalendarEvent &&)=delete
time_t GetLockDate() const
std::string GetTitle() const
void SetTextureId(int32 textureId)
static bool IsGuildEvent(uint32 flags)
std::string GetDescription() const
static bool IsGuildAnnouncement(uint32 flags)
CalendarEvent & operator=(CalendarEvent &&)=delete
CalendarEvent(uint64 eventId, ObjectGuid ownerGUID, ObjectGuid::LowType guildId, CalendarEventType type, int32 textureId, time_t date, uint32 flags, std::string title, std::string description, time_t lockDate)
void SetDate(time_t date)
void SetOwnerGUID(ObjectGuid guid)
void SetFlags(uint32 flags)
void SetStatus(CalendarInviteStatus status)
CalendarModerationRank GetRank() const
CalendarInvite & operator=(CalendarInvite &&)=delete
void SetRank(CalendarModerationRank rank)
CalendarModerationRank _rank
CalendarInviteStatus GetStatus() const
CalendarInvite(CalendarInvite const &)=delete
uint64 GetInviteId() const
CalendarInvite(CalendarInvite const &calendarInvite, uint64 inviteId, uint64 eventId)
void SetSenderGUID(ObjectGuid guid)
void SetResponseTime(time_t responseTime)
void SetNote(std::string const ¬e)
void SetInvitee(ObjectGuid guid)
std::string GetNote() const
void SetInviteId(uint64 inviteId)
time_t GetResponseTime() const
CalendarInvite & operator=(CalendarInvite const &)=delete
uint64 GetEventId() const
CalendarInvite(uint64 inviteId, uint64 eventId, ObjectGuid invitee, ObjectGuid senderGUID, time_t responseTime, CalendarInviteStatus status, CalendarModerationRank rank, std::string note)
CalendarInvite(CalendarInvite &&)=delete
ObjectGuid GetSenderGUID() const
CalendarInviteStatus _status
ObjectGuid GetInviteeGUID() const
void SetEventId(uint64 eventId)