Ejemplo n.º 1
0
        private void sourceButton_Click(object sender, EventArgs e)
        {
            WikiAPI api = new WikiAPI();

            resultText.Text         = api.GetContent(titleText.Text);
            revisionList.DataSource = null;
        }
Ejemplo n.º 2
0
        private void get_button_Click(object sender, EventArgs e)
        {
            int fromRev = int.Parse(from_text.Text);
            int toRev   = int.Parse(to_text.Text);


            WikiAPI api = new WikiAPI();

            diff_size_text.Text = api.GetDiff(fromRev, toRev).ToString();
            diff_text.Text      = api.LastDiff;
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string queryParam = Request.QueryString["id"];

                var wiki = WikiAPI.GetWikiById(queryParam);

                txtTitle.Text   = wiki.Element("Title").Value;
                txtContent.Text = wiki.Element("Content").Value;
                wikiId.Value    = queryParam;
            }
        }
        private void checkAndUpdateWikiPage(PageReadData data)
        {
            // First check revID
            WikiAPI api    = new WikiAPI();
            var     revIDs = api.GetRevisions(data.WikiPage, data.LastRevision).OrderBy(x => x.RevId).ToList();

            if (revIDs.Count <= 1)
            {
                // No newer revID
                return;
            }

            var currentRevID = revIDs.Last().RevId;

            if (data.LastRevision == -1)
            {
                // First check send email
                sendEmail(data);
                refreshDatabase(data, true, currentRevID);
                return;
            }

            string currentPageContent = api.GetContent(data.WikiPage, currentRevID);
            string prevPageContent    = api.GetContent(data.WikiPage, data.LastRevision);

            MatchCollection words1 = Regex.Matches(currentPageContent, @"\b(\w+)\b");
            MatchCollection words2 = Regex.Matches(prevPageContent, @"\b(\w+)\b");

            var hs1 = new HashSet <string>(words1.Cast <Match>().Select(m => m.Value));
            var hs2 = new HashSet <string>(words2.Cast <Match>().Select(m => m.Value));

            var hs1_mod = new HashSet <string>(hs1);
            var hs2_mod = new HashSet <string>(hs2);

            hs2_mod.ExceptWith(hs1);
            int prevVersionExtraWordCounter = hs2_mod.Count;

            hs1_mod.ExceptWith(hs2);
            int newVersionExtraWordCounter = hs1_mod.Count;

            // Calculate diff, if bigger then sensititvity, then send email
            if (newVersionExtraWordCounter + prevVersionExtraWordCounter > data.Sensitivity)
            {
                sendEmail(data);
                refreshDatabase(data, true, currentRevID);
            }
            else
            {
                refreshDatabase(data);
            }
        }
Ejemplo n.º 5
0
        private void revisionButton_Click(object sender, EventArgs e)
        {
            WikiAPI api = new WikiAPI();
            int     revId;

            if (Int32.TryParse(revisionText.Text, out revId))
            {
                revisionList.DataSource = api.GetRevisions(titleText.Text, revId);
            }
            else
            {
                revisionList.DataSource = api.GetRevisions(titleText.Text);
            }
            revisionList.DisplayMember = "RevId";
        }
Ejemplo n.º 6
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            // Get data
            WikiDTO wikiDto = new WikiDTO(
                txtTitle.Text,
                txtContent.Text, "JohnDoe",
                DateTimeOffset.UtcNow,
                DateTimeOffset.UtcNow,
                "JohnDoe",
                DataUtils.GetUniqueData(lbTags, txtTags),
                DataUtils.GetUniqueData(lbCategories, txtCategories)
                );

            // Add new entry
            WikiAPI wikiAPI = new WikiAPI();

            wikiAPI.CreateEntry(wikiDto);
        }
Ejemplo n.º 7
0
        private void revisionList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var item = (RevisionData)revisionList.SelectedItem;

            if (item != null)
            {
                revText.Text    = item.RevId.ToString();
                parentText.Text = item.ParentId.ToString();
                sizeText.Text   = item.Size.ToString();
                timeText.Text   = item.Timestamp.ToString();
                WikiAPI api = new WikiAPI();
                resultText.Text = api.GetContent(titleText.Text, item.RevId);
            }
            else
            {
                revText.Text    = "";
                parentText.Text = "";
                sizeText.Text   = "";
                timeText.Text   = "";
                resultText.Text = "";
            }
        }
Ejemplo n.º 8
0
 protected void btnSave_Click(object sender, EventArgs e)
 {
     WikiAPI.EditWiki(wikiId.Value, txtTitle.Text, txtContent.Text);
 }