Beispiel #1
0
        /// <summary>
        /// Get all urls of published pages
        /// </summary>
        /// <param name="includeExtensions"></param>
        /// <param name="pathStarts"></param>
        /// <param name="publicationID"></param>
        /// <returns></returns>
        public string[] GetAllPublishedPageUrls(string[] includeExtensions, string[] pathStarts)
        {
            using (var pa = new Com.Tridion.Broker.Pages.Meta.SQLPageMetaHome())
            {
                Java.Util.Collection pageCollection = pa.FindAll(PublicationId);
                var pageList = new List <Com.Tridion.Meta.PageMeta>();
                foreach (object pageMetaObject in pageCollection)
                {
                    pageList.Add((Com.Tridion.Meta.PageMeta)pageMetaObject);
                }

                using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
                {
                    Java.Util.Collection binCollection = sqlBinMetaHome.FindAll(PublicationId);
                    var binList = new List <Com.Tridion.Meta.BinaryMeta>();
                    foreach (object binMetaObject in binCollection)
                    {
                        binList.Add((Com.Tridion.Meta.BinaryMeta)binMetaObject);
                    }
                    var pageUrls = pageList.Select(pm => pm.GetURLPath());
                    var binUrls  = binList.Select(bm => bm.GetURLPath());
                    return(pageUrls
                           .Concat(binUrls)
                           .Where(url =>
                                  includeExtensions.Contains(url.Substring(url.LastIndexOf('.') + 1)) &&
                                  pathStarts.Any(pathStart => url.StartsWith(pathStart)))
                           .ToArray());
                }
            }
        }
        /// <summary>
        /// Get all urls of published pages
        /// </summary>
        /// <param name="includeExtensions"></param>
        /// <param name="pathStarts"></param>
        /// <param name="publicationID"></param>
        /// <returns></returns>
        public string[] GetAllPublishedPageUrls(string[] includeExtensions, string[] pathStarts)
        {
            using (var pa = new Com.Tridion.Broker.Pages.Meta.SQLPageMetaHome())
            {
                Java.Util.Collection pageCollection = pa.FindAll(PublicationId);
                var pageList = new List<Com.Tridion.Meta.PageMeta>();
                foreach (object pageMetaObject in pageCollection)
                {
                    pageList.Add((Com.Tridion.Meta.PageMeta)pageMetaObject);
                }

                using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
                {
                    Java.Util.Collection binCollection = sqlBinMetaHome.FindAll(PublicationId);
                    var binList = new List<Com.Tridion.Meta.BinaryMeta>();
                    foreach (object binMetaObject in binCollection)
                    {
                        binList.Add((Com.Tridion.Meta.BinaryMeta)binMetaObject);
                    }
                    var pageUrls = pageList.Select(pm => pm.GetURLPath());
                    var binUrls = binList.Select(bm => bm.GetURLPath());
                    return pageUrls
                        .Concat(binUrls)
                        .Where(url =>
                            includeExtensions.Contains(url.Substring(url.LastIndexOf('.') + 1))
                            && pathStarts.Any(pathStart => url.StartsWith(pathStart)))
                        .ToArray();
                }
            }
        }
Beispiel #3
0
 public byte[] GetBinaryByUri(string uri)
 {
     byte[] retVal = null;
     using (Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome bmHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
     {
         TCDURI tcdUri = new TCDURI(uri);
         Com.Tridion.Meta.BinaryMeta bm = bmHome.FindByPrimaryKey(tcdUri);
         if (bm == null)
         {
             return(retVal);
         }
         using (Com.Tridion.Broker.Binaries.SQLBinaryHome binaryHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome())
         {
             Com.Tridion.Data.BinaryData data = binaryHome.FindByPrimaryKey(PublicationId, Convert.ToInt32(bm.GetId()), bm.GetVariantId());
             retVal = data.GetBytes();
         }
     }
     return(retVal);
 }
Beispiel #4
0
        public byte[] GetBinaryByUrl(string url)
        {
            string encodedUrl = HttpUtility.UrlPathEncode(url); // ?? why here? why now?

            byte[] retVal = null;
            //TODO: Add usings instead of fully classified names
            using (Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome bmHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
            {
                Com.Tridion.Meta.BinaryMeta bm = bmHome.FindByURL(PublicationId, encodedUrl);
                if (bm == null)
                {
                    return(retVal);
                }
                using (Com.Tridion.Broker.Binaries.SQLBinaryHome binaryHome = new Com.Tridion.Broker.Binaries.SQLBinaryHome())
                {
                    Com.Tridion.Data.BinaryData data = binaryHome.FindByPrimaryKey(PublicationId, Convert.ToInt32(bm.GetId()), bm.GetVariantId());
                    retVal = data.GetBytes();
                }
            }
            return(retVal);
        }