void Channel::_UpdateBanListInDB() const { // save banlist if (m_IsSaved) { std::ostringstream banlist; BannedList::const_iterator iter; for (iter = banned.begin(); iter != banned.end(); ++iter) banlist << (*iter) << " "; std::string banListStr = banlist.str(); if (_UpdateStringInDB("BannedList", banListStr)) sLog.outDebug("Channel(%s) BannedList saved", m_name.c_str()); } }
void Channel::Password(uint64 p, const char *pass) { std::string plName; uint32 sec = 0; Player *plr = sObjectMgr.GetPlayer(p); if (plr) sec = plr->GetSession()->GetSecurity(); ChatHandler chat(plr); if (!m_public && sec <= SEC_MODERATOR) { plName = plr->GetName(); normalizePlayerName(plName); chat.PSendSysMessage(LANG_CHANNEL_NOT_PUBLIC); return; } if (!IsOn(p)) { WorldPacket data; MakeNotMember(&data); SendToOne(&data, p); } else if (!players[p].IsModerator() && sec < SEC_GAMEMASTER) { WorldPacket data; MakeNotModerator(&data); SendToOne(&data, p); } else { m_password = pass; WorldPacket data; MakePasswordChanged(&data, p); SendToAll(&data); if (m_IsSaved && _UpdateStringInDB("m_password", m_password)) sLog.outDebug("Channel(%s) password saved", m_name.c_str()); } }