using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CMS.CMSHelper;
using CMS.GlobalHelper;
using CMS.MediaLibrary;
///
/// Summary description for MediaLibraryFunctions.
///
public static class MediaLibraryFunctions
{
///
/// Returns direct URL to the media file, user permissions are not checked.
///
/// Media library ID
/// File path
/// File GUID
/// File name
/// Generate secure link
/// Determines whether disposition parametr should be added to permanent link
public static string GetMediaFileUrl(object libraryId, object filePath, object fileGuid, object fileName, object useSecureLinks, object downloadlink)
{
string url = GetMediaFileUrl(libraryId, filePath, fileGuid, fileName, useSecureLinks);
if (ValidationHelper.GetBoolean(useSecureLinks, true) && ValidationHelper.GetBoolean(downloadlink, true))
{
url = URLHelper.AddParameterToUrl(url, "disposition", "attachment");
}
return url;
}
///
/// Returns direct URL to the media file, user permissions are not checked.
///
/// Media library ID
/// File path
/// File GUID
/// File name
/// Generate secure link
public static string GetMediaFileUrl(object libraryId, object filePath, object fileGuid, object fileName, object useSecureLinks)
{
MediaLibraryInfo libInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo(ValidationHelper.GetInteger(libraryId, 0));
if (libInfo != null)
{
if (ValidationHelper.GetBoolean(useSecureLinks, true))
{
return MediaFileInfoProvider.GetMediaFileUrl(ValidationHelper.GetGuid(fileGuid, Guid.Empty), fileName.ToString());
}
else
{
return MediaFileInfoProvider.GetMediaFileUrl(CMSContext.CurrentSiteName, libInfo.LibraryFolder, filePath.ToString());
}
}
return String.Empty;
}
///
/// Returns direct URL to the media file, user permissions are not checked.
///
/// Media library ID
/// File path
public static string GetMediaFileDirectUrl(object libraryId, object filePath)
{
MediaLibraryInfo libInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo(ValidationHelper.GetInteger(libraryId, 0));
if (libInfo != null)
{
return MediaFileInfoProvider.GetMediaFileUrl(CMSContext.CurrentSiteName, libInfo.LibraryFolder, filePath.ToString());
}
return String.Empty;
}
///
/// Returns URL to media file which is rewritten to calling GetMediaFile.aspx page where user permissions are checked.
///
/// File GUID
/// File name
public static string GetMediaFileUrl(object fileGuid, object fileName)
{
if (fileName != null)
{
return MediaFileInfoProvider.GetMediaFileUrl(ValidationHelper.GetGuid(fileGuid, Guid.Empty), fileName.ToString());
}
return "";
}
///
/// Returns URL to detail of media file.
///
/// File ID
public static string GetMediaFileDetailUrl(object fileId)
{
if (fileId != null)
{
return URLHelper.UpdateParameterInUrl(URLHelper.RemoveProtocolAndDomain(URLHelper.CurrentURL), "fileid", fileId.ToString());
}
return "";
}
///
/// Returns URL to detail of media file.
///
/// Query parameter
/// File ID
public static string GetMediaFileDetailUrl(string parameter, object fileId)
{
return URLHelper.UpdateParameterInUrl(URLHelper.RemoveProtocolAndDomain(URLHelper.CurrentURL), parameter, fileId.ToString());
}
}