private void contribsToolStripMenuItem_Click(object sender, EventArgs e) { NextTask = NextTaskType.None; webBrowser.Navigate(Variables.URL + "/wiki/Special:Contributions/" + webBrowser.ArticleTitle.Remove(0, webBrowser.ArticleTitle.IndexOf(':') + 1)); }
private void blockLogToolStripMenuItem_Click(object sender, EventArgs e) { NextTask = NextTaskType.None; webBrowser.Navigate(Variables.URLLong + "index.php?title=Special:Log&type=block&page=User:" + webBrowser.ArticleTitle.Remove(0, webBrowser.ArticleTitle.IndexOf(':') + 1)); }
private void revertAndReportToolStripMenuItem_Click(object sender, EventArgs e) { NextTask = NextTaskType.Report; VandalizedPage = webBrowser.ArticleTitle; Revert(Project.RevertSummary, webBrowser.Revid, out VandalName); }
private void reportToolStripMenuItem_Click(object sender, EventArgs e) { NextTask = NextTaskType.None; ReportVandal(webBrowser.ArticleTitle.Remove(0, webBrowser.ArticleTitle.IndexOf(':') + 1)); }
private void AddTagClick(object sender, EventArgs e) { string tag = (sender as ToolStripMenuItem).Text; tag = tag.Substring(0, tag.LastIndexOf("}}") + 2); NextTask = NextTaskType.None; webBrowser.LoadEditPage(webBrowser.ArticleTitle); webBrowser.Wait(); string summary; webBrowser.SetArticleText(Project.PrependTag(webBrowser.GetArticleText(), tag, out summary)); webBrowser.SetSummary(summary + Project.Using); webBrowser.Save(); }
public void WarnUser(string user, string template, string pageConcerned) { string warning = template.Insert(2, "subst:") + " —~~~~"; webBrowser.LoadEditPage("User talk:" + user); webBrowser.Wait(); webBrowser.AllowNavigation = true; webBrowser.SetArticleText(webBrowser.GetArticleText() + "\r\n\r\n" + warning); webBrowser.SetSummary(Project.WarningSummary.Replace("%t", template) + Project.Using); VandalName = user; NextTask = NextTaskType.Blacklist; webBrowser.ProcessStage = WikiFunctions.Browser.ProcessingStage.Save; }
private void ReportVandal(string username) { webBrowser.Navigate(Project.ReportUrl); webBrowser.Wait(); NextTask = NextTaskType.None; if (webBrowser.GetArticleText().Contains(username + "}}")) { MessageBox.Show("This user is already reported", "AIV", MessageBoxButtons.OK, MessageBoxIcon.Information); webBrowser.GoBack(); return; } webBrowser.SetArticleText(webBrowser.GetArticleText() + "\r\n*{{" + (Tools.IsIP(username) ? Project.ReportAnonTemplate : Project.ReportRegisteredTemplate) + "|" + username + "}} ~~~~"); webBrowser.SetSummary(Project.ReportSummary.Replace("%v", username) + Project.Using); //webBrowser.Save(); }
void Revert(string summary, int badrev, out string username) { int i; Editor e = new Editor(); username = null; List<WikiFunctions.Editor.Revision> hist = e.GetHistory(webBrowser.ArticleTitle, 50); foreach (WikiFunctions.Editor.Revision r in hist) { if (r.RevisionID == badrev) { username = r.User; break; } } if (hist[0].User != username) { webBrowser.Navigate(Variables.URLLong + "index.php?title=" + HttpUtility.UrlEncode(webBrowser.ArticleTitle) + "&action=history"); MessageBox.Show("Another user has edited this article. Please look at its history and check if there is vandalism", "Cannot revert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } for (i = 0; i <= hist.Count && hist[i].User == username; i++) { } if (hist[i].User != username) { summary = summary.Replace("%v", username); summary = summary.Replace("%u", hist[i].User); summary += Project.Using; webBrowser.LoadEditPage(webBrowser.ArticleTitle, hist[i].RevisionID);//, hist[i].RevisionID); webBrowser.Wait(); ReplacementText = webBrowser.GetArticleText(); if (string.IsNullOrEmpty(webBrowser.GetArticleText().Trim())) { MessageBox.Show("Cannot revert to empty revision. Probably, there is some error."); NextTask = NextTaskType.None; return; } webBrowser.LoadEditPage(webBrowser.ArticleTitle); webBrowser.SetSummary(summary); webBrowser.SetArticleText(ReplacementText); webBrowser.SetMinor(true); webBrowser.Save(); webBrowser.Wait(); } }
//string[] IRCChannels = new String[] { "#en.wikibooks", "#en.wikinews ", "#en.wikipedia", "#en.wikiquote", "#en.wikisource", "#meta" }; void WebBrowserSaved(object sender, EventArgs e) { webBrowser.AllowNavigation = true; switch (NextTask) { case NextTaskType.Warn: NextTask = NextTaskType.None; webBrowser.Navigate(Variables.URL + "/wiki/User talk:" + HttpUtility.UrlEncode(VandalName)); break; case NextTaskType.Report: NextTask = NextTaskType.None; ReportVandal(VandalName); break; case NextTaskType.Blacklist: AddToBlacklist(VandalName); break; default: NextTask = NextTaskType.None; break; } }
public void Set(NextTaskType type, int groupId, int wavDataId) { Type = type; GroupId = groupId; WavDataId = wavDataId; }
public void Set(NextTaskType type) { // 現時点で、このSet()のtypeはNoneしかありえない。 System.Diagnostics.Debug.Assert(type == NextTaskType.None); Type = type; }
public NextTask(NextTaskType type, int groupId, int wavDataId) { Set(type, groupId, wavDataId); }
public NextTask(NextTaskType type) { Set(type); }