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); }
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); }
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); }
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); }
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); }
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)); }