Posted 30 Sep 2010 Link to this post
FileBrowserContentProvider:
public
override
DirectoryItem ResolveRootDirectoryAsTree(
string
path)
{
Assert.ArgumentNotNull(path,
"path"
);
if
(path.Length == 0)
path =
"/media library/"
;
}
Item item = GetItem(path);
(item ==
null
)
return
PathPermissions permissions = GetPermissions(item);
DirectoryItem result =
new
DirectoryItem(item.DisplayName, GetParentPath(item),
.Empty,
.Empty, permissions, GetChildFiles(item), GetChildDirectories(item));
result;
static
DirectoryItem[] GetChildDirectories(Item item)
Assert.ArgumentNotNull(item,
"item"
List<DirectoryItem> result =
List<DirectoryItem>();
foreach
(Item child
in
item.Children)
(child.TemplateID != TemplateIDs.MediaFolder)
continue
PathPermissions permissions = GetPermissions(child);
DirectoryItem directoryItem =
DirectoryItem(child.Name,
.Empty, child.Paths.Path,
.Empty, permissions,
,
result.Add(directoryItem);
result.ToArray();
DirectoryItem ResolveDirectory(
DirectoryItem(item.DisplayName,
.Empty, item.Paths.Path,
.Empty, permissions, GetChildFiles(item),
FileItem[] GetChildFiles(Item item)
List<FileItem> result =
List<FileItem>();
(child.TemplateID == TemplateIDs.MediaFolder)
MediaItem mediaItem = child;
MediaUrlOptions options =
MediaUrlOptions();
options.UseItemPath =
false
url = MediaManager.GetMediaUrl(child, options);
FileItem directoryItem =
FileItem(child.Name +
"."
+ mediaItem.Extension, mediaItem.Extension, mediaItem.Size,
.Empty, url,
.Empty, permissions);
Posted 05 Oct 2010 Link to this post
ResolveRootDirectoryAsTree
ResolveDirectory