public static void XULRunnerConfigSerialize(XULRunnerConfig objXULRunnerConfig, string path) { string str1 = new JavaScriptSerializer().Serialize((object)objXULRunnerConfig).Replace("_", "."); System.IO.File.Delete(path); FileStream fileStream = System.IO.File.Open(path, FileMode.CreateNew); StreamWriter streamWriter = new StreamWriter((Stream)fileStream); string str2 = str1; streamWriter.Write(str2); streamWriter.Close(); fileStream.Close(); }
/// <summary> /// JSON Serialization /// </summary> public static void XULRunnerConfigSerialize(XULRunnerConfig objXULRunnerConfig, string path) { //string json = "{\"prefs\":{\"general.useragent.override\":\"SEB\"},\"seb.url\":\"http://www.safeexambrowser.org\",\"seb.mainWindow.titlebar.enabled\":false,\"seb.trusted.content\":true,\"seb.pattern.regex\":false,\"seb.blacklist.pattern\":\"\",\"seb.whitelist.pattern\":\"\",\"seb.locked\":true,\"seb.lock.keycode\":\"VK_F2\",\"seb.lock.modifiers\":\"controlshift\",\"seb.unlock.enabled\":false,\"seb.unlock.keycode\":\"VK_F3\",\"seb.unlock.modifiers\":\"controlshift\",\"seb.shutdown.keycode\":\"VK_F4\",\"seb.shutdown.modifiers\":\"controlshift\",\"seb.load\":\"\",\"seb.load.referrer.instring\":\"\",\"seb.load.keycode\":\"VK_F6\",\"seb.load.modifiers\":\"controlshift\",\"seb.reload.keycode\":\"VK_F5\",\"seb.reload.modifiers\":\"\",\"seb.net.max.times\":3,\"seb.net.timeout\":10000,\"seb.restart.mode\":2,\"seb.restart.keycode\":\"VK_F9\",\"seb.restart.modifiers\":\"controlshift\",\"seb.popupWindows.titlebar.enabled\":false,\"seb.openwin.width\":800,\"seb.openwin.height\":600,\"seb.showall.keycode\":\"VK_F1\",\"seb.distinct.popup\":false,\"seb.removeProfile\":false}"; //Serialise JavaScriptSerializer serializer = new JavaScriptSerializer(); string js = serializer.Serialize(objXULRunnerConfig); js = js.Replace("_", "."); //Write to config.json File.Delete(path); FileStream fs = File.Open(path, FileMode.CreateNew); StreamWriter sw = new StreamWriter(fs); sw.Write(js); sw.Close(); fs.Close(); }
/// <summary> /// Sets properties in config.json XULRunner configuration file. /// </summary> /// <returns></returns> public static bool SetXulRunnerConfiguration() { bool setXulRunnerConfiguration = false; try { // Get the path of the "Program Data" directory. string localAppDataDirectory = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); //string programDataDirectory = Environment.GetEnvironmentVariable("PROGRAMMDATA"); // Set the location of the XULRunnerConfigFileDirectory StringBuilder xulRunnerConfigFileDirectoryBuilder = new StringBuilder(localAppDataDirectory).Append("\\").Append(MANUFACTURER_LOCAL).Append("\\"); //.Append(PRODUCT_NAME).Append("\\"); XulRunnerConfigFileDirectory = xulRunnerConfigFileDirectoryBuilder.ToString(); // Set the location of the config.json file StringBuilder xulRunnerConfigFileBuilder = new StringBuilder(XulRunnerConfigFileDirectory).Append(XUL_RUNNER_CONFIG); XulRunnerConfigFile = xulRunnerConfigFileBuilder.ToString(); XULRunnerConfig xulRunnerConfig = SEBXulRunnerSettings.XULRunnerConfigDeserialize(XulRunnerConfigFile); xulRunnerConfig.seb_openwin_width = Int32.Parse(SEBClientInfo.getSebSetting(SEBSettings.KeyNewBrowserWindowByLinkWidth)[SEBSettings.KeyNewBrowserWindowByLinkWidth].ToString()); xulRunnerConfig.seb_openwin_height = Int32.Parse(SEBClientInfo.getSebSetting(SEBSettings.KeyNewBrowserWindowByLinkHeight)[SEBSettings.KeyNewBrowserWindowByLinkHeight].ToString()); if ((Int32)SEBClientInfo.getSebSetting(SEBSettings.KeyBrowserViewMode)[SEBSettings.KeyBrowserViewMode] == (int)browserViewModes.browserViewModeWindow) { xulRunnerConfig.seb_mainWindow_titlebar_enabled = true; } else { xulRunnerConfig.seb_mainWindow_titlebar_enabled = false; } xulRunnerConfig.seb_url = SEBClientInfo.getSebSetting(SEBSettings.KeyStartURL)[SEBSettings.KeyStartURL].ToString(); setXulRunnerConfiguration = true; SEBXulRunnerSettings.XULRunnerConfigSerialize(xulRunnerConfig, XulRunnerConfigFile); } catch (Exception ex) { Logger.AddError("Error ocurred by setting XulRunner configuration.", null, ex, ex.Message); } return(setXulRunnerConfiguration); }
public static bool SetXulRunnerConfiguration() { bool flag = false; try { SEBClientInfo.XulRunnerConfigFileDirectory = new StringBuilder(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)).Append("\\").Append("SafeExamBrowser").Append("\\").ToString(); SEBClientInfo.XulRunnerConfigFile = new StringBuilder(SEBClientInfo.XulRunnerConfigFileDirectory).Append("config.json").ToString(); XULRunnerConfig objXULRunnerConfig = SEBXulRunnerSettings.XULRunnerConfigDeserialize(SEBClientInfo.XulRunnerConfigFile); objXULRunnerConfig.seb_openwin_width = int.Parse(SEBClientInfo.getSebSetting("newBrowserWindowByLinkWidth")["newBrowserWindowByLinkWidth"].ToString()); objXULRunnerConfig.seb_openwin_height = int.Parse(SEBClientInfo.getSebSetting("newBrowserWindowByLinkHeight")["newBrowserWindowByLinkHeight"].ToString()); objXULRunnerConfig.seb_mainWindow_titlebar_enabled = (int)SEBClientInfo.getSebSetting("browserViewMode")["browserViewMode"] == 0; objXULRunnerConfig.seb_url = SEBClientInfo.getSebSetting("startURL")["startURL"].ToString(); flag = true; SEBXulRunnerSettings.XULRunnerConfigSerialize(objXULRunnerConfig, SEBClientInfo.XulRunnerConfigFile); } catch (Exception ex) { Logger.AddError("Error ocurred by setting XulRunner configuration.", (object)null, ex, ex.Message); } return(flag); }
/// <summary> /// JSON Deserialization /// </summary> public static XULRunnerConfig XULRunnerConfigDeserialize(string path) { JavaScriptSerializer serializer = new JavaScriptSerializer(); FileStream fs = File.OpenRead(path); fs.Position = 0; StreamReader sr = new StreamReader(fs); string sXULRunnerConfig = sr.ReadToEnd(); sr.Close(); fs.Close(); sXULRunnerConfig = sXULRunnerConfig.Replace("\n", String.Empty); sXULRunnerConfig = sXULRunnerConfig.Replace("\r", String.Empty); sXULRunnerConfig = sXULRunnerConfig.Replace(" ", String.Empty); sXULRunnerConfig = sXULRunnerConfig.Replace("\t", String.Empty); sXULRunnerConfig = sXULRunnerConfig.Replace(".", "_"); XULRunnerConfig objXULRunnerConfig = (XULRunnerConfig)serializer.Deserialize(sXULRunnerConfig, typeof(XULRunnerConfig)); return(objXULRunnerConfig); }
/// <summary> /// JSON Serialization /// </summary> public static void XULRunnerConfigSerialize(XULRunnerConfig objXULRunnerConfig, string path) { //string json = "{\"prefs\":{\"general.useragent.override\":\"SEB\"},\"seb.url\":\"http://www.safeexambrowser.org\",\"seb.mainWindow.titlebar.enabled\":false,\"seb.trusted.content\":true,\"seb.pattern.regex\":false,\"seb.blacklist.pattern\":\"\",\"seb.whitelist.pattern\":\"\",\"seb.locked\":true,\"seb.lock.keycode\":\"VK_F2\",\"seb.lock.modifiers\":\"controlshift\",\"seb.unlock.enabled\":false,\"seb.unlock.keycode\":\"VK_F3\",\"seb.unlock.modifiers\":\"controlshift\",\"seb.shutdown.keycode\":\"VK_F4\",\"seb.shutdown.modifiers\":\"controlshift\",\"seb.load\":\"\",\"seb.load.referrer.instring\":\"\",\"seb.load.keycode\":\"VK_F6\",\"seb.load.modifiers\":\"controlshift\",\"seb.reload.keycode\":\"VK_F5\",\"seb.reload.modifiers\":\"\",\"seb.net.max.times\":3,\"seb.net.timeout\":10000,\"seb.restart.mode\":2,\"seb.restart.keycode\":\"VK_F9\",\"seb.restart.modifiers\":\"controlshift\",\"seb.popupWindows.titlebar.enabled\":false,\"seb.openwin.width\":800,\"seb.openwin.height\":600,\"seb.showall.keycode\":\"VK_F1\",\"seb.distinct.popup\":false,\"seb.removeProfile\":false}"; //Serialise JavaScriptSerializer serializer = new JavaScriptSerializer(); string js = serializer.Serialize(objXULRunnerConfig); js = js.Replace("_", "."); //Write to config.json File.Delete(path); FileStream fs = File.Open(path,FileMode.CreateNew); StreamWriter sw = new StreamWriter(fs); sw.Write(js); sw.Close(); fs.Close(); }