コード例 #1
0
        public Dictionary <string, object> Fill(WebInterface webInterface, string filename, OSHttpRequest httpRequest,
                                                OSHttpResponse httpResponse, Dictionary <string, object> requestParameters,
                                                ITranslator translator, out string response)
        {
            response = null;
            var vars = new Dictionary <string, object>();

            IAgentInfoConnector agentInfo   = Framework.Utilities.DataManager.RequestPlugin <IAgentInfoConnector>();
            IGenericsConnector  connector   = Framework.Utilities.DataManager.RequestPlugin <IGenericsConnector>();
            GridWelcomeScreen   welcomeInfo = null;

            if (connector != null)
            {
                welcomeInfo = connector.GetGeneric <GridWelcomeScreen>(UUID.Zero, "GridWelcomeScreen", "GridWelcomeScreen");
            }

            if (welcomeInfo == null)
            {
                welcomeInfo = GridWelcomeScreen.Default;
            }

            IConfigSource config = webInterface.Registry.RequestModuleInterface <ISimulationBase>().ConfigSource;

            vars.Add("GridStatus", translator.GetTranslatedString("GridStatus"));
            vars.Add("TotalUserCount", translator.GetTranslatedString("TotalUserCount"));
            vars.Add("TotalRegionCount", translator.GetTranslatedString("TotalRegionCount"));
            vars.Add("UniqueVisitors", translator.GetTranslatedString("UniqueVisitors"));
            vars.Add("OnlineNow", translator.GetTranslatedString("OnlineNow"));
            vars.Add("RecentlyOnline", translator.GetTranslatedString("RecentlyOnline"));
            vars.Add("HGActiveText", translator.GetTranslatedString("HyperGrid"));
            vars.Add("VoiceActiveLabel", translator.GetTranslatedString("Voice"));
            vars.Add("CurrencyActiveLabel", translator.GetTranslatedString("Currency"));

            vars.Add("GridOnline",
                     welcomeInfo.GridStatus
                         ? translator.GetTranslatedString("Online")
                         : translator.GetTranslatedString("Offline"));

            vars.Add("UserCount", webInterface.Registry.RequestModuleInterface <IUserAccountService>().NumberOfUserAccounts(null, "").ToString());

            vars.Add("RegionCount", Framework.Utilities.DataManager.RequestPlugin <IRegionData>().Count((RegionFlags)0, (RegionFlags)0).ToString());
            string disabled = translator.GetTranslatedString("Disabled"), enabled = translator.GetTranslatedString("Enabled");

            vars.Add("HGActive", disabled + "(TODO: FIX)");
            vars.Add("VoiceActive",
                     config.Configs["Voice"] != null &&
                     config.Configs["Voice"].GetString("Module", "GenericVoice") != "GenericVoice"
                         ? enabled
                         : disabled);

            vars.Add("CurrencyActive", webInterface.Registry.RequestModuleInterface <IMoneyModule>() != null ? enabled : disabled);

            if (agentInfo != null)
            {
                vars.Add("UniqueVisitorCount", agentInfo.RecentlyOnline((uint)TimeSpan.FromDays(30).TotalSeconds, false).ToString());
                vars.Add("OnlineNowCount", agentInfo.OnlineUsers(0).ToString());
                vars.Add("RecentlyOnlineCount", agentInfo.RecentlyOnline(10 * 60, false).ToString());
            }
            else
            {
                vars.Add("UniqueVisitorCount", "");
                vars.Add("OnlineNowCount", "");
                vars.Add("RecentlyOnlineCount", "");
            }

            return(vars);
        }