static void RegisterApplicationComponents(ContainerBuilder builder, WebConfigSettings settings)
        {
            builder.RegisterModule<NLogModule>();

            builder.RegisterType<ViewInfo>().InstancePerHttpRequest();

            builder.RegisterType<SingleWebServerApplicationState>().As<IApplicationState>().InstancePerHttpRequest();
            builder.RegisterType<DefaultApplicationBus>().As<IApplicationBus>().InstancePerHttpRequest();
            builder.RegisterInstance(settings).As<ISettings>().SingleInstance();

            //NOTE: registering a single RavenDB document store instance for the entire application, and a single instance per HttpRequest for the IDocumentSession
            builder.Register(x => RavenDBConfig.CreateDocumentStore()).As<IDocumentStore>().SingleInstance();
            builder.Register(x => x.Resolve<IDocumentStore>().OpenSession()).As<IDocumentSession>().InstancePerHttpRequest();

            builder.RegisterType<AuthenticationCallbackProvider>().As<IAuthenticationCallbackProvider>();
            builder.RegisterType<CookieCache>().As<ICache>();
            builder.RegisterType<SimpleAuthenticationController>().As<SimpleAuthenticationController>().InstancePerHttpRequest();

            builder.RegisterType<DefaultSecurityEncoder>().As<ISecurityEncoder>().SingleInstance();
            builder.RegisterType<DefaultSlugConverter>().As<ISlugConverter>().SingleInstance();

            if(settings.RunningInProduction()) {
                builder.RegisterType<CloudinaryImageStorage>().As<IImageStorage>().SingleInstance();
            } else {
                builder.RegisterType<LocalImageStorage>().As<IImageStorage>().SingleInstance();
            }
        }
        // Default constructor
        public UsernameController()
        {
            var jsonSettings = new JsonSerializerSettings();

            jsonSettings.ContractResolver = new RepositoryContractResolver();
            var webSettings = new WebConfigSettings();

            _repositoryService = new RepositoryService(jsonSettings, webSettings);
        }
Example #3
0
 public RepositoryService(JsonSerializerSettings settings, WebConfigSettings webSettings)
 {
     this.settings  = settings;
     UserAgent      = webSettings.GetUserAgent();
     Authentication = webSettings.GetAuthentication();
     userBaseUrl    = webSettings.GetUserBaseUrl();
     repoBaseUrl    = webSettings.GetRepoBaseUrl();
     userId         = webSettings.GetUserName();
     password       = webSettings.GetPassword();
     SetHeaders();
 }
        public static void Configure()
        {
            var builder = new ContainerBuilder();
            var settingsProvider = new AppSettingsProvider();
            var settings = new WebConfigSettings(settingsProvider);

            RegisterMVCComponents(builder);
            RegisterApplicationComponents(builder, settings);

            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
Example #5
0
        public override void LoadDefaults()
        {
            Locale = "en";

            PrivateMessageFormat  = "(From {0}): {1}";
            PrivateMessageFormat2 = "(To {0}): {1}";

            UnfreezeOnDeath = true;
            UnfreezeOnQuit  = true;

            AdminBypassWarpCooldown = true;
            PerWarpPermission       = true;
            WarpCooldown            = 5;

            EnableJoinLeaveMessage = true;
            EnableUnknownMessage   = true;
            EnableTextCommands     = true;
            EnableDeathMessages    = true;

            EnablePollRunningMessage   = true;
            PollRunningMessageCooldown = 20;
            ServerFrameRate            = -1;  // http://docs.unity3d.com/ScriptReference/Application-targetFrameRate.html

            AutoAnnouncer = new AutoAnnouncer();
            AutoAnnouncer.LoadDefaults();

            AutoCommands = new AutoCommands();
            AutoCommands.LoadDefaults();

            AntiSpam = new AntiSpamSettings {
                Enabled  = true,
                Interval = 3
            };

            Updater = new UpdaterSettings {
                CheckUpdates   = true,
                DownloadLatest = true,
                AlertOnJoin    = true
            };

            HomeCommand = new HomeCommandSettings {
                Cooldown       = 30, Delay = 5,
                CancelWhenMove = true
            };

            WebKits = new WebKitsSettings {
                Enabled = false, Url = ""
            };

            WebConfig = new WebConfigSettings {
                Enabled = false, Url = ""
            };

            Kit = new KitSettings {
                ShowCost   = true, ShowCostIfZero = false,
                CostFormat = "{0}({1}{2})", GlobalCooldown = 0,
                ResetGlobalCooldownWhenDie = false
            };

            Tpa = new TpaSettings {
                ExpireDelay = 10, TeleportDelay = 5
            };

            Economy = new EconomySettings {
                UseXp      = false, UconomyCurrency = "$",
                XpCurrency = "Xp"
            };

            GiveItemBlacklist = new List <ushort>();
            VehicleBlacklist  = new List <ushort>();
            DisabledCommands  = new List <string>();
            EnabledSystems    = new List <string> {
                "kits", "warps"
            };

            ItemSpawnLimit = 10;
        }
Example #6
0
        private void RunSetup()
        {
            #region setup mojoportal-core

            if (!schemaHasBeenCreated)
            {
                if (canAlterSchema)
                {
                    CreateInitialSchema("mojoportal-core");
                    schemaHasBeenCreated = DatabaseHelper.SchemaHasBeenCreated();
                    if (schemaHasBeenCreated)
                    {
                        //recheck
                        needSchemaUpgrade = mojoSetup.UpgradeIsNeeded();
                    }
                }
            }

            if (
                (schemaHasBeenCreated) &&
                (needSchemaUpgrade) &&
                (canAlterSchema)
                )
            {
                needSchemaUpgrade = UpgradeSchema("mojoportal-core");
            }

            if (!CoreSystemIsReady())
            {
                return;
            }

            existingSiteCount = DatabaseHelper.ExistingSiteCount();
            if (existingSiteCount == 0)
            {
                CreateSiteAndAdminUser();
            }


            // look for new features or settings to install
            SetupFeatures("mojoportal-core");


            #endregion

            #region setup other applications

            // install other apps

            String pathToApplicationsFolder
                = HttpContext.Current.Server.MapPath(
                      "~/Setup/applications/");

            if (!Directory.Exists(pathToApplicationsFolder))
            {
                WritePageContent(
                    pathToApplicationsFolder
                    + " " + SetupResource.ScriptFolderNotFoundAddendum,
                    false);

                return;
            }

            DirectoryInfo appRootFolder
                = new DirectoryInfo(pathToApplicationsFolder);

            DirectoryInfo[] appFolders = appRootFolder.GetDirectories();

            foreach (DirectoryInfo appFolder in appFolders)
            {
                if (
                    (!string.Equals(appFolder.Name, "mojoportal-core", StringComparison.InvariantCultureIgnoreCase)) &&
                    (appFolder.Name.ToLower() != ".svn") &&
                    (appFolder.Name.ToLower() != "_svn")
                    )
                {
                    CreateInitialSchema(appFolder.Name);
                    UpgradeSchema(appFolder.Name);
                    SetupFeatures(appFolder.Name);
                }
            }

            #endregion

            WritePageContent(SetupResource.EnsuringFeaturesInAdminSites, true);
            ModuleDefinition.EnsureInstallationInAdminSites();

            SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();

            if (siteSettings != null)
            {
                if (PageSettings.GetCountOfPages(siteSettings.SiteId) == 0)
                {
                    WritePageContent(SetupResource.CreatingDefaultContent);
                    //SetupContentPages(siteSettings);
                    mojoSetup.SetupDefaultContentPages(siteSettings);
                }

                try
                {
                    int userCount = SiteUser.UserCount(siteSettings.SiteId);
                    if (userCount == 0)
                    {
                        mojoSetup.EnsureRolesAndAdminUser(siteSettings);
                    }
                }
                catch (Exception ex)
                {
                    log.Error("EnsureAdminUserAndRoles", ex);
                }

                mojoSetup.EnsureSkins(siteSettings.SiteId);
            }

            // in case control type controlsrc, regex or sort changed on the definition
            // update instance properties to match
            //ThreadPool.QueueUserWorkItem(new WaitCallback(SyncDefinitions), null);
            //ModuleDefinition.SyncDefinitions();
            SiteSettings.EnsureExpandoSettings();
            mojoSetup.EnsureAdditionalSiteFolders();

            // added 2013-10-18
            if (WebConfigSettings.TryEnsureCustomMachineKeyOnSetup)
            {
                try
                {
                    WebConfigSettings.EnsureCustomMachineKey();
                }
                catch (Exception ex)
                {
                    log.Error("tried to ensure a custom machinekey in Web.config but an error occurred.", ex);
                }
            }
        }
Example #7
0
 public static void Refresh()
 {
     m_webConfigSettings = new WebConfigSettings();
 }