コード例 #1
0
 public void OnPostDelete()
 {
     StreamingLiveLib.Page page = StreamingLiveLib.Page.Load(PageId);
     S3Client.DeleteAsync(CachedData.S3ContentBucket, $"data/{AppUser.CurrentSite.KeyName}/page{page.Id}.html", null).Wait();
     StreamingLiveLib.Page.Delete(PageId);
     Populate();
 }
コード例 #2
0
        private void ShowEditPage()
        {
            Populate();  //***Is there a better way to keep the model populated?
            int pageId = Convert.ToInt32(Request.Query["Id"]);

            SelectedPage = (pageId == 0) ? new StreamingLiveLib.Page() : StreamingLiveLib.Page.Load(pageId);
            if (pageId > 0)
            {
                try
                {
                    PageBody = Utils.GetUrlContents(CachedData.ContentUrl + $"/data/{AppUser.CurrentSite.KeyName}/page{SelectedPage.Id}.html");
                    PageBody = System.Text.RegularExpressions.Regex.Match(PageBody, "<body>.*</body>").Value.Replace("<body>", "").Replace("</body>", "");
                } catch
                {
                    PageBody = "";
                }
                Name   = SelectedPage.Name;
                PageId = SelectedPage.Id;
            }
            else
            {
                PageId   = 0;
                PageBody = "";
                Name     = "";
            }
        }
コード例 #3
0
        private void ShowEditPage(int pageId)
        {
            SaveButton.Attributes.Add("onclick", "setBodyValue()");
            StreamingLiveLib.Page page = (pageId == 0) ? new StreamingLiveLib.Page() : StreamingLiveLib.Page.Load(pageId);
            NameText.Text   = page.Name;
            PageIdHid.Value = pageId.ToString();
            if (pageId > 0)
            {
                string htmlFile = Server.MapPath("/data/" + AppUser.Current.Site.KeyName + "/page" + page.Id + ".html");
                if (System.IO.File.Exists(htmlFile))
                {
                    BodyHid.Value = System.IO.File.ReadAllText(htmlFile);
                    BodyHid.Value = System.Text.RegularExpressions.Regex.Match(BodyHid.Value, "<body>.*</body>").Value.Replace("<body>", "").Replace("</body>", "");
                }
                DeleteButton.Attributes.Add("onclick", "return confirm('Are you sure you wish to delete this page?')");
                DeleteHolder.Visible = true;
            }
            else
            {
                DeleteHolder.Visible = false;
            }

            PageListHolder.Visible = false;
            PageEditHolder.Visible = true;
        }
コード例 #4
0
        protected void PageRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            StreamingLiveLib.Page page     = (StreamingLiveLib.Page)e.Item.DataItem;
            LinkButton            EditLink = (LinkButton)e.Item.FindControl("EditLink");

            EditLink.CommandArgument = page.Id.ToString();
        }
コード例 #5
0
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            int pageId = Convert.ToInt32(PageIdHid.Value);

            StreamingLiveLib.Page page = (pageId == 0) ? new StreamingLiveLib.Page() : StreamingLiveLib.Page.Load(pageId);
            string htmlFile            = Server.MapPath("/data/" + AppUser.Current.Site.KeyName + "/page" + page.Id + ".html");

            System.IO.File.Delete(htmlFile);
            StreamingLiveLib.Page.Delete(pageId);
            Populate();
        }
コード例 #6
0
        public void OnPostSave()
        {
            StreamingLiveLib.Page page = (PageId == 0) ? new StreamingLiveLib.Page() : StreamingLiveLib.Page.Load(PageId);
            page.Name         = Name;
            page.LastModified = DateTime.UtcNow;
            page.SiteId       = AppUser.CurrentSite.Id;
            page.Save();

            string cssLink = "<link href=\"/data/" + AppUser.CurrentSite.KeyName + "/data.css\" rel=\"stylesheet\">"
                             + "<link href=\"/css/page.css\" rel=\"stylesheet\">";

            Utils.WriteToS3(S3Client, $"data/{AppUser.CurrentSite.KeyName}/page{page.Id}.html", $"<html><head>{cssLink}</head><body>{PageBody}</body></html>", "text/html");
            Populate();
        }
コード例 #7
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            int pageId = Convert.ToInt32(PageIdHid.Value);

            StreamingLiveLib.Page page = (pageId == 0) ? new StreamingLiveLib.Page() : StreamingLiveLib.Page.Load(pageId);
            page.Name         = NameText.Text;
            page.LastModified = DateTime.UtcNow;
            page.SiteId       = AppUser.Current.Site.Id;
            page.Save();

            string cssLink = "<link href=\"/data/" + AppUser.Current.Site.KeyName + "/data.css\" rel=\"stylesheet\">"
                             + "<link href=\"/css/page.css\" rel=\"stylesheet\">";

            cssLink = "<link href=\"/css/page.css\" rel=\"stylesheet\">";

            string htmlFile = Server.MapPath("/data/" + AppUser.Current.Site.KeyName + "/page" + page.Id + ".html");

            System.IO.File.WriteAllText(htmlFile, $"<html><head>{cssLink}</head><body>{BodyHid.Value}</body></html>");


            Populate();
        }