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