Example #1
0
        public override void ExtractingProperty(Core.Item item, ItemProviders.ContentProperty propertyData)
        {
            //convert any node guids back to node Ids
            propertyData.Value = Umbraco.Courier.Core.Helpers.XmlDependencies.ReplaceIds(propertyData.Value.ToString(), dataXpath, Core.Enums.IdentifierReplaceDirection.FromGuidToNodeId);

            //register any uploaded media
        }
Example #2
0
        public override void PackagingProperty(Core.Item item, ItemProviders.ContentProperty propertyData)
        {
            if (propertyData != null && item != null && propertyData.Value != null)
            {
                List <string> idsFound = new List <string>();
                propertyData.Value = XmlDependencies.ReplaceIds(propertyData.Value.ToString(), "//* [@propertyid != '']", Core.Enums.IdentifierReplaceDirection.FromNodeIdToGuid, out idsFound);

                Logging._Debug(idsFound.Count + " Embedded content ids found");
                //we find and replace ids
                foreach (var id in idsFound)
                {
                    Guid g = Guid.Empty;
                    //we have to it this way, as there is no indication in the data whether the ID is media or document
                    if (Guid.TryParse(id, out g))
                    {
                        //is it content?
                        if (PersistenceManager.Default.GetNodeId(g, NodeObjectTypes.Document) != 0)
                        {
                            item.Dependencies.Add(id, ProviderIDCollection.documentItemProviderGuid);
                        }
                        else if (PersistenceManager.Default.GetNodeId(g, NodeObjectTypes.Media) != 0)
                        {
                            item.Dependencies.Add(id, ProviderIDCollection.mediaItemProviderGuid);
                        }
                    }
                }
            }
        }
Example #3
0
        public override void PackagingProperty(Core.Item item, ItemProviders.ContentProperty propertyData)
        {
            List <string> replacedIds = new List <string>();

            propertyData.Value = Umbraco.Courier.Core.Helpers.XmlDependencies.ReplaceIds(propertyData.Value.ToString(), dataXpath, Core.Enums.IdentifierReplaceDirection.FromNodeIdToGuid, out replacedIds);

            //these are the IDs we found in the picker, those documents are a dependency
            foreach (string guid in replacedIds)
            {
                if (!string.IsNullOrEmpty(guid.Trim()))
                {
                    item.Dependencies.Add(guid, Courier.ItemProviders.ProviderIDCollection.documentItemProviderGuid);
                }
            }
        }
Example #4
0
        public override void PackagingProperty(Core.Item item, ItemProviders.ContentProperty propertyData)
        {
            //first we need to get the mode of the picker
            XmlDocument doc = Umbraco.Courier.Core.Helpers.XmlDependencies.LoadXml(propertyData.Value.ToString());

            if (doc != null)
            {
                XmlNode node = doc.SelectSingleNode("/url-picker");

                Umbraco.Courier.Core.Helpers.Logging._Debug("loading node");

                if (node != null && node.Attributes["mode"] != null)
                {
                    string mode = node.Attributes["mode"].Value.ToLower();
                    Umbraco.Courier.Core.Helpers.Logging._Debug("node mode:" + mode);

                    if (mode == "upload")
                    {
                        foreach (var resource in Umbraco.Courier.Core.Helpers.XmlDependencies.FindResources(propertyData.Value.ToString(), resourceXpath, null))
                        {
                            item.Resources.Add(resource);
                        }
                    }

                    if (mode == "content" || mode == "media")
                    {
                        var provider = Courier.ItemProviders.ProviderIDCollection.documentItemProviderGuid;
                        if (mode == "media")
                        {
                            provider = Courier.ItemProviders.ProviderIDCollection.mediaItemProviderGuid;
                        }


                        List <string> replacedIds = new List <string>();
                        propertyData.Value = Umbraco.Courier.Core.Helpers.XmlDependencies.ReplaceIds(propertyData.Value.ToString(), dataXpath, Core.Enums.IdentifierReplaceDirection.FromNodeIdToGuid, out replacedIds);

                        foreach (string guid in replacedIds)
                        {
                            if (!string.IsNullOrEmpty(guid.Trim()))
                            {
                                item.Dependencies.Add(guid, provider);
                            }
                        }
                    }
                }
            }
        }
Example #5
0
 public override void ExtractingProperty(Core.Item item, ItemProviders.ContentProperty propertyData)
 {
     propertyData.Value = Umbraco.Courier.Core.Helpers.XmlDependencies.ReplaceIds(propertyData.Value.ToString(), dataXpath, Core.Enums.IdentifierReplaceDirection.FromGuidToNodeId);
 }