public static void AppendImageEntry(StringBuilder builder, DirectoryListEntry entry, string directoryAbsoluteUrl) { int photoInterval = SettingManager.GetIntValue("ImageInterval", 5); string url = String.Format("{0}{1}.{2}", directoryAbsoluteUrl, entry.Name, entry.Extension); //Photo List Format: //Photo Interval (in seconds)|Reserved|Title|Photo URL| builder.AppendFormat("{0}|0|{1}|{2}|", photoInterval, entry.Name, url); }
public override bool Equals(object obj) { if (obj is DirectoryListEntry) { DirectoryListEntry entry = (DirectoryListEntry)obj; return((m_name == entry.Name) && (m_extension == entry.Extension)); } return(false); }
public static void AppendAudioEntry(StringBuilder builder, DirectoryListEntry entry, string directoryAbsoluteUrl) { string url = String.Format("{0}{1}.{2}", directoryAbsoluteUrl, entry.Name, entry.Extension); //Song List Format: //Song Title|Range Start|Range End|Song URL| bool encodeNonAsciiUrls = SettingManager.GetBooleanValue("EncodeNonAsciiUrlsInAudioPlaylist", true); if (encodeNonAsciiUrls) { url = UrlEncodeNonAscii(url); } builder.AppendFormat("{0}|0|0|{1}|", entry.Name, url); }
public DirectoryListEntry Clone() { DirectoryListEntry entity = new DirectoryListEntry(); entity.Name = this.Name; entity.Extension = this.Extension; entity.IsDirectory = this.IsDirectory; entity.NavigateUrl = this.NavigateUrl; entity.BrowserTags = this.BrowserTags; //Cloning entity.MetaFields = new SortedList <string, object>(this.MetaFields); return(entity); }
public static DirectoryListEntryCollection GetDirectoryList(string physicalPath) { string[] directories; string[] files; DirectoryListEntryCollection collection = new DirectoryListEntryCollection(); if (Directory.Exists(physicalPath)) { directories = Directory.GetDirectories(physicalPath); files = Directory.GetFiles(physicalPath); foreach (string directoryPath in directories) { //virtualPath = VirtualPathUtility.Combine(context.Request.Path + "/", Path.GetFileName(str3)); DirectoryListEntry entry = new DirectoryListEntry(); string directoryName = Path.GetFileName(directoryPath); entry.Name = directoryName; entry.IsDirectory = true; collection.Add(entry); } foreach (string filePath in files) { DirectoryListEntry entry = new DirectoryListEntry(); string fileName = Path.GetFileNameWithoutExtension(filePath); entry.Name = fileName; entry.IsDirectory = false; string extension = Path.GetExtension(filePath); if (extension.StartsWith(".")) { extension = extension.Substring(1); } entry.Extension = extension; if (entry.IsPlayable) { collection.Add(entry); } } } collection = FilterCollection(collection); return(collection); }
public static string GetImagePlaylist(DirectoryListEntryCollection collection, DirectoryListEntry firstEntry, string directoryAbsoluteUrl) { StringBuilder builder = new StringBuilder(); collection = GetImageCollection(collection); int startIndex = collection.IndexOf(firstEntry); for (int index = startIndex; index < collection.Count; index++) { DirectoryListEntry entry = collection[index]; AppendImageEntry(builder, entry, directoryAbsoluteUrl); } for (int index = 0; index < startIndex; index++) { DirectoryListEntry entry = collection[index]; AppendImageEntry(builder, entry, directoryAbsoluteUrl); } return(builder.ToString()); }
public PlaylistPage() { string directoryRelativeUrl = Conversion.ToString(HttpContext.Current.Request.Params["DirectoryRelativeUrl"]); string fileName = Conversion.ToString(HttpContext.Current.Request.Params["FileName"]); string extension = Conversion.ToString(HttpContext.Current.Request.Params["Extension"]); DirectoryListEntryCollection collection = DirectoryListUtils.GetDirectoryList(IISUtils.MapPath(directoryRelativeUrl)); DirectoryListEntry firstEntry = new DirectoryListEntry(); firstEntry.Name = fileName; firstEntry.Extension = extension; string directoryAbsoluteUrl = UrlUtils.HostUrl + directoryRelativeUrl; if (ExtensionUtils.IsImage(extension)) { m_playlist = DirectoryListUtils.GetImagePlaylist(collection, firstEntry, directoryAbsoluteUrl); } else { m_playlist = DirectoryListUtils.GetAudioPlaylist(collection, firstEntry, directoryAbsoluteUrl); } }