public string EditUrl(CommentViewModel feedback) { string url = AdminUrl.FeedbackEdit(feedback.Id); return(VirtualPathUtility.ToAbsolute(StringHelper.LeftBefore(url, "?")) + "?" + url.RightAfter("?")); }
// If the user is an admin AND the the skin // contains an edit Hyperlink control, this // will display the edit control. protected virtual void BindEditLink(Entry entry, RepeaterItemEventArgs e) { var editLink = e.Item.FindControl("editLink") as HyperLink; var editInWlwLink = e.Item.FindControl("editInWlwLink") as HyperLink; ExecDisplayEditLink(editLink, AdminUrl.PostsEdit(entry.Id).ToString(), Url.EditIconUrl().ToString()); ExecDisplayEditLink(editInWlwLink, Url.WindowsLiveWriterEditUrl(entry.Id, this.Blog), Url.EditInWlwIconUrl().ToString()); }
protected void btnOpenIdLogin_LoggedIn(object sender, OpenIdEventArgs e) { e.Cancel = true; if (e.Response.Status == AuthenticationStatus.Authenticated && SecurityHelper.Authenticate(e.ClaimedIdentifier, btnOpenIdLogin.RememberMe)) { ReturnToUrl(AdminUrl.Home()); } else { openIdMessage.Text = Resources.Login_AuthenticationFailed; } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (Context != null) { if (HomeLink != null) { HomeLink.NavigateUrl = Url.BlogUrl(); ControlHelper.SetTitleIfNone(HomeLink, "Link to the home page."); } if (ContactLink != null) { ContactLink.NavigateUrl = Url.ContactFormUrl(); ControlHelper.SetTitleIfNone(ContactLink, "Contact form."); } if (Archives != null) { Archives.NavigateUrl = Url.ArchivesUrl(); ControlHelper.SetTitleIfNone(Archives, "View Archives."); } if (Admin != null) { if (Request.IsAuthenticated && SecurityHelper.IsAdmin) { Admin.Text = "Admin"; Admin.NavigateUrl = AdminUrl.Home(); ControlHelper.SetTitleIfNone(Admin, "Admin Section."); } else { Admin.Text = "Login"; Admin.NavigateUrl = Url.LoginUrl(); ControlHelper.SetTitleIfNone(Admin, "Login Form."); } } if (Syndication != null) { Syndication.NavigateUrl = Url.RssUrl(Blog).ToString(); if (Syndication.ImageUrl.StartsWith("~/")) { Syndication.ImageUrl = Url.ResolveUrl(Syndication.ImageUrl); } ControlHelper.SetTitleIfNone(Syndication, "Subscribe to this feed."); } } }
protected void btnLogin_Click(object sender, EventArgs e) { string returnUrl = Request.QueryString["ReturnURL"]; string username = tbUserName.Text; string password = tbPassword.Text; bool persist = chkRememberMe.Checked; bool isAdmin = false; var blog = Blog; if (blog == null || blog.Password == null) { blog = null; } if (blog != null) { isAdmin = blog.IsValidUser(username, password); returnUrl = String.IsNullOrEmpty(returnUrl) ? (string)AdminUrl.Home() : returnUrl; } else { returnUrl = String.IsNullOrEmpty(returnUrl) ? "~/HostAdmin/Default.aspx" : returnUrl; } bool isHostAdmin = HostInfo.ValidateHostAdminPassword(username, password); if (!isAdmin && !isHostAdmin) { Message.Text = LoginFailedMessage; return; } var roles = new string[2]; if (isAdmin) { roles[0] = "Admins"; SubtextContext.HttpContext.SetAuthenticationTicket(blog, username, persist, roles.Where(s => s != null).ToArray()); } if (isHostAdmin) { roles[1] = "HostAdmins"; SubtextContext.HttpContext.SetAuthenticationTicket(null, username, persist, forceHostAdmin: true, roles: roles.Where(s => s != null).ToArray()); } ReturnToUrl(returnUrl); }
private void BindCategoriesRepeater() { //NEED TO USE ROUTING string baseUrl = null; if (CategoryType != CategoryType.None) { if (CategoryType == CategoryType.ImageCollection) { categoryLinks.Add(new LinkCategoryLink("All Galleries", AdminUrl.EditGalleries())); baseUrl = "EditGalleries.aspx"; } else if (CategoryType == CategoryType.LinkCollection) { categoryLinks.Add(new LinkCategoryLink("All Categories", AdminUrl.EditLinks())); baseUrl = "EditLinks.aspx"; } else if (CategoryType == CategoryType.PostCollection) { categoryLinks.Add(new LinkCategoryLink("All Categories", AdminUrl.PostsList())); baseUrl = "posts/default.aspx"; } else if (CategoryType == CategoryType.StoryCollection) { categoryLinks.Add(new LinkCategoryLink("All Categories", AdminUrl.ArticlesList())); baseUrl = "articles/default.aspx"; } ICollection <LinkCategory> categories = Repository.GetCategories(CategoryType, ActiveFilter.None); foreach (LinkCategory current in categories) { string url = string.Format(CultureInfo.InvariantCulture, "{0}?{1}={2}&{3}={4}", Url.AdminUrl(baseUrl), Keys.QRYSTR_CATEGORYID, current.Id, Keys.QRYSTR_CATEGORYTYPE, CategoryType ); categoryLinks.Add(new LinkCategoryLink(current.Title, url)); } } rptCategories.DataSource = categoryLinks; rptCategories.DataBind(); }
private void BindLocalUI() { var newPostLink = new HyperLink { Text = Resources.Label_NewPost, NavigateUrl = AdminUrl.PostsEdit() }; AdminMasterPage.AddToActions(newPostLink); HyperLink lnkEditCategories = Utilities.CreateHyperLink(Resources.Label_EditCategories, AdminUrl.EditCategories(categoryLinks.CategoryType)); AdminMasterPage.AddToActions(lnkEditCategories); LinkButton lkbRebuildTags = Utilities.CreateLinkButton(Resources.Label_RebuildAllTags); lkbRebuildTags.CausesValidation = false; lkbRebuildTags.Click += OnRebuildTagsClick; AdminMasterPage.AddToActions(lkbRebuildTags); }
protected void Page_Load(object sender, EventArgs e) { if (!Config.Settings.AllowImages) { Response.Redirect(AdminUrl.Home()); } if (!IsPostBack) { HideImages(); ShowResults(); BindList(); ckbIsActiveImage.Checked = Preferences.AlwaysCreateIsActive; ckbNewIsActive.Checked = Preferences.AlwaysCreateIsActive; if (null != Request.QueryString[Keys.QRYSTR_CATEGORYID]) { CategoryId = Convert.ToInt32(Request.QueryString[Keys.QRYSTR_CATEGORYID]); BindGallery(CategoryId); } } }
// If the user is an admin AND the the skin // contains an edit Hyperlink control, this // will display the edit control. private void DisplayEditLink(IIdentifiable entry) { if (editLink != null) { if (SecurityHelper.IsAdmin) { editLink.Visible = true; editLink.NavigateUrl = AdminUrl.PostsEdit(entry.Id); ControlHelper.SetTitleIfNone(editLink, Resources.ViewPost_EditThisEntry); if (String.IsNullOrEmpty(editLink.Text) && String.IsNullOrEmpty(editLink.ImageUrl)) { //We'll slap on our little pencil icon. editLink.ImageUrl = Url.EditIconUrl(); } } else { editLink.Visible = false; } } }
protected void Page_Load(object sender, EventArgs e) { InstallationManager.ResetInstallationStatusCache(); if (paraBlogLink != null) { paraBlogLink.Visible = false; } if (paraBlogAdminLink != null) { paraBlogAdminLink.Visible = false; } if (paraBlogmlImport != null) { paraBlogmlImport.Visible = false; } if (Config.CurrentBlog != null) { if (lnkBlog != null && paraBlogLink != null) { paraBlogLink.Visible = true; lnkBlog.HRef = Url.BlogUrl(); } if (lnkBlogAdmin != null && paraBlogAdminLink != null) { paraBlogAdminLink.Visible = true; lnkBlogAdmin.HRef = AdminUrl.Home(); } if (lnkBlogMl != null && paraBlogmlImport != null) { paraBlogmlImport.Visible = true; lnkBlogMl.HRef = AdminUrl.ImportExport(); } } }
// If the user is an admin AND the the skin // contains an edit Hyperlink control, this // will display the edit control. protected virtual void BindEditLink(Entry entry, RepeaterItemEventArgs e) { var editLink = e.Item.FindControl("editLink") as HyperLink; if (editLink != null) { if (SecurityHelper.IsAdmin) { editLink.Visible = true; if (editLink.Text.Length == 0 && editLink.ImageUrl.Length == 0) { //We'll slap on our little pencil icon. editLink.ImageUrl = Url.EditIconUrl(); ControlHelper.SetTitleIfNone(editLink, Resources.EntryList_ClickToView); editLink.NavigateUrl = AdminUrl.PostsEdit(entry.Id); } } else { editLink.Visible = false; } } }
protected void btnLogin_Click(object sender, EventArgs e) { string returnUrl = Request.QueryString["ReturnURL"]; if (Blog == null || (returnUrl != null && returnUrl.Contains("HostAdmin", StringComparison.OrdinalIgnoreCase))) { if (!AuthenticateHostAdmin()) { Log.Warn("HostAdmin login failure for " + tbUserName.Text); Message.Text = LoginFailedMessage; return; } ReturnToUrl("~/HostAdmin/Default.aspx"); return; } if (SubtextContext.HttpContext.Authenticate(Blog, tbUserName.Text, tbPassword.Text, chkRememberMe.Checked)) { ReturnToUrl(AdminUrl.Home()); return; } Log.Warn("Admin login failure for " + tbUserName.Text); Message.Text = LoginFailedMessage; }
// If the user is an admin AND the the skin // contains an edit Hyperlink control, this // will display the edit control. private void DisplayEditLink(IIdentifiable entry) { ExecDisplayEditLink(editLink, AdminUrl.PostsEdit(entry.Id).ToString(), Url.EditIconUrl().ToString()); ExecDisplayEditLink(editInWlwLink, Url.WindowsLiveWriterEditUrl(entry.Id, this.Blog), Url.EditInWlwIconUrl().ToString()); }
// Customizes the display row for each comment. protected void CommentsCreated(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var feedbackItem = (FeedbackItem)e.Item.DataItem; _comment = new CommentViewModel(feedbackItem, SubtextContext); if (feedbackItem != null) { var title = (Literal)(e.Item.FindControl("Title")); if (title != null) { // we should probably change skin format to dynamically wire up to // skin located title and permalinks at some point title.Text = string.Format(CultureInfo.InvariantCulture, "{2} {0}{1}", Anchor(feedbackItem.Id), feedbackItem.Title, Link(feedbackItem.Title, Url.FeedbackUrl(feedbackItem))); } //Shows the name of the commenter with a link if provided. var namelink = (HyperLink)e.Item.FindControl("NameLink"); if (namelink != null) { if (feedbackItem.SourceUrl != null) { namelink.NavigateUrl = feedbackItem.SourceUrl.ToString(); ControlHelper.SetTitleIfNone(namelink, feedbackItem.SourceUrl.ToString()); } if (feedbackItem.FeedbackType == FeedbackType.Comment) { namelink.Text = feedbackItem.Author; ControlHelper.SetTitleIfNone(namelink, feedbackItem.Author); } else if (feedbackItem.FeedbackType == FeedbackType.PingTrack) { namelink.Text = !String.IsNullOrEmpty(feedbackItem.Author) ? feedbackItem.Author : "Pingback/TrackBack"; ControlHelper.SetTitleIfNone(namelink, "PingBack/TrackBack"); } if (feedbackItem.IsBlogAuthor) { HtmlHelper.AppendCssClass(namelink, "author"); } } var postDate = (Literal)(e.Item.FindControl("PostDate")); if (postDate != null) { postDate.Text = feedbackItem.DateCreated.ToShortDateString() + " " + feedbackItem.DateCreated.ToShortTimeString(); } var post = e.Item.FindControl("PostText") as Literal; if (post != null) { if (feedbackItem.Body.Length > 0) { post.Text = feedbackItem.Body; if (feedbackItem.Body.Length == 0 && feedbackItem.FeedbackType == FeedbackType.PingTrack) { post.Text = "Pingback / Trackback"; } } } if (_gravatarService.Enabled) { var gravatarImage = e.Item.FindControl("GravatarImg") as Image; if (gravatarImage != null) { //This allows per-skin configuration of the default gravatar image. string defaultGravatarImage = gravatarImage.Attributes["PlaceHolderImage"]; string ip; if (feedbackItem.IpAddress != null) { ip = feedbackItem.IpAddress.ToString(); } else { ip = string.Format("{0} {1}", DateTime.Now.Millisecond, DateTime.Now.Second); } //This allows a host-wide setting of the default gravatar image. string gravatarUrl = null; if (!String.IsNullOrEmpty(feedbackItem.Email)) { if (!String.IsNullOrEmpty(defaultGravatarImage)) { string host = Request.Url.Host; string scheme = Request.Url.Scheme; string port = Request.Url.Port == 80 ? string.Empty : string.Format(":{0}", Request.Url.Port); string defaultImagePath = HttpHelper.ExpandTildePath(defaultGravatarImage); defaultGravatarImage = string.Format(CultureInfo.InvariantCulture, "{0}://{1}{2}{3}", scheme, host, port, defaultImagePath); defaultGravatarImage = HttpUtility.UrlEncode(defaultGravatarImage); } gravatarUrl = _gravatarService.GenerateUrl(feedbackItem.Email, defaultGravatarImage); } if (!String.IsNullOrEmpty(gravatarUrl)) { gravatarImage.Attributes.Remove("PlaceHolderImage"); if (gravatarUrl.Length != 0) { gravatarImage.ImageUrl = gravatarUrl; gravatarImage.Visible = true; } } else { string identiconUrl = Url.IdenticonUrl(IdenticonUtil.Code(ip)); gravatarImage.ImageUrl = identiconUrl; gravatarImage.Visible = true; } } } if (Request.IsAuthenticated && SecurityHelper.IsAdmin) { var editCommentTextLink = (HyperLink)(e.Item.FindControl("EditCommentTextLink")); if (editCommentTextLink != null) { editCommentTextLink.NavigateUrl = AdminUrl.FeedbackEdit(feedbackItem.Id); if (String.IsNullOrEmpty(editCommentTextLink.Text)) { editCommentTextLink.Text = "Edit Comment " + feedbackItem.Id.ToString(CultureInfo.InstalledUICulture); } ControlHelper.SetTitleIfNone(editCommentTextLink, "Click to edit this entry."); } var editCommentImgLink = (HyperLink)(e.Item.FindControl("EditCommentImgLink")); if (editCommentImgLink != null) { editCommentImgLink.NavigateUrl = AdminUrl.FeedbackEdit(feedbackItem.Id); if (String.IsNullOrEmpty(editCommentImgLink.ImageUrl)) { editCommentImgLink.ImageUrl = Url.EditIconUrl(); } ControlHelper.SetTitleIfNone(editCommentImgLink, "Click to edit comment " + feedbackItem.Id.ToString(CultureInfo.InstalledUICulture)); } } } } }
protected void btnSave_Click(object sender, EventArgs e) { Response.Redirect(AdminUrl.Export(chkEmbedAttach.Checked)); }
// Customizes the display row for each comment. protected void CommentsCreated(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var feedbackItem = (FeedbackItem)e.Item.DataItem; _comment = new CommentViewModel(feedbackItem, SubtextContext); if (feedbackItem != null) { var title = (Literal)(e.Item.FindControl("Title")); if (title != null) { // we should probably change skin format to dynamically wire up to // skin located title and permalinks at some point title.Text = string.Format(CultureInfo.InvariantCulture, "{2} {0}{1}", Anchor(feedbackItem.Id), feedbackItem.Title, Link(feedbackItem.Title, Url.FeedbackUrl(feedbackItem))); } //Shows the name of the commenter with a link if provided. var namelink = (HyperLink)e.Item.FindControl("NameLink"); if (namelink != null) { if (feedbackItem.SourceUrl != null) { namelink.NavigateUrl = feedbackItem.SourceUrl.ToString(); ControlHelper.SetTitleIfNone(namelink, feedbackItem.SourceUrl.ToString()); } if (feedbackItem.FeedbackType == FeedbackType.Comment) { namelink.Text = feedbackItem.Author; ControlHelper.SetTitleIfNone(namelink, feedbackItem.Author); } else if (feedbackItem.FeedbackType == FeedbackType.PingTrack) { namelink.Text = !String.IsNullOrEmpty(feedbackItem.Author) ? feedbackItem.Author : "Pingback/TrackBack"; ControlHelper.SetTitleIfNone(namelink, "PingBack/TrackBack"); } if (feedbackItem.IsBlogAuthor) { HtmlHelper.AppendCssClass(namelink, "author"); } } var postDate = (Literal)(e.Item.FindControl("PostDate")); if (postDate != null) { var dateCreated = feedbackItem.DateCreated; postDate.Text = dateCreated.ToShortDateString() + " " + dateCreated.ToShortTimeString(); } var post = e.Item.FindControl("PostText") as Literal; if (post != null) { if (!String.IsNullOrEmpty(feedbackItem.Body)) { post.Text = feedbackItem.Body; if (feedbackItem.Body.Length == 0 && feedbackItem.FeedbackType == FeedbackType.PingTrack) { post.Text = "Pingback / Trackback"; } } } if (_gravatarService.Enabled) { var gravatarImage = e.Item.FindControl("GravatarImg") as Image; if (gravatarImage != null) { string ip; if (feedbackItem.IpAddress != null) { ip = feedbackItem.IpAddress.ToString(); } else { ip = string.Format("{0} {1}", DateTime.UtcNow.Millisecond, DateTime.UtcNow.Second); } string gravatarUrl = gravatarUrl = _gravatarService.GenerateUrl(feedbackItem.Email); gravatarImage.Attributes.Remove("PlaceHolderImage"); gravatarImage.ImageUrl = gravatarUrl; gravatarImage.Visible = true; } } if (Request.IsAuthenticated && User.IsAdministrator()) { var editCommentTextLink = (HyperLink)(e.Item.FindControl("EditCommentTextLink")); if (editCommentTextLink != null) { editCommentTextLink.NavigateUrl = AdminUrl.FeedbackEdit(feedbackItem.Id); if (String.IsNullOrEmpty(editCommentTextLink.Text)) { editCommentTextLink.Text = "Edit Comment " + feedbackItem.Id.ToString(CultureInfo.InstalledUICulture); } ControlHelper.SetTitleIfNone(editCommentTextLink, "Click to edit this entry."); } var editCommentImgLink = (HyperLink)(e.Item.FindControl("EditCommentImgLink")); if (editCommentImgLink != null) { editCommentImgLink.NavigateUrl = AdminUrl.FeedbackEdit(feedbackItem.Id); if (String.IsNullOrEmpty(editCommentImgLink.ImageUrl)) { editCommentImgLink.ImageUrl = Url.EditIconUrl(); } ControlHelper.SetTitleIfNone(editCommentImgLink, "Click to edit comment " + feedbackItem.Id.ToString(CultureInfo.InstalledUICulture)); } } } } }
public string ReferrersUrl(object item) { var entry = (Entry)item; return(AdminUrl.Referrers(entry.Id)); }
public string ArticlesEditUrl(object item) { var entry = (Entry)item; return(AdminUrl.ArticlesEdit(entry.Id)); }
public string PostsEditUrl(object item) { var entry = (Entry)item; return(AdminUrl.PostsEdit(entry.Id)); }
public string AjaxServicesUrl() { return(AdminUrl.AjaxServices() + "?proxy"); }