public static string ReadUrl(string url, bool enableCaching = false, long cacheDurationInSeconds = 86400)
        {
            if (url == null)
            {
                return("");
            }

            var absUrl = URIHelper.ConvertToAbsUrl(url).ToLower();

            var    data    = "";
            string absPath = URIHelper.ConvertToAbsPath(URIHelper.ConvertAbsUrlToTilda(url));

            using (FileStream fs = File.Open(absPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                using (BufferedStream bs = new BufferedStream(fs))
                    using (StreamReader sr = new StreamReader(bs))
                    {
                        data = sr.ReadToEnd();
                    }

            if (enableCaching)
            {
                ContextHelper.SaveToCache(absUrl, data, DateTime.Now.AddSeconds(cacheDurationInSeconds));
            }

            return(data);
        }
Exemple #2
0
        public string CalculatedVirtualPath()
        {
            var parents = GetAllParentMediaDetails(this.LanguageID).Reverse();

            var virtualPath = "";

            foreach (var parent in parents)
            {
                if (parent is RootPage || parent is Website)
                {
                    continue;
                }

                virtualPath = StringHelper.CreateSlug(parent.LinkTitle) + "/" + virtualPath;
            }

            if (virtualPath == "")
            {
                virtualPath = "~/";
            }

            virtualPath = URIHelper.ConvertAbsUrlToTilda(virtualPath);

            return(virtualPath);
        }
Exemple #3
0
        public Return Validate()
        {
            var returnOnj = BaseMapper.GenerateReturn();

            MediaTypeHandler = MediaTypeHandler.Trim();

            if (!File.Exists(URIHelper.ConvertToAbsPath(URIHelper.ConvertAbsUrlToTilda(MediaTypeHandler))))
            {
                var ex = new Exception("Media Type MediaTypeHandler is invalid", new Exception("File (" + MediaTypeHandler + ") does not exist"));
                returnOnj.Error = ErrorHelper.CreateError(ex);
            }

            return(returnOnj);
        }
Exemple #4
0
        public static string GetParentPath(string url, int levelsUp)
        {
            var segments = GetParentPathList(url, levelsUp);
            var path     = String.Join("/", segments);

            if (!path.EndsWith("/"))
            {
                path += "/";
            }

            path = URIHelper.ConvertAbsUrlToTilda(path);

            return(path);
        }
Exemple #5
0
        public static string GetCurrentVirtualPath(bool asAbsPath = false, bool includeQueryString = false)
        {
            string virtualPath = HttpContext.Current.Request.Path;

            if (virtualPath.StartsWith("~/" + HttpContext.Current.Request.Url.Host))
            {
                virtualPath = virtualPath.Replace("~/" + HttpContext.Current.Request.Url.Host, "~");
            }

            if (HttpContext.Current.Request.ApplicationPath != "/")
            {
                virtualPath = virtualPath.ToLower().Replace(HttpContext.Current.Request.ApplicationPath.ToLower(), "");
            }

            if (virtualPath.ToLower().Contains("~/default.aspx"))
            {
                virtualPath = "~/";
            }

            virtualPath = URIHelper.ConvertAbsUrlToTilda(virtualPath);

            if (asAbsPath)
            {
                virtualPath = ConvertToAbsUrl(virtualPath);
            }

            if (virtualPath == "")
            {
                virtualPath = "~/";
            }

            /*var details = MediaDetailsMapper.GetByVirtualPath(virtualPath, false);
             *
             * if (details == null)
             * {
             *  if (!virtualPath.Contains(FrameworkSettings.RootMediaDetail.VirtualPath))
             *      virtualPath = virtualPath.Replace("~/", FrameworkSettings.RootMediaDetail.VirtualPath);
             * }*/

            return(virtualPath);
        }
Exemple #6
0
        public static bool StartsWithLanguage(string url)
        {
            IEnumerable <Language> languages = LanguagesMapper.GetAllActive();

            url = ConvertAbsUrlToTilda(url);

            foreach (Language language in languages)
            {
                string url2 = URIHelper.ConvertAbsUrlToTilda(GetBaseUrlWithLanguage(language));

                if (url2.EndsWith("/"))
                {
                    url2 = url2.Remove(url2.Length - 1);
                }

                if (url.StartsWith(url2))
                {
                    return(true);
                }
            }

            return(false);
        }
        public static MasterPage GetByPathToFile(string pathToFile)
        {
            pathToFile = URIHelper.ConvertAbsUrlToTilda(pathToFile).ToLower();

            return(GetDataModel().MasterPages.FirstOrDefault(item => item.PathToFile.ToLower() == pathToFile));
        }