18#ifndef TRINITY_CALENDARMGR_H
19#define TRINITY_CALENDARMGR_H
141#define CALENDAR_DEFAULT_RESPONSE_TIME 946684800
147 _invitee(calendarInvite.GetInviteeGUID()), _senderGUID(calendarInvite.GetSenderGUID()), _responseTime(calendarInvite.GetResponseTime()),
148 _status(calendarInvite.GetStatus()), _rank(calendarInvite.GetRank()), _note(calendarInvite.GetNote())
156 _inviteId(inviteId), _eventId(eventId), _invitee(invitee), _senderGUID(senderGUID), _responseTime(responseTime),
157 _status(status), _rank(rank), _note(
std::move(note)) { }
182 void SetNote(std::string
const& note) { _note = note; }
206 _eventGuildId(calendarEvent.GetGuildId()), _eventType(calendarEvent.GetType()), _textureId(calendarEvent.GetTextureId()),
207 _date(calendarEvent.GetDate()), _flags(calendarEvent.GetFlags()), _title(calendarEvent.GetTitle()), _description(calendarEvent.GetDescription()),
208 _lockDate(calendarEvent.GetLockDate()) { }
211 time_t date,
uint32 flags, std::string title, std::string description, time_t lockDate) :
212 _eventId(eventId), _ownerGUID(ownerGUID), _eventGuildId(guildId), _eventType(type), _textureId(textureId),
213 _date(date), _flags(
flags), _title(
std::move(title)), _description(
std::move(description)), _lockDate(lockDate) { }
216 _flags(0), _title(), _description(), _lockDate(0) { }
235 void SetTitle(std::string
const& title) { _title = title; }
238 void SetDescription(std::string
const& description) { _description = description; }
263 std::string BuildCalendarMailSubject(
ObjectGuid remover)
const;
264 std::string BuildCalendarMailBody(
Player const* invitee)
const;
318 void FreeEventId(
uint64 id);
320 void FreeInviteId(
uint64 id);
323 void DeleteOldEvents();
336 void RemoveAllPlayerEventsAndInvites(
ObjectGuid guid);
344 void SendCalendarEventUpdateAlert(
CalendarEvent const& calendarEvent, time_t originalDate)
const;
346 void SendCalendarEventRemovedAlert(
CalendarEvent const& calendarEvent)
const;
348 void SendCalendarClearPendingAction(
ObjectGuid guid)
const;
352 std::vector<Player*> GetAllEventRelatives(
CalendarEvent const& calendarEvent)
const;
355#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)