/// <summary> /// The build node name. /// </summary> /// <param name="item"> /// The item. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> private static string BuildNodeName(Item item) { if (item == null) { return(string.Empty); } var templateId = item.TemplateID.ToString(); switch (templateId) { case ItemToItem.TemplateId: var itemToItem = new ItemToItem(item); return(BuildItemToItemNodeName(itemToItem)); case SectionToItem.TemplateId: var sectionToItem = new SectionToItem(item); return(BuildSectionToItemNode(sectionToItem)); case SectionToSection.TemplateId: var sectionToSection = new SectionToSection(item); return(BuildSectionToSectionNode(sectionToSection)); case RegExRedirect.TemplateId: var regExRedirect = new RegExRedirect(item); return(BuildRegExNodeName(regExRedirect)); } return(string.Format("<p>{0}</p>", item.Name)); }
/// <summary> /// Adds the item to item redirect. /// </summary> /// <param name="item">The item.</param> /// <returns>Redirect item</returns> private static RedirectItem AddItemToItemRedirect(Item item) { if (item == null) { return(null); } var itemToItem = new ItemToItem(item); if (itemToItem.TargetItem == null || (itemToItem.TargetItem.TargetItem == null && string.IsNullOrEmpty(itemToItem.TargetItem.Url)) || string.IsNullOrEmpty(itemToItem.BaseItem.Value)) { return(null); } var external = true; var targetUrl = itemToItem.TargetItem.Url; if (itemToItem.TargetItem.IsInternal) { if (!CheckPresentation(itemToItem.TargetItem.TargetItem)) { return(null); } targetUrl = UrlNormalizer.CheckPageExtension(UrlNormalizer.GetItemUrl(itemToItem.TargetItem.TargetItem)); external = false; } var redirectItem = new RedirectItem { ItemId = itemToItem.ID, Target = targetUrl, TargetQueryString = itemToItem.TargetItem.QueryString, Base = UrlNormalizer.CheckPageExtension(UrlNormalizer.Normalize(itemToItem.BaseItem.Value)), External = external, RedirectCode = itemToItem.RedirectCode, Multisites = ConvertMultisites(itemToItem.Multisites), UseOnDefault = itemToItem.UseOnDefault.Checked }; return(redirectItem); }
/// <summary> /// Builds the name of the item to item node. /// </summary> /// <param name="item">The item.</param> /// <returns>item to item node name</returns> private static string BuildItemToItemNodeName(ItemToItem item) { if (item == null) { return(string.Empty); } var targetUrl = "Empty"; if (!string.IsNullOrEmpty(item.TargetItem.Url) || item.TargetItem.TargetItem != null) { targetUrl = item.TargetItem.IsInternal ? UrlNormalizer.GetItemUrl(item.TargetItem.TargetItem) : item.TargetItem.Url; } return(string.Format( "<div class=\"block-name\"><div class=\"name\">{0}</div><div class=\"title\">Base Url: {2}, Target Url: {3}</div></div><div class=\"description\">Redirect Code: {4}, Multisites: {6}, Last Use: {5}, ID: {1}</div>", item.Name, item.ID, string.IsNullOrEmpty(item.BaseItem.Value) ? "Empty" : UrlNormalizer.EncodeUrl(UrlNormalizer.CheckPageExtension(UrlNormalizer.Normalize(item.BaseItem.Value))), UrlNormalizer.CheckPageExtension(UrlNormalizer.EncodeUrl(targetUrl)), item.RedirectCode != 0 ? item.RedirectCode : Configuration.RedirectStatusCode, item.LastUse.DateTime.ToString("MM/dd/yy") != "01/01/01" ? item.LastUse.DateTime.ToString("MM/dd/yy") : "Never", UrlNormalizer.EncodeUrl(RedirectProcessor.ConvertMultisites(item.Multisites)))); }
/// <summary> /// Adds the item to item redirect. /// </summary> /// <param name="item">The item.</param> /// <returns>Redirect item</returns> private static RedirectItem AddItemToItemRedirect(Item item) { if (item == null) { return null; } var itemToItem = new ItemToItem(item); if ((string.IsNullOrEmpty(itemToItem.TargetItem.Url) && itemToItem.TargetItem.TargetItem == null) || string.IsNullOrEmpty(itemToItem.BaseItem.Value)) { return null; } var external = true; var targetUrl = itemToItem.TargetItem.Url; if (itemToItem.TargetItem.IsInternal) { if (!CheckPresentation(itemToItem.TargetItem.TargetItem)) { return null; } targetUrl = UrlNormalizer.GetItemUrl(itemToItem.TargetItem.TargetItem); external = false; } var redirectItem = new RedirectItem { ItemId = itemToItem.ID, Target = targetUrl, TargetQueryString = itemToItem.TargetItem.QueryString, Base = UrlNormalizer.CheckPageExtension(UrlNormalizer.Normalize(itemToItem.BaseItem.Value)), External = external, RedirectCode = itemToItem.RedirectCode, Multisites = ConvertMultisites(itemToItem.Multisites), UseOnDefault = itemToItem.UseOnDefault.Checked }; return redirectItem; }