using System; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.MediaLibrary; using CMS.SiteProvider; using CMS.UIControls; public partial class CMSModules_MediaLibrary_FormControls_Selectors_InsertImageOrMedia_NewMediaFolder : CMSModalPage { #region "Private variables" private int mLibraryId = 0; private string mFolderPath = ""; private MediaLibraryInfo mLibrary = null; #endregion #region "Private properties" /// /// Current library ID. /// private MediaLibraryInfo Library { get { if ((mLibrary == null) && (mLibraryId > 0)) { mLibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo(mLibraryId); } return mLibrary; } set { mLibrary = value; } } #endregion protected override void OnInit(EventArgs e) { base.OnInit(e); EnsureScriptManager(); } protected void Page_Load(object sender, EventArgs e) { if (QueryHelper.ValidateHash("hash")) { // Check site availability if (!ResourceSiteInfoProvider.IsResourceOnSite("CMS.MediaLibrary", CMSContext.CurrentSiteName)) { RedirectToResourceNotAvailableOnSite("CMS.MediaLibrary"); } // Initialize controls SetupControls(); } else { createFolder.Visible = false; string url = ResolveUrl(String.Format("~/CMSMessages/Error.aspx?title={0}&text={1}&cancel=1", GetString("dialogs.badhashtitle"), GetString("dialogs.badhashtext"))); ScriptHelper.RegisterStartupScript(Page, typeof(string), "redirect", ScriptHelper.GetScript(String.Format("if (window.parent != null) {{ window.parent.location = '{0}' }}", url))); } } /// /// Initializes controls. /// private void SetupControls() { String identifier = QueryHelper.GetString("identifier", null); if (!String.IsNullOrEmpty(identifier)) { Hashtable properties = WindowHelper.GetItem(identifier) as Hashtable; if (properties != null) { // Get data mLibraryId = ValidationHelper.GetInteger(properties["libraryid"], 0); mFolderPath = ValidationHelper.GetString(properties["path"], String.Empty); EditedObject = Library; if (Library != null) { createFolder.OnFolderChange += createFolder_OnFolderChange; createFolder.CancelClick += createFolder_CancelClick; createFolder.IsLiveSite = false; // Initialize information on library createFolder.LibraryID = mLibraryId; createFolder.LibraryFolder = Library.LibraryFolder; createFolder.FolderPath = mFolderPath; createFolder.DisplayCancel = true; } Page.Header.Title = GetString("dialogs.newfoldertitle"); CurrentMaster.Title.TitleText = GetString("media.folder.new"); CurrentMaster.Title.TitleImage = ResolveUrl(GetImageUrl("CMSModules/CMS_MediaLibrary/librarynew.png", true)); } } } #region "Event handlers" protected void createFolder_CancelClick() { string cancelScript = null; bool postbackOnCancel = QueryHelper.GetBoolean("cancel", true); if (postbackOnCancel) { cancelScript = "wopener.SetAction('cancelfolder', ''); wopener.RaiseHiddenPostBack(); CloseDialog();"; } else { cancelScript = " CloseDialog();"; } ltlScript.Text += ScriptHelper.GetScript(cancelScript); } protected void createFolder_OnFolderChange(string pathToSelect) { ltlScript.Text = ScriptHelper.GetScript(String.Format("wopener.SetAction('newfolder', '{0}'); wopener.RaiseHiddenPostBack(); CloseDialog();", pathToSelect.Replace('\\', '|').Replace("'", "\\'"))); } #endregion }