public void Remove(ScriptFile item) { if (item.Exists()) { item.Delete(); } }
/// <summary> /// The script file url o fsite /// </summary> /// <param name="frontUrlHelper">The front url helper</param> /// <param name="site">The site</param> /// <param name="baseUri">Base uri</param> /// <param name="relativeScriptFilePath">The relative script file path of site</param> /// <returns></returns> public static IHtmlString ScriptFileUrl(this FrontUrlHelper frontUrlHelper, Site site, string baseUri, string relativeScriptFilePath, bool forceSSL = false) { string resourceDomain = site.ResourceDomain.FormatUrlWithProtocol(forceSSL); bool scriptFileExists = false; string scriptFileUrl = String.Empty; string scriptFilePhysicalPath = String.Empty; do { site = site.AsActual(); ScriptFile scriptFile = new ScriptFile(site, String.Empty); if (scriptFile != null) { scriptFileUrl = UrlUtility.Combine(scriptFile.VirtualPath, relativeScriptFilePath); scriptFilePhysicalPath = HttpContext.Current.Server.MapPath(scriptFileUrl); scriptFileExists = File.Exists(scriptFilePhysicalPath); } site = site.Parent; } while (site != null && !scriptFileExists); if (!String.IsNullOrEmpty(resourceDomain)) { baseUri = resourceDomain; // CDN have high priority } return new HtmlString(UrlUtility.ToHttpAbsolute(baseUri, scriptFileUrl)); }
public void TestVirtualPath() { var site = new Site("Site1"); var scriptFile = new ScriptFile(site, "script1.js"); string expected1 = Kooboo.Web.Url.UrlUtility.Combine(site.VirtualPath, "scripts", "script1.js"); Assert.AreEqual(expected1, scriptFile.VirtualPath, true); }
public void TestPhysicalPath() { var site = new Site("Site1"); var scriptFile = new ScriptFile(site, "script1.js"); string expected1 = Path.Combine(site.PhysicalPath, "scripts", "script1.js"); Assert.AreEqual(expected1, scriptFile.PhysicalPath, true); }
public void TestParseFromPhysicalPath() { string siteName = "site1"; string fileName = "script1"; string extension = ".js"; string physicalPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "sites", siteName, "scripts", fileName + extension); var scriptFile = new ScriptFile(physicalPath); Assert.AreEqual(fileName, scriptFile.Name); Assert.AreEqual(extension, scriptFile.FileExtension); Assert.IsTrue(scriptFile.Site.IsDummy); Assert.AreEqual(siteName, scriptFile.Site.Name); }
/// <summary> /// Get the file url under "Scripts" folder. /// </summary> /// <param name="relativeScriptFilePath">The relative file path.</param> /// <param name="withCDNResolving">if set to <c>true</c> [with CDN resolving].</param> /// <returns></returns> public virtual IHtmlString ScriptFileUrl(string relativeScriptFilePath, bool withCDNResolving) { Site site = this.Site; var dir = Path.GetDirectoryName(relativeScriptFilePath); var fileVirtualPath = ""; if (string.IsNullOrEmpty(dir)) { fileVirtualPath = new ScriptFile(site, relativeScriptFilePath).VirtualPath; } else { do { var scriptsPath = new ScriptFile(site, ""); fileVirtualPath = UrlUtility.Combine(scriptsPath.VirtualPath, relativeScriptFilePath); var physicalPath = UrlUtility.MapPath(fileVirtualPath); if (File.Exists(physicalPath)) { break; } else { site = site.Parent; } } while (site != null); } if (withCDNResolving) { return ResourceCDNUrl(fileVirtualPath); } else { return new HtmlString(Url.Content(fileVirtualPath)); } }
protected void Save(ScriptFile item) { item.Save(); }
public void Update(ScriptFile @new, ScriptFile old) { Save(@new); }
public void Localize(ScriptFile file, Site targetSite) { var targetFile = new ScriptFile(targetSite, file.FileName); targetFile.Body = file.Read(); targetFile.Save(); }
public ScriptFile Get(ScriptFile dummy) { throw new NotImplementedException(); }
public void Add(ScriptFile item) { Save(item); }