Smarter rooms (#2484)

* Added VIP only room

* Added DONATOR room.

* Extended Room to include privilege level.

* Updated room join logic

* Updated server tab permissions column display based on perm+privlevel definitions

* Fixed new client -> old server blank permissions column on server tab

Added the ability for registered user - VIP/DONATOR/PRIVILEGED room.
This commit is contained in:
woogerboy21
2017-03-22 21:45:16 -04:00
committed by Zach H
parent 317ac05919
commit 2f23a9cb2f
12 changed files with 79 additions and 33 deletions

View File

@@ -620,23 +620,9 @@ Response::ResponseCode Server_ProtocolHandler::cmdJoinRoom(const Command_JoinRoo
if (!r)
return Response::RespNameNotFound;
QString roomPermission = r->getRoomPermission().toLower();
if (roomPermission != "none"){
if (roomPermission == "registered") {
if (!(userInfo->user_level() & ServerInfo_User::IsRegistered))
return Response::RespUserLevelTooLow;
}
if (roomPermission == "moderator"){
if (!(userInfo->user_level() & ServerInfo_User::IsModerator))
return Response::RespUserLevelTooLow;
}
if (roomPermission == "administrator"){
if (!(userInfo->user_level() & ServerInfo_User::IsAdmin))
return Response::RespUserLevelTooLow;
}
}
if (!(userInfo->user_level() & ServerInfo_User::IsModerator))
if (!(r->userMayJoin(*userInfo)))
return Response::RespUserLevelTooLow;
r->addClient(this);
rooms.insert(r->getId(), r);