/// <summary> /// Renders the page design mode. /// </summary> /// <param name="output">The output.</param> private void RenderPlaceholderPageDesignMode(HtmlTextWriter output) { Assert.ArgumentNotNull((object)output, "output"); bool flag = true; if (!this.CanDesign(Sitecore.Context.Database) || !Policy.IsAllowed("Page Editor/Can Design")) { flag = false; } Item contextItem = this.GetContextItem(); if (contextItem != null && !WebEditUtil.CanDesignItem(contextItem)) { flag = false; } string qualifiedKey = this.GetQualifiedKey(); Item obj = this.GetItem(); GetChromeDataArgs args = obj != null ? new GetChromeDataArgs("placeholder", obj) : new GetChromeDataArgs("placeholder"); args.CustomData["placeHolderKey"] = (object)qualifiedKey; GetChromeDataPipeline.Run(args); ChromeData chromeData = args.ChromeData; string startMarker = Placeholder72.GetStartMarker(qualifiedKey, chromeData, flag); output.Write(startMarker); for (int index = 0; index < this.Controls.Count; ++index) { Control control = this.Controls[index]; this.RenderControlPageDesignMode(output, flag, control); } string endMarker = Placeholder72.GetEndMarker(chromeData); output.Write(endMarker); }
/// <summary> /// Determines if Design mode is available /// </summary> /// <param name="item"></param> /// <returns></returns> public bool CanDesignItem(Item item) { return(Policy.IsAllowed("Page Editor/Can Design") && WebEditUtil.CanDesignItem(item)); }