private static string ImageUrlFromXml(RazorLibraryCore ctx, DynamicXml media, string cropProperty, string cropName) { string url = null; if (media != null) { var crop = new DynamicXml(media.DescendantsOrSelf(x => x.Name == cropProperty).FirstOrDefault().ToXml()); try { if (crop != null) { dynamic c = crop.Find("@name", cropName); url = (string)c.url; } } catch { } if (string.IsNullOrWhiteSpace(url)) { var f = media.Descendants(x => x.Name == "umbracoFile").FirstOrDefault(); if (f != null) { url = f.InnerText; } } } return(url ?? ""); }
/// <summary> /// Inits the specified current node id. /// </summary> /// <param name="CurrentNodeId">The current node id.</param> /// <param name="PropertyData">The property data.</param> /// <param name="instance">The instance.</param> /// <returns></returns> public bool Init(int CurrentNodeId, string PropertyData, out object instance) { if (!Settings.RazorModelBindingEnabled) { instance = PropertyData; return true; } var nodeIds = uQuery.GetCsvIds(PropertyData); var library = new RazorLibraryCore(null); instance = (library.NodesById(nodeIds) as DynamicNodeList); return true; }
/// <summary> /// Inits the specified current node id. /// </summary> /// <param name="CurrentNodeId">The current node id.</param> /// <param name="PropertyData">The property data.</param> /// <param name="instance">The instance.</param> /// <returns></returns> public bool Init(int CurrentNodeId, string PropertyData, out object instance) { if (!Settings.RazorModelBindingEnabled) { instance = PropertyData; return(true); } var nodeIds = uQuery.GetCsvIds(PropertyData); var library = new RazorLibraryCore(null); instance = (library.NodesById(nodeIds) as DynamicNodeList); return(true); }
public static IEnumerable<dynamic> GetInternalLinkNodes(dynamic linksProperty) { var nodes = new List<dynamic>(); var library = new RazorLibraryCore(Node.GetCurrent()); dynamic links = linksProperty.BaseElement.Elements("link"); foreach (dynamic link in links) { if (link.Attribute("type").Value == "internal") { int relatedNodeId = int.Parse(link.Attribute("link").Value); nodes.Add(library.NodeById(relatedNodeId)); } } return nodes; }
public static IEnumerable<string> GetInternalLinkUrls(dynamic linksProperty) { var urls = new List<string>(); var library = new RazorLibraryCore(Node.GetCurrent()); dynamic links = linksProperty.BaseElement.Elements("link"); foreach (dynamic link in links) { if (link.Attribute("type").Value == "internal") { int relatedNodeId = int.Parse(link.Attribute("link").Value); dynamic relatedNode = library.NodeById(relatedNodeId); urls.Add((string)relatedNode.Url); } } return urls; }
public static dynamic GetLinkedNode(dynamic linkProperty) { dynamic node = null; try { dynamic link = linkProperty.BaseElement.Element("link"); if (link.Attribute("type").Value == "internal") { int relatedNodeId = int.Parse(link.Attribute("link").Value); node = new RazorLibraryCore(Node.GetCurrent()).NodeById(relatedNodeId); } } catch (Exception ex) { node = null; } return node; }
private static string ImageUrlFromMediaItem(RazorLibraryCore ctx, int mediaId, string cropProperty, string cropName) { string url = null; DynamicMedia media = ctx.MediaById(mediaId); if (media != null) { if (media.HasProperty(cropProperty)) { dynamic d = new DynamicXml(media.GetPropertyValue(cropProperty)).Find("@name", cropName); url = (string)d.url; } if (string.IsNullOrWhiteSpace(url) && media.HasValue("umbracoFile")) { url = media.GetPropertyValue("umbracoFile"); } } return(url ?? ""); }
public static string GetLinkUrl(dynamic linkProperty, out bool isInternal) { dynamic link = linkProperty.BaseElement.Element("link"); if (link == null) { isInternal = true; return "/"; } if (link.Attribute("type").Value == "internal") { int relatedNodeId = int.Parse(link.Attribute("link").Value); dynamic relatedNode = new RazorLibraryCore(Node.GetCurrent()).NodeById(relatedNodeId); isInternal = true; return relatedNode.Url; } isInternal = false; return link.Attribute("link").Value; }
/// <summary> /// Inits the specified current node id. /// </summary> /// <param name="CurrentNodeId">The current node id.</param> /// <param name="PropertyData">The property data.</param> /// <param name="instance">The instance.</param> /// <returns></returns> public bool Init(int CurrentNodeId, string PropertyData, out object instance) { if (!Settings.RazorModelBindingEnabled) { if (Helper.Xml.CouldItBeXml(PropertyData)) { #pragma warning disable 0618 instance = new DynamicXml(PropertyData); #pragma warning restore 0618 return(true); } instance = PropertyData; return(true); } var nodeIds = Helper.Xml.CouldItBeXml(PropertyData) ? umbraco.uQuery.GetXmlIds(PropertyData) : umbraco.uQuery.ConvertToIntArray(umbraco.uQuery.GetCsvIds(PropertyData)); var library = new RazorLibraryCore(null); instance = (library.NodesById(nodeIds.ToList()) as DynamicNodeList); return(true); }
/// <summary> /// Inits the specified current node id. /// </summary> /// <param name="CurrentNodeId">The current node id.</param> /// <param name="PropertyData">The property data.</param> /// <param name="instance">The instance.</param> /// <returns></returns> public bool Init(int CurrentNodeId, string PropertyData, out object instance) { if (!Settings.RazorModelBindingEnabled) { if (Helper.Xml.CouldItBeXml(PropertyData)) { #pragma warning disable 0618 instance = new DynamicXml(PropertyData); #pragma warning restore 0618 return true; } instance = PropertyData; return true; } var nodeIds = Helper.Xml.CouldItBeXml(PropertyData) ? umbraco.uQuery.GetXmlIds(PropertyData) : umbraco.uQuery.ConvertToIntArray(umbraco.uQuery.GetCsvIds(PropertyData)); var library = new RazorLibraryCore(null); instance = (library.NodesById(nodeIds.ToList()) as DynamicNodeList); return true; }
public static IEnumerable <string> ImageUrls(this RazorLibraryCore ctx, DynamicNode node, string alias, string cropProperty, string cropName) { var mediaProp = node.GetProperty(alias); if (mediaProp != null && !string.IsNullOrWhiteSpace(mediaProp.Value)) { if (mediaProp.Value.Contains('<')) { foreach (var m in new DynamicXml(mediaProp.Value).OfType <DynamicXml>()) { var url = ImageUrlFromXml(ctx, m, cropProperty, cropName); if (!url.IsNullOrWhiteSpace()) { yield return(url); } } } else { //we look like a list ofr ids foreach (var val in mediaProp.Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { int mediaId = 0; if (int.TryParse(val, out mediaId)) { var url = ImageUrlFromMediaItem(ctx, mediaId, cropProperty, cropName); if (!url.IsNullOrWhiteSpace()) { yield return(url); } } } //we look like xml } } }
public static string ImageUrl(this RazorLibraryCore ctx, DynamicNode node, string alias, string cropProperty, string cropName) { return(ImageUrls(ctx, node, alias, cropProperty, cropName).FirstOrDefault()); }
private static string ImageUrlFromXml(RazorLibraryCore ctx, DynamicXml media, string cropProperty, string cropName) { string url = null; if (media != null) { var crop = new DynamicXml(media.DescendantsOrSelf(x => x.Name == cropProperty).FirstOrDefault().ToXml()); try { if (crop != null) { dynamic c = crop.Find("@name", cropName); url = (string)c.url; } } catch { } if (string.IsNullOrWhiteSpace(url)) { var f = media.Descendants(x => x.Name == "umbracoFile").FirstOrDefault(); if (f != null) url = f.InnerText; } } return url ?? ""; }
private static string ImageUrlFromMediaItem(RazorLibraryCore ctx, int mediaId, string cropProperty, string cropName) { string url = null; DynamicMedia media = ctx.MediaById(mediaId); if (media != null) { if (media.HasProperty(cropProperty)) { dynamic d = new DynamicXml(media.GetPropertyValue(cropProperty)).Find("@name", cropName); url = (string)d.url; } if (string.IsNullOrWhiteSpace(url) && media.HasValue("umbracoFile")) { url = media.GetPropertyValue("umbracoFile"); } } return url ?? ""; }
public static IHtmlString RenderMacro(this RazorLibraryCore ctx, string aliasOrPath, params object[] properties) { //wrap the control returned in a ControlHtmlString that is used to render the control to a //string then exposes that string as a HtmlString so Razor will render the contents correctly return(new LazyHtmlString(() => RenderMacro(ctx.Node.Id, aliasOrPath, properties))); }
public static IHtmlString RichText(this RazorLibraryCore ctx, string alias) { var dyNode = new DynamicNode(ctx.Node); return(ctx.RichText(dyNode, alias)); }
public static IHtmlString RichText(this RazorLibraryCore ctx, DynamicNode item, string alias) { return(new LazyHtmlString(() => umbraco.library.RenderMacroContent(item.GetPropertyValue(alias), ctx.Node.Id))); }
public static string ImageUrl(this RazorLibraryCore ctx, string alias, string cropProperty, string cropName) { return(ImageUrl(ctx, new DynamicNode(ctx.Node), alias, cropProperty, cropName)); }