int GetSiteConfiguration(Guid guid, out string output) { AdministrationConfiguration configuration = SlkAdministration.LoadConfiguration(guid); if (configuration.IsNewConfiguration) { output = FormatString(culture.Resources.StsInvalidGuid, guid); return((int)ErrorCodes.GeneralError); } else { output = FormatString(culture.Resources.StsGetSiteConfiguration, configuration.DatabaseServer, configuration.DatabaseName, configuration.InstructorPermission, configuration.LearnerPermission); return(0); } }
int Configure(out string output) { // parse parameters bool forApplication = BooleanValue("application"); string url = Value("url"); string databaseServer = Value("databaseServer"); string databaseName = Value("databaseName"); bool createDatabase = BooleanValue("createDatabase"); string instructorPermission = Value("instructorPermission"); string learnerPermission = Value("learnerPermission"); string observerPermission = Value("observerPermission"); bool createPermissions = BooleanValue("createPermissions"); string settingsFileName = Value("settingsFileName"); if (string.IsNullOrEmpty(settingsFileName)) { settingsFileName = Value("uploadSlkSettings"); } bool defaultSlkSettings = BooleanValue("defaultSlkSettings"); if (string.IsNullOrEmpty(url)) { output = FormatString(culture.Resources.StsMissingParameter, "url"); return((int)ErrorCodes.SyntaxError); } // -- can't specify both -uploadslksettings and -defaultslksettings if (settingsFileName != null && defaultSlkSettings) { output = FormatString(culture.Resources.StsSettingsError, "settingsFileName", "defaultSlkSettings"); return((int)ErrorCodes.SyntaxError); } Guid id; string userName; // perform the operation if (forApplication) { SPWebApplication application = SPWebApplication.Lookup(new Uri(url)); id = application.Id; userName = application.ApplicationPool.Username; } else { using (SPSite site = new SPSite(url)) { id = site.ID; url = site.Url; userName = site.WebApplication.ApplicationPool.Username; } } AdministrationConfiguration configuration = SlkAdministration.LoadConfiguration(id); databaseServer = ValueIfMissing(databaseServer, configuration.DatabaseServer); databaseName = ValueIfMissing(databaseName, configuration.DatabaseName); instructorPermission = ValueIfMissing(instructorPermission, configuration.InstructorPermission); learnerPermission = ValueIfMissing(learnerPermission, configuration.LearnerPermission); observerPermission = ValueIfMissing(observerPermission, configuration.ObserverPermission); // load SlkSchema.sql if the parameters specify creating the database; // SlkSchema.sql is in the same directory as this .exe file string schemaFileContents = null; if (createDatabase) { schemaFileContents = culture.Resources.SlkSchemaSql; } // load the default SLK Settings file into <defaultSettingsFileContents> string defaultSettingsFileContents = culture.Resources.SlkSettingsFile; // load the SLK Settings file to upload into <settingsFileContents> if specified by the parameters. string settingsFileContents = null; if (settingsFileName != null) { settingsFileContents = System.IO.File.ReadAllText(settingsFileName); } else if (defaultSlkSettings) { settingsFileContents = defaultSettingsFileContents; } // Save the configuration SlkAdministration.SaveConfiguration(id, databaseServer, databaseName, schemaFileContents, instructorPermission, learnerPermission, observerPermission, createPermissions, settingsFileContents, defaultSettingsFileContents, userName); if (forApplication) { output = FormatString(culture.Resources.StsConfiguringSlkForApplication, url, id); } else { output = FormatString(culture.Resources.StsConfiguringSlkForSite, url, id); } return(0); }