/// <summary> /// Gets the media markup. /// </summary> /// <param name="mediaId">The media id.</param> /// <param name="mediaParameters">The media parameters.</param> /// <returns></returns> public ActionResult GetMediaMarkup(HiveId mediaId, string mediaParameters = "") { string path = BackOfficeRequestContext.RoutingEngine.GetUrl(mediaId); Mandate.That <NullReferenceException>(!string.IsNullOrEmpty(path)); var ext = path.Split('.').LastOrDefault().ToLower(); var mediaParamsDict = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(mediaParameters)) { mediaParamsDict = (Dictionary <string, string>)mediaParameters.DecodeMacroParameters(); } var bendyParams = new Framework.Dynamics.BendyObject(mediaParamsDict); var model = new Model.BackOffice.TinyMCE.InsertMedia.InsertMediaModel(mediaId, path, bendyParams); //first look for custom view using (var uow = BackOfficeRequestContext .Application .Hive.OpenReader <IFileStore>(new Uri("storage://templates"))) { var id = new HiveId(new Uri("storage://templates"), "", new HiveIdValue(string.Format("/MediaTemplates/{0}.cshtml", ext))); var customView = uow.Repositories.Get <File>(id); if (customView != null) { return(View(ext, model)); } } try { //try returning embedded view for extension return(View(EmbeddedViewPath.Create( string.Format("Umbraco.Cms.Web.PropertyEditors.RichTextBox.TinyMCE.Views.InsertMedia.Types.{0}.cshtml, Umbraco.Cms.Web.PropertyEditors", ext)), model)); } catch (TypeLoadException e) { //view for extension not found, return default image view var viewType = EmbeddedViewPath.Create("Umbraco.Cms.Web.PropertyEditors.RichTextBox.TinyMCE.Views.InsertMedia.Types.default.cshtml, Umbraco.Cms.Web.PropertyEditors"); return(View(viewType, model)); } }
/// <summary> /// Gets the media markup. /// </summary> /// <param name="mediaId">The media id.</param> /// <param name="mediaParameters">The media parameters.</param> /// <returns></returns> public ActionResult GetMediaMarkup(HiveId mediaId, string mediaParameters = "") { string path = BackOfficeRequestContext.RoutingEngine.GetUrl(mediaId); Mandate.That<NullReferenceException>(!string.IsNullOrEmpty(path)); var ext = path.Split('.').LastOrDefault().ToLower(); var mediaParamsDict = new Dictionary<string, string>(); if (!string.IsNullOrEmpty(mediaParameters)) mediaParamsDict = (Dictionary<string, string>)mediaParameters.DecodeMacroParameters(); var bendyParams = new Framework.Dynamics.BendyObject(mediaParamsDict); var model = new Model.BackOffice.TinyMCE.InsertMedia.InsertMediaModel(mediaId, path, bendyParams); //first look for custom view using (var uow = BackOfficeRequestContext .Application .Hive.OpenReader<IFileStore>(new Uri("storage://templates"))) { var id = new HiveId(new Uri("storage://templates"), "", new HiveIdValue(string.Format("/MediaTemplates/{0}.cshtml", ext))); var customView = uow.Repositories.Get<File>(id); if (customView != null) return View(ext, model); } try { //try returning embedded view for extension return View(EmbeddedViewPath.Create( string.Format("Umbraco.Cms.Web.PropertyEditors.RichTextBox.TinyMCE.Views.InsertMedia.Types.{0}.cshtml, Umbraco.Cms.Web.PropertyEditors", ext)), model); } catch (TypeLoadException e) { //view for extension not found, return default image view var viewType = EmbeddedViewPath.Create("Umbraco.Cms.Web.PropertyEditors.RichTextBox.TinyMCE.Views.InsertMedia.Types.default.cshtml, Umbraco.Cms.Web.PropertyEditors"); return View(viewType, model); } }