/* Project Starshatter 4.5 Destroyer Studios LLC Copyright © 1997-2004. All Rights Reserved. SUBSYSTEM: Stars.exe FILE: NetAdminServer.cpp AUTHOR: John DiCamillo OVERVIEW ======== HTTP Servlet Engine for Multiplayer Admin */ #include "MemDebug.h" #include "NetAdminChat.h" #include "NetLobbyServer.h" #include "NetServerConfig.h" #include "NetUser.h" #include "NetChat.h" #include "NetUtil.h" #include "HttpServlet.h" #include "NetLayer.h" #include "FormatUtil.h" // +-------------------------------------------------------------------+ NetAdminChat::NetAdminChat() { } // +-------------------------------------------------------------------+ bool NetAdminChat::DoGet(HttpRequest& request, HttpResponse& response) { if (CheckUser(request, response)) { NetLobbyServer* lobby = NetLobbyServer::GetInstance(); if (lobby) { Text msg = request.GetParam("msg"); Text act = request.GetParam("action"); if (msg.length()) { lobby->AddChat(user, msg); if (user) NetUtil::SendChat(0xffff, user->Name(), msg); } else if (act.length()) { if (act == "clear") lobby->ClearChat(); else if (act == "save") lobby->SaveChat(); } } response.SetStatus(HttpResponse::SC_OK); response.AddHeader("MIME-Version", "1.0"); response.AddHeader("Content-Type", "text/html"); response.AddHeader("Cache-Control", "no-cache"); response.AddHeader("Expires", "-1"); response.SetContent(GetHead("Chat") + GetTitleBar(GetStatLine(), "onLoad=\"self.focus();document.chatForm.msg.focus();\"") + GetContent() + GetBodyClose()); } return true; } // +-------------------------------------------------------------------+ Text NetAdminChat::GetContent() { Text content = "
\n"; int nchat = 0; NetLobbyServer* lobby = NetLobbyServer::GetInstance(); if (lobby) { content += "\n\n"; ListIter iter = lobby->GetChat(); while (++iter) { NetChatEntry* c = iter.value(); content += " \n"; } content += "
"; content += FormatTimeString(c->GetTime()); content += ""; content += c->GetUser(); content += ""; content += c->GetMessage(); content += "
\n\n"; } content += "
\n
\n\
\n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\ \n\
    
  Refresh\   ·  Save  ·  Clear
\n\
\n\
\n\n"; content += GetCopyright(); return content; }