示例#1
0
        void btnAddExpert_Click(object sender, EventArgs e)
        {
            if (
                (this.txtFriendlyUrl.Text.Length > 0) &&
                (this.txtRealUrl.Text.Length > 0)
                )
            {
                if (WebPageInfo.IsPhysicalWebPage("~/" + txtFriendlyUrl.Text))
                {
                    this.lblError.Text = Resource.FriendlyUrlWouldMaskPhysicalPageWarning;
                    return;
                }

                if (FriendlyUrl.Exists(siteSettings.SiteId, txtFriendlyUrl.Text))
                {
                    this.lblError.Text = Resource.FriendlyUrlDuplicateWarning;
                    return;
                }

                FriendlyUrl url = new FriendlyUrl();
                url.SiteId   = siteSettings.SiteId;
                url.SiteGuid = siteSettings.SiteGuid;
                url.Url      = this.txtFriendlyUrl.Text;
                url.RealUrl  = this.txtRealUrl.Text;
                url.Save();

                WebUtils.SetupRedirect(this, Request.RawUrl);
            }
            else
            {
                this.lblError.Text = Resource.FriendlyUrlInvalidEntryMessage;
            }
        }
示例#2
0
        private void btnAddFriendlyUrl_Click(object sender, EventArgs e)
        {
            if (this.txtFriendlyUrl.Text.Length > 0)
            {
                if (WebPageInfo.IsPhysicalWebPage("~/" + txtFriendlyUrl.Text))
                {
                    this.lblError.Text = Resource.FriendlyUrlWouldMaskPhysicalPageWarning;
                    return;
                }

                if (FriendlyUrl.Exists(siteSettings.SiteId, txtFriendlyUrl.Text))
                {
                    this.lblError.Text = Resource.FriendlyUrlDuplicateWarning;
                    return;
                }

                if (FriendlyUrl.Exists(siteSettings.SiteId, txtFriendlyUrl.Text.ToLower()))
                {
                    this.lblError.Text = Resource.FriendlyUrlDuplicateWarning;
                    return;
                }

                FriendlyUrl url = new FriendlyUrl();
                url.SiteId   = siteSettings.SiteId;
                url.SiteGuid = siteSettings.SiteGuid;

                int pageId = -1;
                if (int.TryParse(ddPages.SelectedValue, out pageId))
                {
                    if (pageId > -1)
                    {
                        PageSettings page = new PageSettings(siteSettings.SiteId, pageId);
                        url.PageGuid = page.PageGuid;
                    }
                }

                url.Url     = this.txtFriendlyUrl.Text;
                url.RealUrl = "Default.aspx?pageid=" + ddPages.SelectedValue;
                url.Save();

                WebUtils.SetupRedirect(this, Request.RawUrl);
            }
            else
            {
                this.lblError.Text = Resource.FriendlyUrlInvalidFriendlyUrlMessage;
            }
        }
示例#3
0
        private void dlUrlMap_ItemCommand(object sender, DataListCommandEventArgs e)
        {
            int         urlID       = Convert.ToInt32(dlUrlMap.DataKeys[e.Item.ItemIndex]);
            FriendlyUrl friendlyUrl = new FriendlyUrl(urlID);

            switch (e.CommandName)
            {
            case "edit":
                dlUrlMap.EditItemIndex = e.Item.ItemIndex;
                Control      c  = e.Item.FindControl("ddPagesEdit");
                DropDownList dd = null;
                if ((c != null) && (pageList != null))
                {
                    dd            = (DropDownList)c;
                    dd.DataSource = pageList;
                    dd.DataBind();
                }
                PopulateControls();
                if (dd != null)
                {
                    String selection = ParsePageId(friendlyUrl.RealUrl);
                    if (selection.Length > 0)
                    {
                        ListItem listItem = dd.Items.FindByValue(selection);
                        if (listItem != null)
                        {
                            dd.ClearSelection();
                            listItem.Selected = true;
                        }
                    }
                }
                break;

            case "apply":

                TextBox txtItemFriendlyUrl
                    = (TextBox)e.Item.FindControl("txtItemFriendlyUrl");

                if (txtItemFriendlyUrl.Text.Length > 0)
                {
                    Control cEdit = e.Item.FindControl("ddPagesEdit");
                    if (cEdit != null)
                    {
                        DropDownList ddEdit = (DropDownList)cEdit;
                        friendlyUrl.Url = txtItemFriendlyUrl.Text;
                        if (WebPageInfo.IsPhysicalWebPage("~/" + friendlyUrl.Url))
                        {
                            this.lblError.Text = Resource.FriendlyUrlWouldMaskPhysicalPageWarning;
                            return;
                        }


                        int pageId = -1;
                        if (int.TryParse(ddEdit.SelectedValue, out pageId))
                        {
                            if (pageId > -1)
                            {
                                PageSettings page = new PageSettings(siteSettings.SiteId, pageId);
                                friendlyUrl.PageGuid = page.PageGuid;
                            }
                        }

                        friendlyUrl.RealUrl = "Default.aspx?pageid=" + ddEdit.SelectedValue;
                        friendlyUrl.Save();
                    }

                    WebUtils.SetupRedirect(this, Request.RawUrl);
                }
                else
                {
                    this.lblError.Text = Resource.FriendlyUrlInvalidFriendlyUrlMessage;
                }
                break;

            case "applymanual":

                if (
                    (
                        (((TextBox)e.Item.FindControl("txtItemFriendlyUrl")).Text.Length > 0)
                    ) &&
                    (
                        (((TextBox)e.Item.FindControl("txtItemRealUrl")).Text.Length > 0)
                    )
                    )
                {
                    friendlyUrl.Url = ((TextBox)e.Item.FindControl("txtItemFriendlyUrl")).Text;
                    if (WebPageInfo.IsPhysicalWebPage("~/" + friendlyUrl.Url))
                    {
                        this.lblError.Text = Resource.FriendlyUrlWouldMaskPhysicalPageWarning;
                        return;
                    }
                    friendlyUrl.RealUrl  = ((TextBox)e.Item.FindControl("txtItemRealUrl")).Text;
                    friendlyUrl.PageGuid = Guid.Empty;
                    friendlyUrl.Save();
                    WebUtils.SetupRedirect(this, Request.RawUrl);
                }
                else
                {
                    this.lblError.Text = Resource.FriendlyUrlInvalidEntryMessage;
                }
                break;

            case "delete":

                FriendlyUrl.DeleteUrl(urlID);
                WebUtils.SetupRedirect(this, Request.RawUrl);
                break;

            case "cancel":
                WebUtils.SetupRedirect(this, Request.RawUrl);
                break;
            }
        }
示例#4
0
        private void SendResponse(HttpContext context)
        {
            if (context == null)
            {
                return;
            }

            context.Response.ContentType = "application/xml";
            Encoding encoding = new UTF8Encoding();

            XmlTextWriter xmlTextWriter = new XmlTextWriter(context.Response.OutputStream, encoding);

            xmlTextWriter.Formatting = Formatting.Indented;

            xmlTextWriter.WriteStartDocument();
            xmlTextWriter.WriteStartElement("DATA");
            string warning = string.Empty;

            if (context.Request.Params.Get("pn") != null)
            {
                String pageName = context.Request.Params.Get("pn");
                if (WebConfigSettings.AppendDateToBlogUrls)
                {
                    pageName += "-" + DateTime.UtcNow.AddHours(timeOffset).ToString("yyyy-MM-dd");
                }

                SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();

                if (siteSettings != null)
                {
                    String friendlyUrl = SiteUtils.SuggestFriendlyUrl(pageName, siteSettings);

                    if (WebPageInfo.IsPhysicalWebPage("~/" + friendlyUrl))
                    {
                        warning = BlogResources.BlogUrlConflictWithPhysicalPageError;
                    }

                    xmlTextWriter.WriteStartElement("fn");

                    xmlTextWriter.WriteString("~/" + friendlyUrl);

                    xmlTextWriter.WriteEndElement();

                    xmlTextWriter.WriteStartElement("wn");
                    xmlTextWriter.WriteString(warning);
                    xmlTextWriter.WriteEndElement();
                }
            }
            else
            {
                if (context.Request.Params.Get("cu") != null)
                {
                    String enteredUrl = context.Server.UrlDecode(context.Request.Params.Get("cu"));
                    if (WebPageInfo.IsPhysicalWebPage(enteredUrl))
                    {
                        warning = BlogResources.BlogUrlConflictWithPhysicalPageError;
                    }

                    xmlTextWriter.WriteStartElement("wn");
                    xmlTextWriter.WriteString(warning);
                    xmlTextWriter.WriteEndElement();
                }
            }

            //end of document
            xmlTextWriter.WriteEndElement();
            xmlTextWriter.WriteEndDocument();

            xmlTextWriter.Close();
            //Response.End();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.ContentType = "application/xml";
            Encoding encoding = new UTF8Encoding();

            XmlTextWriter xmlTextWriter = new XmlTextWriter(Response.OutputStream, encoding);

            xmlTextWriter.Formatting = Formatting.Indented;

            xmlTextWriter.WriteStartDocument();
            xmlTextWriter.WriteStartElement("DATA");
            string warning = string.Empty;

            if (Request.Params.Get("pn") != null)
            {
                String       pageName     = Request.Params.Get("pn");
                SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings();

                if (siteSettings != null)
                {
                    String friendlyUrl = SiteUtils.SuggestFriendlyUrl(pageName, siteSettings);

                    if (WebPageInfo.IsPhysicalWebPage("~/" + friendlyUrl))
                    {
                        warning = Resource.PageSettingsPhysicalUrlWarning;
                    }

                    xmlTextWriter.WriteStartElement("fn");

                    xmlTextWriter.WriteString("~/" + friendlyUrl);

                    xmlTextWriter.WriteEndElement();

                    xmlTextWriter.WriteStartElement("wn");
                    xmlTextWriter.WriteString(warning);
                    xmlTextWriter.WriteEndElement();
                }
            }
            else
            {
                if (Request.Params.Get("cu") != null)
                {
                    String enteredUrl = HttpContext.Current.Server.UrlDecode(Request.Params.Get("cu"));
                    if (WebPageInfo.IsPhysicalWebPage(enteredUrl))
                    {
                        warning = Resource.PageSettingsPhysicalUrlWarning;
                    }

                    xmlTextWriter.WriteStartElement("wn");
                    xmlTextWriter.WriteString(warning);
                    xmlTextWriter.WriteEndElement();
                }
            }

            //end of document
            xmlTextWriter.WriteEndElement();
            xmlTextWriter.WriteEndDocument();

            xmlTextWriter.Close();
            //Response.End();
        }