class WebAdmin expands WebApplication config; var globalconfig string AdminRealm; var globalconfig string AdminUsername; var globalconfig string AdminPassword; var ServerAdds ServerAddsA; var int iEmptyIndex; event Init() { Super.Init(); GetServerAddsA(); } function GetServerAddsA() { local ServerAdds A; foreach Level.AllActors( class'ServerAdds', A ) { if (String(A.Class) == "MonsterHunt2GoldCE.ServerAdds") { ServerAddsA = A; Log("[~] ServerAdds actor found"); } } if (ServerAddsA == none) Log("[E] ServerAdds actor NOT found !"); } function FillMessageList(WebResponse Response) { local int i; for (i = 0; i < ServerAddsA.nLines; i++) { if (ServerAddsA.sLines[i] != "") { Response.SendText(""); } else if (iEmptyIndex == 255) iEmptyIndex = i; } } function configUpdate(WebRequest Request, WebResponse Response) { if (ServerAddsA.fDelay != float(Request.GetVariable("fDelay"))) { ServerAddsA.fDelay = float(Request.GetVariable("fDelay")); ServerAddsA.UpdateTimer(); } ServerAddsA.iRepeat = int(Request.GetVariable("iRepeat")); ServerAddsA.iGroupSize = int(Request.GetVariable("iGroupSize")); ServerAddsA.bDontWrapList = (caps(Request.GetVariable("bDontWrapList")) == "TRUE"); ServerAddsA.iAddType = int(Request.GetVariable("iAddType")); ServerAddsA.bEnabled = (caps(Request.GetVariable("bEnabled")) == "TRUE"); ServerAddsA.StaticSaveConfig(); ServerAddsA.SaveConfig(); } function configDelete(WebRequest Request, WebResponse Response) { local string tmp; local int index,i; tmp = Request.GetVariable("sLines"); if (tmp == "") return; index = int(tmp); for (i = index; i < (ServerAddsA.nLines-1); i++) { ServerAddsA.sLines[i] = ServerAddsA.sLines[i+1]; } ServerAddsA.StaticSaveConfig(); ServerAddsA.SaveConfig(); } function configAdd(WebRequest Request, WebResponse Response) { local string tmp; local int index,i; tmp = Request.GetVariable("iInsertIndex"); if (tmp == "") return; index = int(tmp); if ((index >= 25) || (index < 0)) return; for (i = (ServerAddsA.nLines-2); i > (index-1); i--) { ServerAddsA.sLines[i+1] = ServerAddsA.sLines[i]; } ServerAddsA.sLines[index] = Request.GetVariable("sNewLine"); ServerAddsA.StaticSaveConfig(); ServerAddsA.SaveConfig(); } event Query(WebRequest Request, WebResponse Response) { local string sUpdate, sDelete, sAdd; if ((AdminUsername != "" && Caps(Request.Username) != Caps(AdminUsername)) || (AdminPassword != "" && Caps(Request.Password) != Caps(AdminPassword))) { Response.FailAuthentication(AdminRealm); return; } if (ServerAddsA != none) { iEmptyIndex = 255; sUpdate = Request.GetVariable("Update"); sDelete = Request.GetVariable("Delete"); sAdd = Request.GetVariable("Add"); if (caps(sUpdate) == "UPDATE") configUpdate( Request, Response); if (caps(sDelete) == "DELETE") configDelete( Request, Response); if (caps(sAdd) == "ADD") configAdd( Request, Response); Response.SendText("