/** * Settings handled for the server's Welcome Page. * * Copyright (C) 2011 Tripwire Interactive LLC * * @author Michiel 'elmuerte' Hendriks */ class WelcomeSettings extends WebAdminSettings implements(IAdvWebAdminSettings); `include(WebAdmin.uci) `if(`WITH_WELCOME_SETTINGS) var KFGameInfo gameinfo; function setCurrentGameInfo(GameInfo instance) { gameinfo = KFGameInfo(instance); } function cleanupSettings() { gameinfo = none; super.cleanupSettings(); } function advInitSettings(WorldInfo worldinfo, DataStoreCache dscache); function bool advSaveSettings(WebRequest request, WebAdminMessages messages) { class'KFGameInfo'.default.BannerLink = request.GetVariable("BannerLink", ""); class'KFGameInfo'.default.ClanMotto = Repl(Repl(request.GetVariable("ClanMotto", ""), Chr(10), "@nl@"), Chr(13), ""); class'KFGameInfo'.default.ClanMottoColor = class'WebAdminUtils'.static.HTMLColorToColor(request.GetVariable("ClanMottoColor", "")); class'KFGameInfo'.default.ServerMOTD = Repl(Repl(request.GetVariable("ServerMOTD", ""), Chr(10), "@nl@"), Chr(13), ""); class'KFGameInfo'.default.ServerMOTDColor = class'WebAdminUtils'.static.HTMLColorToColor(request.GetVariable("ServerMOTDColor", "")); class'KFGameInfo'.default.WebSiteLink = request.GetVariable("WebLink", ""); class'KFGameInfo'.default.WebLinkColor = class'WebAdminUtils'.static.HTMLColorToColor(request.GetVariable("WebLinkColor", "")); class'KFGameInfo'.static.StaticSaveConfig(); if (gameinfo != none) { gameinfo.BannerLink = class'KFGameInfo'.default.BannerLink; gameinfo.ClanMotto = class'KFGameInfo'.default.ClanMotto; gameinfo.ClanMottoColor = class'KFGameInfo'.default.ClanMottoColor; gameinfo.ServerMOTD = class'KFGameInfo'.default.ServerMOTD; gameinfo.ServerMOTDColor = class'KFGameInfo'.default.ServerMOTDColor; gameinfo.WebSiteLink = class'KFGameInfo'.default.WebSiteLink; gameinfo.WebLinkColor = class'KFGameInfo'.default.WebLinkColor; gameinfo.SaveConfig(); } return true; } function advRenderSettings(WebResponse response, SettingsRenderer renderer, optional string substName = "settings", optional ISettingsPrivileges privileges) { if (gameinfo != none) { response.Subst("BannerLink", gameinfo.BannerLink); response.Subst("ClanMotto", repl(gameinfo.ClanMotto, "@nl@", chr(10))); response.Subst("ClanMottoColor", class'WebAdminUtils'.static.ColorToHTMLColor(gameinfo.ClanMottoColor)); response.Subst("ServerMOTD", repl(gameinfo.ServerMOTD, "@nl@", chr(10))); response.Subst("ServerMOTDColor", class'WebAdminUtils'.static.ColorToHTMLColor(gameinfo.ServerMOTDColor)); response.Subst("WebLink", gameinfo.WebSiteLink); response.Subst("WebLinkColor", class'WebAdminUtils'.static.ColorToHTMLColor(gameinfo.WebLinkColor)); } else { response.Subst("BannerLink", class'KFGameInfo'.default.BannerLink); response.Subst("ClanMotto", repl(class'KFGameInfo'.default.ClanMotto, "@nl@", chr(10))); response.Subst("ClanMottoColor", class'WebAdminUtils'.static.ColorToHTMLColor(class'KFGameInfo'.default.ClanMottoColor)); response.Subst("ServerMOTD", repl(class'KFGameInfo'.default.ServerMOTD, "@nl@", chr(10))); response.Subst("ServerMOTDColor", class'WebAdminUtils'.static.ColorToHTMLColor(class'KFGameInfo'.default.ServerMOTDColor)); response.Subst("WebLink", class'KFGameInfo'.default.WebSiteLink); response.Subst("WebLinkColor", class'WebAdminUtils'.static.ColorToHTMLColor(class'KFGameInfo'.default.WebLinkColor)); } } `else function advInitSettings(WorldInfo worldinfo, DataStoreCache dscache); function cleanupSettings(); function bool advSaveSettings(WebRequest request, WebAdminMessages messages); function advRenderSettings(WebResponse response, SettingsRenderer renderer, optional string substName = "settings", optional ISettingsPrivileges privileges); `endif defaultProperties { }