aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/Implementation
diff options
context:
space:
mode:
authorclick <none@none>2010-12-02 03:54:52 +0100
committerclick <none@none>2010-12-02 03:54:52 +0100
commitbc098658c6a6b1611ff881dd21ab113540d37935 (patch)
tree36d75973a8e61d78df426d7d1178184a736d9c96 /src/server/shared/Database/Implementation
parent0c44bd33ee7b42c924859139a9f4b04cf2b91261 (diff)
Core/Chat: Configure automatic owner declaration for custom chat channels (patch by leak)
Closes issue 4974. --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database/Implementation')
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.cpp7
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.h6
2 files changed, 13 insertions, 0 deletions
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index 92257ba9ace..1164fcceffe 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -215,5 +215,12 @@ bool CharacterDatabaseConnection::Open()
PrepareStatement(CHAR_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?");
PrepareStatement(CHAR_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)");
+ // Chat channel handling
+ PrepareStatement(CHAR_LOAD_CHANNEL, "SELECT m_announce, m_ownership, m_password, BannedList FROM channels WHERE m_name = ? AND m_team = ?");
+ PrepareStatement(CHAR_ADD_CHANNEL, "INSERT INTO channels (m_name, m_team, last_used) VALUES (? , ?, UNIX_TIMESTAMP())");
+ PrepareStatement(CHAR_SET_CHANNEL, "UPDATE channels SET m_announce = ?, m_ownership = ?, m_password = ?, BannedList = ?, last_used = UNIX_TIMESTAMP() WHERE m_name = ? AND m_team = ?");
+ PrepareStatement(CHAR_SET_CHANNEL_USAGE, "UPDATE channels SET last_used = UNIX_TIMESTAMP() WHERE m_name = ? AND m_team = ?");
+ PrepareStatement(CHAR_CLEAN_CHANNEL, "DELETE FROM channels WHERE m_ownership = 1 AND (last_used + ?) < UNIX_TIMESTAMP()");
+
return true;
}
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h
index e8fc1b64418..3346632e75d 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.h
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.h
@@ -181,6 +181,12 @@ enum CharacterDatabaseStatements
CHAR_DEL_CRESPAWNTIME,
CHAR_ADD_CRESPAWNTIME,
+ CHAR_LOAD_CHANNEL,
+ CHAR_ADD_CHANNEL,
+ CHAR_SET_CHANNEL,
+ CHAR_SET_CHANNEL_USAGE,
+ CHAR_CLEAN_CHANNEL,
+
MAX_CHARACTERDATABASE_STATEMENTS,
};