/// <summary> /// Display edit /// </summary> /// <param name="_edit"></param> /// <param name="BrowsingHistory"></param> /// <param name="browser"></param> public static void DisplayEdit(Edit _edit, bool BrowsingHistory = false, Controls.SpecialBrowser browser = null, bool ChangeEdit = true) { Core.History("Processing.DisplayEdit()"); try { if (browser == null) { browser = main._CurrentBrowser; } if (_edit != null) { if (_edit._Page != null) { if (BrowsingHistory != true && browser.History.Count == 0 || (browser.History[0].Edit is Edit) == false) { browser.AddToHistory(new Core.HistoryItem(_edit)); } } if (main._CurrentBrowser == browser && ChangeEdit == true) { browser.Edit = _edit; Program.MainForm.Set_Current_User(_edit._User); Program.MainForm.Set_Current_Page(_edit._Page); } if (_edit._Deleted) { } else if (_edit.Prev == Core.NullEdit) { Requests.request_read.browser_html_data BrowserRequest = new Requests.request_read.browser_html_data(); BrowserRequest.address = Core.SitePath() + "index.php?title=" + System.Web.HttpUtility.UrlEncode(_edit._Page.Name) + "&id=" + _edit.Id; BrowserRequest.browser = browser; BrowserRequest.Start(); } else { if (_edit.DiffCacheState == Edit.CacheState.Viewed || _edit.DiffCacheState == Edit.CacheState.Cached) { if (_edit.Diff != null) { string DocumentText = "", DiffText = ""; DiffText = _edit.Diff; DiffText = DiffText.Replace("href=\"/wiki/", "href=\"" + Config.Projects[Config.Project] + "wiki/"); DiffText = DiffText.Replace("href='/wiki/", "href='" + Config.Projects[Config.Project] + "wiki/"); DiffText = DiffText.Replace("href=\"/w/", "href=\"" + Config.Projects[Config.Project] + "w/"); DiffText = DiffText.Replace("href='/w/", "href='" + Config.Projects[Config.Project] + "w/"); DocumentText = huggle3.Properties.Resources.header; DocumentText += DiffText; DocumentText += huggle3.Properties.Resources.footer; browser.DocumentText = DocumentText; } _edit.DiffCacheState = Edit.CacheState.Viewed; } } if (_edit.DiffCacheState == Edit.CacheState.Uncached) { _edit.DiffCacheState = Edit.CacheState.Caching; Requests.request_read.diff Request = new Requests.request_read.diff(); Request._Edit = _edit; Request.browsertab = browser; Request.Start(); } Program.MainForm.Refresh_Interface(); } } catch (Exception ex) { Core.ExceptionHandler( ex ); } }