diff --git a/UpgradeReadme.txt b/UpgradeReadme.txt new file mode 100644 index 0000000000..fe8c7f63f4 --- /dev/null +++ b/UpgradeReadme.txt @@ -0,0 +1,4 @@ +* DataType: 'editor' removed +** Before upgrading, ensure you are not using this data type + +* Many files have been removed but a zip file containing all removed files has been supplied \ No newline at end of file diff --git a/components/editorControls/__TODELETE__wysiwyg/WysiwygDataType.cs b/components/editorControls/__TODELETE__wysiwyg/__TODELETE__WysiwygDataType.cs similarity index 100% rename from components/editorControls/__TODELETE__wysiwyg/WysiwygDataType.cs rename to components/editorControls/__TODELETE__wysiwyg/__TODELETE__WysiwygDataType.cs diff --git a/components/editorControls/__TODELETE__wysiwyg/editor.cs b/components/editorControls/__TODELETE__wysiwyg/__TODELETE__editor.cs similarity index 100% rename from components/editorControls/__TODELETE__wysiwyg/editor.cs rename to components/editorControls/__TODELETE__wysiwyg/__TODELETE__editor.cs diff --git a/components/editorControls/umbraco.editorControls.csproj b/components/editorControls/umbraco.editorControls.csproj index 61d20e5262..1d7fc32b33 100644 --- a/components/editorControls/umbraco.editorControls.csproj +++ b/components/editorControls/umbraco.editorControls.csproj @@ -354,10 +354,10 @@ - + Code - + Code diff --git a/components/umbraco.controls/CodeArea.cs b/components/umbraco.controls/CodeArea.cs index 06e2ce8325..2b16a448e3 100644 --- a/components/umbraco.controls/CodeArea.cs +++ b/components/umbraco.controls/CodeArea.cs @@ -33,7 +33,7 @@ namespace umbraco.uicontrols { //this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CodeAreaStyles", ""); this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CodeAreaJavaScript", ""); - // this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CodeAreaJavaScript_new", ""); + } diff --git a/umbraco.sln b/umbraco.sln index 0fb93aa2a2..ea09e050bf 100644 --- a/umbraco.sln +++ b/umbraco.sln @@ -87,6 +87,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LINQ to Umbraco externals", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTMetal.Engine", "LinqToUmbraco\src\umbraco.Linq\DTMetal.Engine\DTMetal.Engine.csproj", "{B151A571-D2F7-47DD-AFD6-C2C34ECA845B}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Upgrade 4.1", "Upgrade 4.1", "{C5FA9596-B9DC-4DF9-8380-AFC19C1EF51F}" + ProjectSection(SolutionItems) = preProject + UpgradeReadme.txt = UpgradeReadme.txt + EndProjectSection +EndProject Global GlobalSection(TeamFoundationVersionControl) = preSolution SccNumberOfProjects = 16 @@ -244,6 +249,7 @@ Global GlobalSection(NestedProjects) = preSolution {B8ECDB8B-BF44-462C-B6DA-22421B3EC4D7} = {F0242771-6DE6-4E03-BD3A-7B79BA79105B} {58072405-85D0-45CA-8F5C-EA8928C32A6A} = {F0242771-6DE6-4E03-BD3A-7B79BA79105B} + {C5FA9596-B9DC-4DF9-8380-AFC19C1EF51F} = {F0242771-6DE6-4E03-BD3A-7B79BA79105B} {5BB61485-B480-4A03-A8DD-1636A5AF575C} = {B8ECDB8B-BF44-462C-B6DA-22421B3EC4D7} {05329DB0-5C47-44A1-B7B8-BF377446BCD1} = {B8ECDB8B-BF44-462C-B6DA-22421B3EC4D7} {461089E7-008E-4737-BA17-E1FCD1CC3D0E} = {585F1879-8F6B-4569-8C96-7FCB06314BBF} diff --git a/umbraco/presentation.ClientDependency/Providers/ClientDependencyProvider.cs b/umbraco/presentation.ClientDependency/Providers/ClientDependencyProvider.cs index 14cbc1234a..90a1a4bee9 100644 --- a/umbraco/presentation.ClientDependency/Providers/ClientDependencyProvider.cs +++ b/umbraco/presentation.ClientDependency/Providers/ClientDependencyProvider.cs @@ -119,7 +119,9 @@ namespace umbraco.presentation.ClientDependency.Providers protected List ProcessCompositeList(List dependencies, ClientDependencyType type) { List rVal = new List(); - + if (dependencies.Count == 0) + return rVal; + //build the combined composite list url string handler = "{0}?s={1}&t={2}"; StringBuilder files = new StringBuilder(); diff --git a/umbraco/presentation.ClientDependency/Providers/PageHeaderProvider.cs b/umbraco/presentation.ClientDependency/Providers/PageHeaderProvider.cs index 39e802de69..dd591c4ac5 100644 --- a/umbraco/presentation.ClientDependency/Providers/PageHeaderProvider.cs +++ b/umbraco/presentation.ClientDependency/Providers/PageHeaderProvider.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Web.UI; +using System.Linq; namespace umbraco.presentation.ClientDependency.Providers { @@ -34,7 +35,11 @@ namespace umbraco.presentation.ClientDependency.Providers else { List jsList = ProcessCompositeList(jsDependencies, ClientDependencyType.Javascript); + if (jsList.Count == 0) + return; + DependantControl.Page.Trace.Write("ClientDependency", string.Format("Processed composite list: {0}", jsList[0])); + foreach (string js in jsList) { ProcessSingleJsFile(js); @@ -44,8 +49,12 @@ namespace umbraco.presentation.ClientDependency.Providers protected override void ProcessSingleJsFile(string js) { + if (DependantControl.Page.Header == null) + throw new NullReferenceException("PageHeaderProvider requires a runat='server' tag in the page's header tag"); + DependantControl.Page.Trace.Write("ClientDependency", string.Format("Registering: {0}", js)); - DependantControl.Page.Header.Controls.Add(new LiteralControl(string.Format(ScriptEmbed, js))); + //DependantControl.Page.Header.Controls.AddAt(m_CurrJsIndex++, new LiteralControl(string.Format(ScriptEmbed, js))); + AddToHead(string.Format(ScriptEmbed, js)); } protected override void RegisterCssFiles(List cssDependencies) @@ -60,7 +69,10 @@ namespace umbraco.presentation.ClientDependency.Providers else { List cssList = ProcessCompositeList(cssDependencies, ClientDependencyType.Css); - DependantControl.Page.Trace.Write("ClientDependency", string.Format("Processed composite list: {0}", cssList[0])); + if (cssList.Count == 0) + return; + + DependantControl.Page.Trace.Write("ClientDependency", string.Format("Processed composite list: {0}", cssList[0])); foreach (string css in cssList) { ProcessSingleCssFile(css); @@ -70,8 +82,38 @@ namespace umbraco.presentation.ClientDependency.Providers protected override void ProcessSingleCssFile(string css) { + if (DependantControl.Page.Header == null) + throw new NullReferenceException("PageHeaderProvider requires a runat='server' tag in the page's header tag"); DependantControl.Page.Trace.Write("ClientDependency", string.Format("Registering: {0}", css)); - DependantControl.Page.Header.Controls.Add(new LiteralControl(string.Format(CssEmbed, css))); + //DependantControl.Page.Header.Controls.AddAt(m_CurrJsIndex++, new LiteralControl(string.Format(CssEmbed, css))); + AddToHead(string.Format(CssEmbed, css)); + } + + /// + /// inserts the dependencies at the top of the head so needs to search the head + /// controls to find out where to insert. + /// + /// + private void AddToHead(string literal) + { + List indexes = new List(); + Type iDependency = typeof(IClientDependencyFile); + foreach (Control ctl in DependantControl.Page.Header.Controls) + { + if (ctl.ID != null && ctl.ID.StartsWith("CD_")) + indexes.Add(DependantControl.Page.Header.Controls.IndexOf(ctl)); + } + //now that we have all of the indexes of the client dependencies, we need to insert + //the next one after the largest index + int newIndex = indexes.Count == 0 ? 0 : indexes.Max() + 1; + LiteralControl dCtl = new LiteralControl(literal); + dCtl.ID = "CD_" + newIndex.ToString(); + if (newIndex >= DependantControl.Page.Header.Controls.Count) + DependantControl.Page.Header.Controls.Add(dCtl); + else + DependantControl.Page.Header.Controls.AddAt(newIndex, dCtl); + + } } } diff --git a/umbraco/presentation/umbraco.presentation.csproj b/umbraco/presentation/umbraco.presentation.csproj index e6ac714369..26969b7046 100644 --- a/umbraco/presentation/umbraco.presentation.csproj +++ b/umbraco/presentation/umbraco.presentation.csproj @@ -772,12 +772,12 @@ cruds.aspx - - editCell.aspx + + __TODELETE__editCell.aspx ASPXCodeBehind - - editCell.aspx + + __TODELETE__editCell.aspx editImage.aspx @@ -815,33 +815,33 @@ importDocumenttype.aspx ASPXCodeBehind - - insertAnchor.aspx + + __TODELETE__insertAnchor.aspx ASPXCodeBehind - - insertAnchor.aspx + + __TODELETE__insertAnchor.aspx - - insertFormField.aspx + + __TODELETE__insertFormField.aspx ASPXCodeBehind - - insertFormField.aspx + + __TODELETE__insertFormField.aspx - - insertImage.aspx + + __TODELETE__insertImage.aspx ASPXCodeBehind - - insertImage.aspx + + __TODELETE__insertImage.aspx - - insertLink.aspx + + __TODELETE__insertLink.aspx ASPXCodeBehind - - insertLink.aspx + + __TODELETE__insertLink.aspx insertMacro.aspx @@ -857,12 +857,12 @@ insertTable.aspx - - insertTextGen.aspx + + __TODELETE__insertTextGen.aspx ASPXCodeBehind - - insertTextGen.aspx + + __TODELETE__insertTextGen.aspx modalHolder.aspx @@ -892,12 +892,12 @@ installer.aspx - - paste.aspx + + __TODELETE__.aspx ASPXCodeBehind - - paste.aspx + + __TODELETE__.aspx protectPage.aspx @@ -1577,6 +1577,7 @@ + @@ -1850,25 +1851,25 @@ - + - - - - + + + + - + - + @@ -2018,7 +2019,7 @@ - + @@ -2379,11 +2380,11 @@ - + - + @@ -3627,8 +3628,8 @@ cruds.aspx.cs Designer - - editCell.aspx.cs + + __TODELETE__editCell.aspx.cs Designer @@ -3651,20 +3652,20 @@ importDocumenttype.aspx.cs Designer - - insertAnchor.aspx.cs + + __TODELETE__insertAnchor.aspx.cs Designer - - insertFormField.aspx.cs + + __TODELETE__insertFormField.aspx.cs Designer - - insertImage.aspx.cs + + __TODELETE__insertImage.aspx.cs Designer - - insertLink.aspx.cs + + __TODELETE__insertLink.aspx.cs Designer @@ -3675,8 +3676,8 @@ insertTable.aspx.cs Designer - - insertTextGen.aspx.cs + + __TODELETE__insertTextGen.aspx.cs Designer @@ -3691,8 +3692,8 @@ notifications.aspx.cs Designer - - paste.aspx.cs + + __TODELETE__.aspx.cs Designer diff --git a/umbraco/presentation/umbraco/controls/progressBar.cs b/umbraco/presentation/umbraco/controls/progressBar.cs index 01820dd68b..74ee06bd92 100644 --- a/umbraco/presentation/umbraco/controls/progressBar.cs +++ b/umbraco/presentation/umbraco/controls/progressBar.cs @@ -1,23 +1,19 @@ using System; +using umbraco.presentation.ClientDependency; namespace umbraco.controls { /// /// Summary description for progressBar. /// + [ClientDependency(ClientDependencyType.Javascript, "progressBar/javascript.js", "UmbracoClient")] + [ClientDependency(ClientDependencyType.Css, "progressBar/style.css", "UmbracoClient")] public class progressBar : System.Web.UI.WebControls.WebControl { public progressBar() { } - protected override void OnInit(EventArgs e) - { - Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "progressBar", ""); - Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "progressBarCss", ""); - base.OnInit (e); - } - protected override void Render(System.Web.UI.HtmlTextWriter writer) { diff --git a/umbraco/presentation/umbraco/developer/Xslt/editXslt.aspx.cs b/umbraco/presentation/umbraco/developer/Xslt/editXslt.aspx.cs index 9747f4ebe8..6833dce189 100644 --- a/umbraco/presentation/umbraco/developer/Xslt/editXslt.aspx.cs +++ b/umbraco/presentation/umbraco/developer/Xslt/editXslt.aspx.cs @@ -31,163 +31,7 @@ namespace umbraco.cms.presentation.developer .SyncTree(Request.QueryString["file"], false); } - /* - // Put user code to initialize the page here - - UmbracoPanel1.hasMenu = true; - - if (IsPostBack) - { - // Save to a temporary file and validate! - StreamWriter SW; - string tempFileName = - Server.MapPath(GlobalSettings.Path + "/../xslt/" + DateTime.Now.Ticks + "_temp.xslt"); - SW = File.CreateText(tempFileName); - SW.Write(editorSource.Text); - SW.Close(); - - // Test the xslt - string errorMessage = ""; - if (!SkipTesting.Checked) - { - try - { - // Check if there's any documents yet - if (content.Instance.XmlContent.SelectNodes("/root/node").Count > 0) - { - XmlDocument macroXML = new XmlDocument(); - macroXML.LoadXml(""); - - XslCompiledTransform macroXSLT = new XslCompiledTransform(); - page umbPage = - new page(content.Instance.XmlContent.SelectSingleNode("//node [@parentID = -1]")); - - XsltArgumentList xslArgs; - xslArgs = macro.AddMacroXsltExtensions(); - library lib = new library(umbPage); - xslArgs.AddExtensionObject("urn:umbraco.library", lib); - HttpContext.Current.Trace.Write("umbracoMacro", "After adding extensions"); - - // Add the current node - xslArgs.AddParam("currentPage", "", library.GetXmlNodeById(umbPage.PageID.ToString())); - HttpContext.Current.Trace.Write("umbracoMacro", "Before performing transformation"); - - // Create reader and load XSL file - // We need to allow custom DTD's, useful for defining an ENTITY - XmlReaderSettings readerSettings = new XmlReaderSettings(); - readerSettings.ProhibitDtd = false; - using (XmlReader xmlReader = XmlReader.Create(tempFileName, readerSettings)) - { - XmlUrlResolver xslResolver = new XmlUrlResolver(); - xslResolver.Credentials = CredentialCache.DefaultCredentials; - macroXSLT.Load(xmlReader, XsltSettings.TrustedXslt, xslResolver); - xmlReader.Close(); - // Try to execute the transformation - HtmlTextWriter macroResult = new HtmlTextWriter(new StringWriter()); - macroXSLT.Transform(macroXML, xslArgs, macroResult); - macroResult.Close(); - } - } - else - { - errorMessage = "stub"; - base.speechBubble(speechBubbleIcon.info, - ui.Text("errors", "xsltErrorHeader", base.getUser()), - "Unable to validate xslt as no published content nodes exist."); - } - } - catch (Exception errorXslt) - { - base.speechBubble(speechBubbleIcon.error, ui.Text("errors", "xsltErrorHeader", base.getUser()), - ui.Text("errors", "xsltErrorText", base.getUser())); - - errorHolder.Visible = true; - closeErrorMessage.Visible = true; - errorHolder.Attributes.Add("style", - "height: 250px; overflow: auto; border: 1px solid CCC; padding: 5px;"); - - errorMessage = (errorXslt.InnerException ?? errorXslt).ToString(); - - // Full error message - xsltError.Text = errorMessage.Replace("\n", "
\n"); - closeErrorMessage.Visible = true; - - string[] errorLine; - // Find error - MatchCollection m = - Regex.Matches(errorMessage, @"\d*[^,],\d[^\)]", - RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace); - foreach (Match mm in m) - { - errorLine = mm.Value.Split(','); - - if (errorLine.Length > 0) - { - int theErrorLine = int.Parse(errorLine[0]); - int theErrorChar = int.Parse(errorLine[1]); - - xsltError.Text = "Error in XSLT at line " + errorLine[0] + ", char " + errorLine[1] + - "
"; - xsltError.Text += ""; - string[] xsltText = editorSource.Text.Split("\n".ToCharArray()); - for (int i = 0; i < xsltText.Length; i++) - { - if (i >= theErrorLine - 3 && i <= theErrorLine + 1) - if (i + 1 == theErrorLine) - { - xsltError.Text += "" + (i + 1) + ": >>>  " + - Server.HtmlEncode(xsltText[i].Substring(0, theErrorChar)); - xsltError.Text += - "" + - Server.HtmlEncode( - xsltText[i].Substring(theErrorChar, - xsltText[i].Length - theErrorChar)).Trim() + - ""; - xsltError.Text += " <<<
"; - } - else - xsltError.Text += (i + 1) + ":      " + - Server.HtmlEncode(xsltText[i]) + "
"; - } - xsltError.Text += "
"; - } - } - } - } - - - if (errorMessage == "" && xsltFileName.Text.ToLower().EndsWith(".xslt")) - { - //Hardcoded security-check... only allow saving files in xslt directory... - string savePath = Server.MapPath(GlobalSettings.Path + "/../xslt/" + xsltFileName.Text); - - if (savePath.StartsWith(Server.MapPath(GlobalSettings.Path + "/../xslt/"))) - { - SW = File.CreateText(savePath); - SW.Write(editorSource.Text); - SW.Close(); - base.speechBubble(speechBubbleIcon.save, - ui.Text("speechBubbles", "xsltSavedHeader", base.getUser()), - ui.Text("speechBubbles", "xsltSavedText", base.getUser())); - } - else - { - base.speechBubble(speechBubbleIcon.error, ui.Text("errors", "xsltErrorHeader", base.getUser()), - ui.Text("errors", "xsltErrorText", base.getUser())); - } - } - - File.Delete(tempFileName); - } - else - { - /* editor source - if (UmbracoSettings.ScriptDisableEditor) - editorJs.Text = ""; - else - editorJs.Text = ""; - */ - //} + } diff --git a/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx b/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx index f26175239e..0726959f08 100644 --- a/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx +++ b/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx @@ -3,15 +3,14 @@ - + + diff --git a/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx.designer.cs b/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx.designer.cs index 93083b5637..e008dd6390 100644 --- a/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx.designer.cs +++ b/umbraco/presentation/umbraco/dialogs/AssignDomain.aspx.designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 +// Runtime Version:2.0.50727.3082 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. diff --git a/umbraco/presentation/umbraco/dialogs/RegexWs.aspx b/umbraco/presentation/umbraco/dialogs/RegexWs.aspx index 9304cadc68..6c89c10341 100644 --- a/umbraco/presentation/umbraco/dialogs/RegexWs.aspx +++ b/umbraco/presentation/umbraco/dialogs/RegexWs.aspx @@ -1,49 +1,50 @@ <%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="../masterpages/umbracoDialog.Master" CodeBehind="RegexWs.aspx.cs" Inherits="umbraco.presentation.dialogs.RegexWs" %> <%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %> +<%@ Register TagPrefix="umb" Namespace="umbraco.presentation.ClientDependency.Controls" Assembly="umbraco.presentation.ClientDependency" %> - - - -

- <%= umbraco.ui.Text("defaultdialogs", "regexSearchHelp")%> -

-
- - - -
- - -
-

-

- -

-

-

-

-
-
-
-
-
-
-
+ + + + + +

+ <%= umbraco.ui.Text("defaultdialogs", "regexSearchHelp")%> +

+
+ + + +
+ + +
+

+

+ +

+

+

+

+
+
+
+
+
+
+
- - + + diff --git a/umbraco/presentation/umbraco/dialogs/moveOrCopy.aspx.designer.cs b/umbraco/presentation/umbraco/dialogs/moveOrCopy.aspx.designer.cs index 0efce97106..1ebb3c5a67 100644 --- a/umbraco/presentation/umbraco/dialogs/moveOrCopy.aspx.designer.cs +++ b/umbraco/presentation/umbraco/dialogs/moveOrCopy.aspx.designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 +// Runtime Version:2.0.50727.3082 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,6 +13,15 @@ namespace umbraco.dialogs { public partial class moveOrCopy { + /// + /// JsInclude1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::umbraco.presentation.ClientDependency.Controls.JsInclude JsInclude1; + /// /// feedback control. /// diff --git a/umbraco/presentation/umbraco/dialogs/publish.aspx b/umbraco/presentation/umbraco/dialogs/publish.aspx index f0be929383..cc562d48bd 100644 --- a/umbraco/presentation/umbraco/dialogs/publish.aspx +++ b/umbraco/presentation/umbraco/dialogs/publish.aspx @@ -1,5 +1,6 @@ <%@ Page Language="c#" MasterPageFile="../masterpages/umbracoDialog.Master" Codebehind="publish.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.publish" %> <%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %> +<%@ Register TagPrefix="umb" Namespace="umbraco.presentation.ClientDependency.Controls" Assembly="umbraco.presentation.ClientDependency" %> @@ -62,11 +63,11 @@ - - + +
diff --git a/umbraco/presentation/umbraco/dialogs/publish.aspx.designer.cs b/umbraco/presentation/umbraco/dialogs/publish.aspx.designer.cs index 7127ce10f6..0d7705b21a 100644 --- a/umbraco/presentation/umbraco/dialogs/publish.aspx.designer.cs +++ b/umbraco/presentation/umbraco/dialogs/publish.aspx.designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.1433 +// Runtime Version:2.0.50727.3082 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -22,6 +22,15 @@ namespace umbraco.dialogs { /// protected global::System.Web.UI.WebControls.Literal masterPagePrefix; + /// + /// JsInclude1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::umbraco.presentation.ClientDependency.Controls.JsInclude JsInclude1; + /// /// TheForm control. /// diff --git a/umbraco/presentation/umbraco/dialogs/rollBack.aspx b/umbraco/presentation/umbraco/dialogs/rollBack.aspx index 4c3b921e06..4533d1c2c8 100644 --- a/umbraco/presentation/umbraco/dialogs/rollBack.aspx +++ b/umbraco/presentation/umbraco/dialogs/rollBack.aspx @@ -1,5 +1,6 @@ <%@ Page Language="c#" Codebehind="rollBack.aspx.cs" MasterPageFile="../masterpages/umbracoDialog.Master"AutoEventWireup="True" Inherits="umbraco.presentation.dialogs.rollBack" %> <%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %> +<%@ Register TagPrefix="umb" Namespace="umbraco.presentation.ClientDependency.Controls" Assembly="umbraco.presentation.ClientDependency" %> - + - - + + + +