MCPcopy Create free account
hub / github.com/EQEmu/EQEmu / ExpireMail

Method ExpireMail

ucs/database.cpp:624–680  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

622}
623
624void UCSDatabase::ExpireMail()
625{
626
627 LogInfo("Expiring mail");
628
629 std::string query = "SELECT COUNT(*) FROM `mail`";
630 auto results = QueryDatabase(query);
631 if (!results.Success()) {
632 return;
633 }
634
635 auto row = results.begin();
636
637 LogInfo("There are [{}] messages in the database", row[0]);
638
639 /**
640 * Expire trash
641 */
642 if (RuleI(Mail, ExpireTrash) >= 0) {
643 query = StringFormat(
644 "DELETE FROM `mail` WHERE `status`=4 AND `timestamp` < %i",
645 time(nullptr) - RuleI(Mail, ExpireTrash));
646 results = QueryDatabase(query);
647 if (results.Success()) {
648 LogInfo("Expired [{}] trash messages", results.RowsAffected());
649 }
650 }
651
652 /**
653 * Expire read
654 */
655 if (RuleI(Mail, ExpireRead) >= 0) {
656 query = StringFormat(
657 "DELETE FROM `mail` WHERE `status` = 3 AND `timestamp` < %i",
658 time(nullptr) - RuleI(Mail, ExpireRead)
659 );
660
661 results = QueryDatabase(query);
662 if (results.Success())
663 LogInfo("Expired [{}] read messages", results.RowsAffected());
664 }
665
666 /**
667 * Expire unread
668 */
669 if (RuleI(Mail, ExpireUnread) >= 0) {
670 query = StringFormat(
671 "DELETE FROM `mail` WHERE `status`=1 AND `timestamp` < %i",
672 time(nullptr) - RuleI(Mail, ExpireUnread)
673 );
674
675 results = QueryDatabase(query);
676 if (results.Success()) {
677 LogInfo("Expired [{}] unread messages", results.RowsAffected());
678 }
679 }
680}
681

Callers 1

mainFunction · 0.80

Calls 4

StringFormatFunction · 0.85
SuccessMethod · 0.80
beginMethod · 0.45
RowsAffectedMethod · 0.45

Tested by

no test coverage detected