Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
 private void revertAndReportToolStripMenuItem_Click(object sender, EventArgs e)
 {
     NextTask = NextTaskType.Report;
     VandalizedPage = webBrowser.ArticleTitle;
     Revert(Project.RevertSummary, webBrowser.Revid, out VandalName);
 }
Example #4
0
 private void reportToolStripMenuItem_Click(object sender, EventArgs e)
 {
     NextTask = NextTaskType.None;
     ReportVandal(webBrowser.ArticleTitle.Remove(0, webBrowser.ArticleTitle.IndexOf(':') + 1));
 }
Example #5
0
        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();
        }
Example #6
0
        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;
        }
Example #7
0
 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();
 }
Example #8
0
        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();
            }
        }
Example #9
0
        //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;
            }
        }
Example #10
0
 public void Set(NextTaskType type, int groupId, int wavDataId)
 {
     Type = type;
     GroupId = groupId;
     WavDataId = wavDataId;
 }
Example #11
0
 public void Set(NextTaskType type)
 {
     // 現時点で、このSet()のtypeはNoneしかありえない。
     System.Diagnostics.Debug.Assert(type == NextTaskType.None);
     Type = type;
 }
Example #12
0
 public NextTask(NextTaskType type, int groupId, int wavDataId)
 {
     Set(type, groupId, wavDataId);
 }
Example #13
0
 public NextTask(NextTaskType type)
 {
     Set(type);
 }