diff --git a/umbraco/businesslogic/IO/SystemDirectories.cs b/umbraco/businesslogic/IO/SystemDirectories.cs index 7a9ecb9b8f..4f73d81c62 100644 --- a/umbraco/businesslogic/IO/SystemDirectories.cs +++ b/umbraco/businesslogic/IO/SystemDirectories.cs @@ -128,7 +128,8 @@ namespace umbraco.IO { get { - return IOHelper.returnPath("umbracoPackagesPath", "~/data/packages"); + //by default the packages folder should exist in the data folder + return IOHelper.returnPath("umbracoPackagesPath", Data + IOHelper.DirSepChar + "packages"); } } diff --git a/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.Designer.cs b/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.Designer.cs new file mode 100644 index 0000000000..6092725340 --- /dev/null +++ b/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.4200 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace umbraco.cms.businesslogic.Packager.FileResources { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class PackageFiles { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal PackageFiles() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("umbraco.cms.businesslogic.Packager.FileResources.PackageFiles", typeof(PackageFiles).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> + ///<packages></packages>. + /// + internal static string Packages { + get { + return ResourceManager.GetString("Packages", resourceCulture); + } + } + } +} diff --git a/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.resx b/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.resx new file mode 100644 index 0000000000..264a983103 --- /dev/null +++ b/umbraco/cms/businesslogic/Packager/FileResources/PackageFiles.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + packages.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + \ No newline at end of file diff --git a/umbraco/cms/businesslogic/Packager/FileResources/Packages.config b/umbraco/cms/businesslogic/Packager/FileResources/Packages.config new file mode 100644 index 0000000000..7be527318c --- /dev/null +++ b/umbraco/cms/businesslogic/Packager/FileResources/Packages.config @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/umbraco/cms/businesslogic/Packager/data.cs b/umbraco/cms/businesslogic/Packager/data.cs index 33eb660a4b..10675573a5 100644 --- a/umbraco/cms/businesslogic/Packager/data.cs +++ b/umbraco/cms/businesslogic/Packager/data.cs @@ -2,6 +2,7 @@ using System; using System.Xml; using System.Xml.XPath; using System.Collections.Generic; +using System.IO; namespace umbraco.cms.businesslogic.packager { @@ -19,23 +20,33 @@ namespace umbraco.cms.businesslogic.packager public static void Reload(string dataSource) { - if (_source == null) - _source = new XmlDocument(); - try { - - _source.Load(dataSource); - - } catch { - - if (!System.IO.File.Exists(dataSource)) { - System.IO.StreamWriter sw = System.IO.File.CreateText(dataSource); - sw.WriteLine(""); - sw.WriteLine(""); - sw.Flush(); - sw.Close(); + //do some error checking and create the folders/files if they don't exist + if (!File.Exists(dataSource)) + { + if (!Directory.Exists(IO.IOHelper.MapPath(Settings.PackagerRoot))) + { + Directory.CreateDirectory(IO.IOHelper.MapPath(Settings.PackagerRoot)); } - _source.Load(dataSource); + if (!Directory.Exists(IO.IOHelper.MapPath(Settings.PackagesStorage))) + { + Directory.CreateDirectory(IO.IOHelper.MapPath(Settings.PackagesStorage)); + } + if (!Directory.Exists(IO.IOHelper.MapPath(Settings.InstalledPackagesStorage))) + { + Directory.CreateDirectory(IO.IOHelper.MapPath(Settings.InstalledPackagesStorage)); + } + + StreamWriter sw = File.CreateText(dataSource); + sw.Write(umbraco.cms.businesslogic.Packager.FileResources.PackageFiles.Packages); + sw.Flush(); + sw.Close(); } + + if (_source == null) + { + _source = new XmlDocument(); + } + _source.Load(dataSource); } public static XmlNode GetFromId(int Id, string dataSource, bool reload) diff --git a/umbraco/cms/umbraco.cms.csproj b/umbraco/cms/umbraco.cms.csproj index 28957121cd..1ab4f95dbb 100644 --- a/umbraco/cms/umbraco.cms.csproj +++ b/umbraco/cms/umbraco.cms.csproj @@ -174,6 +174,11 @@ Code + + True + True + PackageFiles.resx + Code @@ -325,8 +330,15 @@ + + + + ResXFileCodeGenerator + PackageFiles.Designer.cs + + diff --git a/umbraco/presentation/baseHttpModule.cs b/umbraco/presentation/baseHttpModule.cs deleted file mode 100644 index 1992f15a68..0000000000 --- a/umbraco/presentation/baseHttpModule.cs +++ /dev/null @@ -1,285 +0,0 @@ -using System; -using System.Data; -using System.Text; -using System.Text.RegularExpressions; -using System.Configuration; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Reflection; -using System.Collections.Specialized; -using System.Xml; -using umbraco; -using umbraco.cms.businesslogic.member; - -namespace presentation.umbracoBase -{ - public class requestModule : IHttpModule - { - #region IHttpModule Members - public void Dispose() - { - throw new Exception("The method or operation is not implemented."); - } - - public void Init(HttpApplication httpApp) - { - httpApp.BeginRequest += new EventHandler(OnBeginRequest); - } - - - public void OnBeginRequest(Object sender, EventArgs e) - { - HttpApplication httpApp = (HttpApplication)sender; - - //remove extension and split the url - object[] urlArray = httpApp.Context.Request.RawUrl.Replace(".aspx", "").Split('/'); - - if (urlArray[1].ToString() == "base") - { - //There has to be minimum 4 parts in the url for this to work... /base/library/method/[parameter].aspx - if (urlArray.Length >= 4) - { - string extensionAlias = urlArray[2].ToString(); - string methodName = urlArray[3].ToString(); - - httpApp.Response.ContentType = "text/xml"; - MyMethodStruct myMMS = getMethod(extensionAlias, methodName); - - if (myMMS.isAllowed) - { - httpApp.Response.Output.Write(invokeMethod(myMMS, urlArray)); - } - else - { - //Very static error msg... - httpApp.Response.Output.Write("Extension not found or permission denied"); - } - //end the resposne - httpApp.Response.End(); - } - } - } - - - - - private string invokeMethod(MyMethodStruct myMethod, object[] paras) - { - try - { - //So method is either not found or not valid... this should probably be moved... - if (!myMethod.method.IsPublic || !myMethod.method.IsStatic) - return "Method has to be public and static"; - else //And if it is lets continue trying to invoke it... - { - //lets check if we have parameters enough in the url.. - if (myMethod.method.GetParameters().Length > (paras.Length - 4)) //Too few - return "Not Enough parameters in url"; - else - { - - //We have enough parameters... lets invoke.. - //Create an instance of the type we need to invoke the method from. - Object obj = Activator.CreateInstance(myMethod.type); - Object response; - - //umbracoBase.baseBinder bBinder = new baseBinder(); - - if (myMethod.method.GetParameters().Length == 0) - { - //response = myMethod.method.Invoke(obj, BindingFlags.Public | BindingFlags.Instance, bBinder, null, System.Globalization.CultureInfo.CurrentCulture); - response = myMethod.method.Invoke(obj, null); //Invoke with null as parameters as there are none - } - - else - { - //We only need the parts of the url above the number 4 so we'll - //recast those to objects and add them to the object[] - - //Getting the right lenght.. 4 is the magic number dum di dum.. - object[] methodParams = new object[(paras.Length - 4)]; - - int i = 0; - - foreach (ParameterInfo pInfo in myMethod.method.GetParameters()) - { - Type myType = Type.GetType(pInfo.ParameterType.ToString()); - methodParams[(i)] = Convert.ChangeType(paras[i + 4], myType); - i++; - } - - //Invoke with methodParams - //response = myMethod.method.Invoke(obj, BindingFlags.Public | BindingFlags.Instance, bBinder, methodParams, System.Globalization.CultureInfo.CurrentCulture); - response = myMethod.method.Invoke(obj, methodParams); - } - - /*TODO - SOMETHING ALITTLE BETTER THEN ONLY CHECK FOR XPATHNODEITERATOR OR ELSE do ToString() */ - if (response != null) - { - if (myMethod.method.ReturnType.ToString() == "System.Xml.XPath.XPathNodeIterator") - return ((System.Xml.XPath.XPathNodeIterator)response).Current.OuterXml; - else - { - string strResponse = ((string)response.ToString()); - - //do a quick "is this html?" check... if it is add CDATA... - if (strResponse.Contains("<") || strResponse.Contains(">")) - strResponse = ""; - return "" + strResponse + ""; - } - } - else - { - //Error msg... - return "Null value returned"; - } - - - - } - } - } - - catch (Exception ex) - { - //Overall exception handling... - return ""; - } - - } - - - private struct MyMethodStruct - { - public Type type; - public MethodInfo method; - public Assembly assembly; - public string alias; - public bool isAllowed; - } - - - private static MyMethodStruct getMethod(string extensionAlias, string methodName) - { - - bool allowed = false; - - XmlDocument baseDoc = new XmlDocument(); //RESTExtension document... - baseDoc.Load(System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/../config/restExtensions.xml")); - - XmlNode baseExt = baseDoc.SelectSingleNode("/RestExtensions/ext [@alias='" + extensionAlias + "']/permission [@method='" + methodName + "']"); - - //basicly - if not there.. it's not allowed... - if (baseExt != null) - { - //Access for all ? - if (baseExt.Attributes["allowAll"] != null) - { - if (baseExt.Attributes["allowAll"].Value.ToString().ToLower() == "true") - allowed = true; - } - - if (!allowed) - { - //Member Based permissions.. check for group, type and ID... - Member currentMem = library.library.GetCurrentMember(); // <-- /TODO/ uses bases own member class as umbracos doesn't work yet... - - //not basic.. and not logged in? - out.. - if (currentMem == null) - { - allowed = false; - } - else //do member authentication stuff... - allowed = memberAuthentication(baseExt, currentMem); - } - } - - if (allowed) - { - XmlNode extNode = baseDoc.SelectSingleNode("/RestExtensions/ext [@alias='" + extensionAlias + "']"); - string asml = extNode.Attributes["assembly"].Value; - string assemblyPath = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/.." + asml + ".dll"); - Assembly returnAssembly = System.Reflection.Assembly.LoadFrom(assemblyPath); - - string returnTypeName = extNode.Attributes["type"].Value; - Type returnType = returnAssembly.GetType(returnTypeName); - - - MyMethodStruct mms = new MyMethodStruct(); - mms.alias = extensionAlias; - mms.assembly = returnAssembly; - mms.method = returnType.GetMethod(methodName); - mms.type = returnType; - mms.isAllowed = true; - return mms; - } - else - { - MyMethodStruct noMms = new MyMethodStruct(); - noMms.isAllowed = false; - return noMms; - } - } - - - private static bool memberAuthentication(XmlNode baseExt, Member currentMem) - { - //Check group, type and ID - bool memberAccess = false; - - if (baseExt.Attributes["allowGroup"] != null) - { - if (baseExt.Attributes["allowGroup"].Value != "") - { - //Groups array - string[] groupArray = baseExt.Attributes["allowGroup"].Value.Split(','); - - foreach (MemberGroup mg in currentMem.Groups.Values) - { - foreach (string group in groupArray) - { - if (group == mg.Text) - memberAccess = true; - } - } - } - } - - //Membertype allowed? - if (baseExt.Attributes["allowType"] != null && !memberAccess) - { - if (baseExt.Attributes["allowType"].Value != "") - { - //Types array - string[] typeArray = baseExt.Attributes["allowType"].Value.Split(','); - - foreach (string type in typeArray) - { - if (type == currentMem.ContentType.Alias) - memberAccess = true; - } - } - } - - - //Member ID allowed? should this work with loginName instead? - if (baseExt.Attributes["allowMember"] != null && !memberAccess) - { - if (baseExt.Attributes["allowMember"].Value != "") - { - if (int.Parse((string)baseExt.Attributes["allowMember"].Value.Trim()) == currentMem.Id) - memberAccess = true; - } - } - return memberAccess; - } - - #endregion - } - - - - - -} diff --git a/umbraco/presentation/baseLibrary.cs b/umbraco/presentation/baseLibrary.cs deleted file mode 100644 index 761854a56f..0000000000 --- a/umbraco/presentation/baseLibrary.cs +++ /dev/null @@ -1,167 +0,0 @@ -using System; -using System.Xml; -using System.Xml.Xsl; -using System.Xml.XPath; -using System.Data; -using System.Configuration; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; -using System.Text.RegularExpressions; -using umbraco.cms.businesslogic; -using umbraco.cms.businesslogic.member; -using umbraco.cms.businesslogic.property; - -namespace presentation.umbracoBase.library -{ - //This should be replaced with umbracos own methods... - public class library - { - public static Member GetCurrentMember() - { - try - { - if (CurrentMemberId() != 0) - { - // return member from cache - Member m = Member.GetMemberFromCache(CurrentMemberId()); - if (m == null) - m = new Member(CurrentMemberId()); - - if (m != null) - if (m.UniqueId == new Guid(getCookieValue("umbracoMemberGuid")) && m.LoginName == getCookieValue("umbracoMemberLogin")) - return m; - - return null; - } - else - return null; - } - catch - { - return null; - } - - } - - public static int CurrentMemberId() - { - int _currentMemberId = 0; - - if (getCookieValue("umbracoMemberId") != "" && getCookieValue("umbracoMemberGuid") != "" && getCookieValue("umbracoMemberLogin") != "") - _currentMemberId = int.Parse(getCookieValue("umbracoMemberId")); - - return _currentMemberId; - } - - private static string getCookieValue(string Name) - { - string tempValue = ""; - if (System.Web.HttpContext.Current.Request.Cookies[Name] != null) - if (System.Web.HttpContext.Current.Request.Cookies[Name].Value != "") - { - tempValue = System.Web.HttpContext.Current.Request.Cookies[Name].Value; - } - - return tempValue; - } - } - - public class member - { - public static int login(string loginname, string password) - { - Member m = Member.GetMemberFromLoginNameAndPassword(loginname, password); - - if (library.CurrentMemberId() == 0) - { - // If null, login not correct... - if (m != null) - { - Member.AddMemberToCache(m); - return m.Id; - } - else - return 0; - } - else - return library.CurrentMemberId(); - } - - public static int logout() - { - Member m = library.GetCurrentMember(); - if (m != null) - { - Member.RemoveMemberFromCache(m); - Member.ClearMemberFromClient(m); - return m.Id; - } - else - return 0; - } - - public static XPathNodeIterator data() - { - if (library.GetCurrentMember() != null) - { - XmlDocument mXml = new XmlDocument(); - mXml.LoadXml(library.GetCurrentMember().ToXml(mXml, false).OuterXml); - XPathNavigator xp = mXml.CreateNavigator(); - return xp.Select("/node"); - } - else - return null; - } - - public static int id() - { - return library.CurrentMemberId(); - } - - public static string setProperty(string alias, object value) - { - string retVal = "False"; - try - { - Member myMember = library.GetCurrentMember(); - - if (myMember != null) - { - Property myProperty = myMember.getProperty(alias); - - if (MemberType.GetByAlias(myMember.ContentType.Alias).MemberCanEdit(myProperty.PropertyType)) - { - - if (myProperty.PropertyType.ValidationRegExp.Trim() != "") - { - Regex regexPattern = new Regex(myMember.getProperty(alias).PropertyType.ValidationRegExp); - - if (regexPattern.IsMatch(value.ToString())) - { - myProperty.Value = value; - retVal = "True"; - myMember.XmlGenerate(new XmlDocument()); - } - } - else - { - myProperty.Value = value; - retVal = "True"; - myMember.XmlGenerate(new XmlDocument()); - } - - } - } - } - catch (Exception x) - { retVal = x.Message; } - - return retVal; - } - } - -} diff --git a/umbraco/presentation/install/steps/validatePermissions.ascx.cs b/umbraco/presentation/install/steps/validatePermissions.ascx.cs index f47fc1c723..be94c18a4d 100644 --- a/umbraco/presentation/install/steps/validatePermissions.ascx.cs +++ b/umbraco/presentation/install/steps/validatePermissions.ascx.cs @@ -11,7 +11,7 @@ namespace umbraco.presentation.install.steps public partial class validatePermissions : UserControl { private string[] permissionDirs = {SystemDirectories.Css, SystemDirectories.Config, SystemDirectories.Data, SystemDirectories.Media, SystemDirectories.Masterpages, SystemDirectories.Xslt, SystemDirectories.Usercontrols}; - private string[] permissionFiles = { SystemDirectories.Packages + "/installed/installedPackages.config" , SystemDirectories.Packages + "/created/createdPackages.config" }; + private string[] permissionFiles = { }; private string[] packagesPermissionsDirs = {SystemDirectories.Bin, SystemDirectories.Umbraco, SystemDirectories.Usercontrols, SystemDirectories.Packages}; protected void Page_Load(object sender, EventArgs e) diff --git a/umbraco/presentation/umbraco.presentation.csproj b/umbraco/presentation/umbraco.presentation.csproj index d22dc84458..622ac0312e 100644 --- a/umbraco/presentation/umbraco.presentation.csproj +++ b/umbraco/presentation/umbraco.presentation.csproj @@ -2758,8 +2758,6 @@ - - @@ -2796,7 +2794,7 @@ - + diff --git a/umbraco/presentation/umbraco/standardTreeFunctions.cs b/umbraco/presentation/umbraco/standardTreeFunctions.cs deleted file mode 100644 index 639903a1a8..0000000000 --- a/umbraco/presentation/umbraco/standardTreeFunctions.cs +++ /dev/null @@ -1,2000 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Data; -using System.IO; -using System.Text; -using System.Web; -using System.Xml; -using System.Configuration; -using umbraco.BasePages; -using umbraco.BusinessLogic; -using umbraco.cms.businesslogic; -using umbraco.cms.businesslogic.cache; -using umbraco.cms.businesslogic.contentitem; -using umbraco.cms.businesslogic.datatype; -using umbraco.cms.businesslogic.language; -using umbraco.cms.businesslogic.media; -using umbraco.cms.businesslogic.member; -using umbraco.cms.businesslogic.property; -using umbraco.cms.businesslogic.web; -using umbraco.interfaces; -using Template=umbraco.cms.businesslogic.template.Template; -using umbraco.DataLayer; - -namespace umbraco -{ - #region content and media - -// /// -// /// Handles loading the content tree into umbraco's application tree -// /// -// public class loadContent : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// if (HttpContext.Current.Request.QueryString["functionToCall"] != null) -// { -// Javascript.Append("function openContent(id) {\n"); -// Javascript.Append(HttpContext.Current.Request.QueryString["functionToCall"] + "(id)\n"); -// Javascript.Append("}\n"); -// } -// else if (HttpContext.Current.Request.QueryString["isDialog"] == null) -// { -// Javascript.Append( -// @" -//function openContent(id) { -// parent.right.document.location.href = 'editContent.aspx?id=' + id; -//} -//"); -// } -// else -// { -// Javascript.Append( -// @" -//function openContent(id) { -// if (parent.opener) -// parent.opener.dialogHandler(id); -// else -// parent.dialogHandler(id); -//} -// -//"); -// } -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// // CRUDS that is used in this rendering -// string useCruds = "CD,MO,SK,UIR,P,Z,T5"; - -// // Get user and check if its administrator og editor -// UmbracoEnsuredPage bp = new UmbracoEnsuredPage(); -// User u = bp.getUser(); -// //string userTypeName = u.UserType.Name.ToLower(); -// //string defaultCruds = u.UserType.DefaultPermissions; - -// // Check if we're used for at general dialog purpose -// string isDialogMode = ""; -// string dialogMode = ""; -// string hideContextMenu; -// bool isRecycleBin = false; -// if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["isRecycleBin"])) -// isRecycleBin = bool.Parse(HttpContext.Current.Request.QueryString["isRecycleBin"]); - -// hideContextMenu = helper.Request("contextMenu"); - -// if (HttpContext.Current.Request.QueryString["isDialog"] != null) -// if (HttpContext.Current.Request.QueryString["isDialog"] != "") -// { -// isDialogMode = "true"; -// if (HttpContext.Current.Request.QueryString["dialogMode"] != null) -// dialogMode = HttpContext.Current.Request.QueryString["dialogMode"]; -// } -// //library lib = new library(); - -// Document[] docs; - -// if (_id == -1) -// { -// docs = Document.GetRootDocuments(); -// } -// else -// { -// docs = Document.GetChildrenForTree(_id); -// // docs = new cms.businesslogic.web.Document(_id).Children; -// } - -// XmlNode root = Tree.DocumentElement; -// foreach (Document dd in docs) -// { -// // CRUDS... -// string cruds = ""; -// string allCruds = u.GetPermissions(dd.Path); - -// // Check for update/view rights -// if (allCruds.IndexOf("A") > -1) -// { -// foreach (char c in useCruds.ToCharArray()) -// // check if cruds does not already contain c, -// // and if c is the create permission, if the node has available child content types -// if ((allCruds.IndexOf(c) > -1 || (c == ',' && !cruds.EndsWith(","))) -// && !(c == 'C' && dd.ContentType.AllowedChildContentTypeIDs.Length == 0)) -// cruds += c; - -// // user are allowed to delete their own documents -// if (dd.UserId == u.Id && cruds.IndexOf("D") == -1) -// cruds += "D"; - -// XmlElement treeElement = Tree.CreateElement("tree"); - -// treeElement.SetAttribute("nodeID", dd.Id.ToString()); -// treeElement.SetAttribute("text", dd.Text); -// if (!dd.Published || isRecycleBin) treeElement.SetAttribute("iconClass", "umbraco-tree-icon-grey"); - -// if (dd.Published) -// { -// if (Math.Round(new TimeSpan(dd.UpdateDate.Ticks - dd.VersionDate.Ticks).TotalSeconds, 0) > 1) -// treeElement.SetAttribute("notPublished", "true"); -// //dd.VersionDate.ToString() + ", " + dd.UpdateDate.ToString() + " (" + library.DateDiff(dd.VersionDate, dd.UpdateDate, "s").ToString() + ")"); -// } - -// if (Access.IsProtected(dd.Id, dd.Path)) -// treeElement.SetAttribute("isProtected", "true"); - -// // Check for dialog behaviour -// if (isDialogMode == "" || dialogMode == "id") -// treeElement.SetAttribute("action", string.Format("javascript:openContent({0});", dd.Id)); -// else -// { -// string nodeLink = library.NiceUrl(dd.Id); -// if (nodeLink == "") -// { -// nodeLink = "/" + dd.Id; -// if (!GlobalSettings.UseDirectoryUrls) -// nodeLink += ".aspx"; -// } - -// // 2.1.1 - render urls on the fly -// nodeLink = string.Format("{{localLink:{0}}}", dd.Id); -// // nodeLink = "{#" + dd.Id.ToString() + "," + nodeLink + "}"; - -// treeElement.SetAttribute("action", string.Format("javascript:openContent('{0}');", nodeLink)); -// } - -// // special cruds for recycle bin -// if (isRecycleBin) -// cruds = "M,D"; - -// if (dd.HasChildren) -// { -// if (hideContextMenu == "") -// treeElement.SetAttribute("menu", cruds + ",L,Q"); -// else -// treeElement.SetAttribute("menu", ""); - -// treeElement.SetAttribute("src", -// "tree.aspx?contextMenu=" + hideContextMenu + "&isDialog=" + isDialogMode + "&dialogMode=" + dialogMode + "&app=" + -// _app + "&id=" + dd.Id + "&treeType=" + HttpContext.Current.Request.QueryString["treeType"] + -// "&isRecycleBin=" + isRecycleBin + "&rnd=" + Guid.NewGuid()); -// } -// else -// { -// if (hideContextMenu == "") -// treeElement.SetAttribute("menu", cruds.Replace("S,", "") + ",L,Q"); -// else -// treeElement.SetAttribute("menu", ""); -// treeElement.SetAttribute("rootSrc", -// "tree.aspx?app=" + _app + "&id=" + dd.Id + "&treeType=content&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("src", ""); -// } -// if (dd.ContentTypeIcon != null) -// { -// treeElement.SetAttribute("icon", dd.ContentTypeIcon); -// treeElement.SetAttribute("openIcon", dd.ContentTypeIcon); -// } - -// treeElement.SetAttribute("nodeType", "content"); -// root.AppendChild(treeElement); -// } -// } - -// if (_id == -1 && isDialogMode.ToLower() != "true") -// { -// // Add Recyle Bin -// XmlElement treeElement = Tree.CreateElement("tree"); - -// treeElement.SetAttribute("nodeID", "-20"); -// treeElement.SetAttribute("text", ui.Text("recycleBin")); - -// if (new RecycleBin(Document._objectType).Smells()) -// { -// treeElement.SetAttribute("icon", "../tree/bin.png"); -// treeElement.SetAttribute("openIcon", "../tree/bin.png"); -// treeElement.SetAttribute("menu", "N,L"); -// treeElement.SetAttribute("src", -// "tree.aspx?isRecycleBin=true&app=" + _app + "&id=-20&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + Guid.NewGuid()); -// } -// else -// { -// treeElement.SetAttribute("icon", "../tree/bin_empty.png"); -// treeElement.SetAttribute("openIcon", "../tree/bin.png"); -// } - -// treeElement.SetAttribute("nodeType", "recyleBin"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadMedia : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// if(HttpContext.Current.Request.QueryString["functionToCall"] != null) -// { -// Javascript.Append("function openMedia(id) {\n"); -// Javascript.Append(HttpContext.Current.Request.QueryString["functionToCall"] + "(id)\n"); -// Javascript.Append("}\n"); -// } -// else if(HttpContext.Current.Request.QueryString["isDialog"] == null) -// { -// Javascript.Append( -// @" -//function openMedia(id) { -// parent.right.document.location.href = 'editMedia.aspx?id=' + id; -//} -//"); -// } -// else -// { -// Javascript.Append( -// @" -//function openMedia(id) { -// if (parent.opener) -// parent.opener.dialogHandler(id); -// else -// parent.dialogHandler(id); -//} -//"); -// } -// } - -// public void Render(ref XmlDocument Tree) -// { -// // Check if we're used for at general dialog purpose -// string isDialogMode = ""; -// string dialogMode = ""; -// string hideContextMenu; - -// hideContextMenu = helper.Request("contextMenu"); - -// if(HttpContext.Current.Request.QueryString["isDialog"] != null) -// if(HttpContext.Current.Request.QueryString["isDialog"] != "") -// { -// isDialogMode = "true"; -// if(HttpContext.Current.Request.QueryString["dialogMode"] != null) -// dialogMode = HttpContext.Current.Request.QueryString["dialogMode"]; -// } -// //library lib = new library(); - -// Media[] docs; - -// if(_id == -1) -// { -// docs = Media.GetRootMedias(); -// } -// else -// { -// docs = new Media(_id).Children; -// } - -// XmlNode root = Tree.DocumentElement; -// foreach(Media dd in docs) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dd.Id.ToString()); -// treeElement.SetAttribute("text", dd.Text); - -// // Check for dialog behaviour -// if((isDialogMode == "" || dialogMode == "id")) -// { -// if(hideContextMenu == "") -// treeElement.SetAttribute("menu", "CMDS,L,Q"); -// else -// treeElement.SetAttribute("menu", ""); -// treeElement.SetAttribute("action", "javascript:openMedia(" + dd.Id + ");"); -// } -// else -// { -// if(hideContextMenu == "") -// treeElement.SetAttribute("menu", "L,Q"); -// else -// treeElement.SetAttribute("menu", ""); - -// Guid uploadGuid = new Guid("5032a6e6-69e3-491d-bb28-cd31cd11086c"); -// string nodeLink = dd.Id.ToString(); - -// foreach(Property p in dd.getProperties) -// { -// if(p.PropertyType.DataTypeDefinition.DataType.Id == uploadGuid && p.Value.ToString() != "") -// { -// nodeLink = p.Value.ToString(); -// break; -// } -// } - -// treeElement.SetAttribute("action", "javascript:openMedia('" + nodeLink + "');"); -// } -// if(dd.HasChildren) -// { -// treeElement.SetAttribute("src", -// "tree.aspx?isDialog=" + isDialogMode + "&dialogMode=" + dialogMode + "&app=" + _app + "&id=" + dd.Id + -// "&treeType=" + HttpContext.Current.Request.QueryString["treeType"] + "&contextMenu=" + hideContextMenu + "&rnd=" + -// Guid.NewGuid()); -// } -// else -// { -// treeElement.SetAttribute("rootSrc", -// "tree.aspx?app=" + _app + "&id=" + dd.Id + "&treeType=media" + "&contextMenu=" + hideContextMenu + -// "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("src", ""); -// } - -// if (dd.ContentType != null) -// { -// treeElement.SetAttribute("icon", dd.ContentType.IconUrl); -// treeElement.SetAttribute("openIcon", dd.ContentType.IconUrl); -// } - -// treeElement.SetAttribute("nodeType", "media"); -// root.AppendChild(treeElement); -// } -// } -// } - - #endregion content and media - - #region settings - -// public class loadTemplates : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openTemplate(id) { -// parent.right.document.location.href = 'settings/editTemplate.aspx?templateID=' + id; -//} -//"); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// foreach(Template t in Template.getAll()) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", t.Id.ToString()); -// treeElement.SetAttribute("text", t.Text); -// treeElement.SetAttribute("action", "javascript:openTemplate(" + t.Id + ");"); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingTemplate.gif"); -// treeElement.SetAttribute("openIcon", "settingTemplate.gif"); -// treeElement.SetAttribute("nodeType", "templates"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadNodeTypes : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openNodeType(id) { -// parent.right.document.location.href = 'settings/editNodeTypeNew.aspx?id=' + id; -//} -//"); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// foreach(DocumentType dt in DocumentType.GetAll) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dt.Id.ToString()); -// treeElement.SetAttribute("text", dt.Text); -// treeElement.SetAttribute("menu", "O,9,D"); -// treeElement.SetAttribute("action", "javascript:openNodeType(" + dt.Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingDataType.gif"); -// treeElement.SetAttribute("openIcon", "settingDataType.gif"); -// treeElement.SetAttribute("nodeType", "nodeType"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadMediaTypes : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openMediaType(id) { -// parent.right.document.location.href = 'settings/editMediaType.aspx?id=' + id; -//} -//"); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// foreach(MediaType dt in MediaType.GetAll) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dt.Id.ToString()); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("text", dt.Text); -// treeElement.SetAttribute("action", string.Format("javascript:openMediaType({0});", dt.Id)); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingDataType.gif"); -// treeElement.SetAttribute("openIcon", "settingDataType.gif"); -// treeElement.SetAttribute("nodeType", "mediaType"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadStylesheets : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -// function openStylesheet(id) { -// parent.right.document.location.href = 'settings/stylesheet/editStylesheet.aspx?id=' + id; -// } -// "); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; -// foreach(StyleSheet n in StyleSheet.GetAll()) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("menu", "CDS,L"); -// treeElement.SetAttribute("nodeID", n.Id.ToString()); -// treeElement.SetAttribute("text", n.Text); -// treeElement.SetAttribute("action", "javascript:openStylesheet(" + n.Id + ");"); -// if(n.HasChildren) -// treeElement.SetAttribute("src", -// "tree.aspx?app=" + _app + "&id=" + n.Id + "&treeType=stylesheetProperty" + "&rnd=" + -// Guid.NewGuid()); -// else -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingCss.gif"); -// treeElement.SetAttribute("openIcon", "settingCss.gif"); -// treeElement.SetAttribute("nodeType", "stylesheet"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadStylesheetProperty : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -// function openStylesheetProperty(id) { -// parent.right.document.location.href = 'settings/stylesheet/property/editStylesheetProperty.aspx?id=' + id; -// } -// "); -// } - -// public void Render(ref XmlDocument Tree) -// { -// StyleSheet sn = new StyleSheet(_id); -// XmlNode root = Tree.DocumentElement; - -// foreach(StylesheetProperty n in sn.Properties) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", n.Id.ToString()); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("text", n.Text); -// treeElement.SetAttribute("action", "javascript:openStylesheetProperty(" + n.Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingCssItem.gif"); -// treeElement.SetAttribute("openIcon", "settingCssItem.gif"); -// treeElement.SetAttribute("nodeType", "stylesheetProperty"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadScripts : ITree -// { -// #region TreeI Members - -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -// function openScriptEditor(id) { -// parent.right.document.location.href = 'settings/scripts/editScript.aspx?file=' + id; -// } -// "); -// } - -// public void Render(ref XmlDocument Tree) -// { -// String orgPath = ""; -// String path; -// if(HttpContext.Current.Request.QueryString["folder"] != null) -// { -// orgPath = HttpContext.Current.Request.QueryString["folder"]; -// path = HttpContext.Current.Server.MapPath(UmbracoSettings.ScriptFolderPath + "/" + orgPath + "/"); -// //orgPath += "/"; -// } -// else -// path = HttpContext.Current.Server.MapPath(UmbracoSettings.ScriptFolderPath + "/"); - -// XmlNode root = Tree.DocumentElement; - -// DirectoryInfo dirInfo = new DirectoryInfo(path); -// DirectoryInfo[] dirInfos = dirInfo.GetDirectories(); -// foreach(DirectoryInfo dir in dirInfos) -// { -// if((dir.Attributes & FileAttributes.Hidden) == 0) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dir.FullName); -// treeElement.SetAttribute("text", dir.Name); -// treeElement.SetAttribute("action", ""); -// treeElement.SetAttribute("menu", "D,C,L"); -// treeElement.SetAttribute("src", -// string.Format("tree.aspx?app={0}&id=1&folder={1}&treeType=scripts&rnd={2}", this._app, dir.Name, Guid.NewGuid())); -// treeElement.SetAttribute("icon", "folder.gif"); -// treeElement.SetAttribute("openIcon", "folder_o.gif"); -// treeElement.SetAttribute("nodeType", "scriptsFolder"); -// root.AppendChild(treeElement); -// } -// } - -// FileInfo[] fileInfo = dirInfo.GetFiles("*.*"); -// string fileTypes = UmbracoSettings.ScriptFileTypes; - -// foreach(FileInfo file in fileInfo) -// { -// if((file.Attributes & FileAttributes.Hidden) == 0 && fileTypes.Contains(file.Extension.Trim('.'))) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", file.FullName); -// treeElement.SetAttribute("text", file.Name); -// if(orgPath != "") -// treeElement.SetAttribute("action", "javascript:openScriptEditor('" + dirInfo.Name + "/" + file.Name + "');"); -// else -// treeElement.SetAttribute("action", "javascript:openScriptEditor('" + file.Name + "');"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("icon", "settingsScript.gif"); -// treeElement.SetAttribute("openIcon", "settingsScript.gif"); -// treeElement.SetAttribute("nodeType", "scripts"); -// root.AppendChild(treeElement); -// } -// } -// } -// } - -// #endregion - -// public class loadDictionary : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -// function openDictionaryItem(id) { -// parent.right.document.location.href = 'settings/editDictionaryItem.aspx?id=' + id; -// } -// "); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; -// Dictionary.DictionaryItem[] tmp; -// if(HttpContext.Current.Request.QueryString["parentkey"] == null) -// tmp = Dictionary.getTopMostItems; -// else -// tmp = new Dictionary.DictionaryItem(int.Parse(HttpContext.Current.Request.QueryString["parentkey"])).Children; - -// foreach(Dictionary.DictionaryItem di in tmp) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", di.id.ToString()); -// treeElement.SetAttribute("menu", "CD,L"); -// treeElement.SetAttribute("text", di.key); -// treeElement.SetAttribute("action", string.Format("javascript:openDictionaryItem({0});", di.id)); -// if(di.hasChildren) -// treeElement.SetAttribute("src", -// "tree.aspx?parentkey=" + di.id + "&app=" + _app + "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("icon", "settingDataType.gif"); -// treeElement.SetAttribute("openIcon", "settingDataType.gif"); -// treeElement.SetAttribute("nodeType", "DictionaryItem"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadcontentItemType : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openContentItemType(id) { -// parent.right.document.location.href = 'settings/editContentItemType.aspx?id=' + id; -//} -//"); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// foreach(ContentItemType dt in ContentItemType.GetAll) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dt.Id.ToString()); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("text", dt.Text); -// treeElement.SetAttribute("action", "javascript:openContentItemType(" + dt.Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingDataType.gif"); -// treeElement.SetAttribute("openIcon", "settingDataType.gif"); -// treeElement.SetAttribute("nodeType", "contentItemType"); -// root.AppendChild(treeElement); -// } -// } -// } - -// public class loadLanguages : ITree -// { -// private int _id; -// private string _app; - -// public int id -// { -// set { _id = value; } -// } - -// public string app -// { -// set { _app = value; } -// } - -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openLanguage(id) { -// parent.right.document.location.href = 'settings/editLanguage.aspx?id=' + id; -//} -// -//function openDictionary() { -// parent.right.document.location.href = 'settings/DictionaryItemList.aspx'; -//}"); -// } - -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// foreach(Language l in Language.getAll) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", l.id.ToString()); -// treeElement.SetAttribute("text", l.FriendlyName); -// treeElement.SetAttribute("action", "javascript:openLanguage(" + l.id + ");"); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "settingLanguage.gif"); -// treeElement.SetAttribute("openIcon", "settingLanguage.gif"); -// treeElement.SetAttribute("nodeType", "language"); -// root.AppendChild(treeElement); -// } -// } -// } - - #endregion - - #region developer - - /// - /// Handles loading of the cache application into the developer application tree - /// - //public class loadCache : ITree - //{ - // private int _id; - // private string _app; - - // /// - // /// Sets the id. - // /// - // /// The id. - // public int id - // { - // set { _id = value; } - // } - - // /// - // /// Sets the app. - // /// - // /// The app. - // public string app - // { - // set { _app = value; } - // } - - // /// - // /// Renders the JS for the tree item. - // /// - // /// The javascript. - // public void RenderJS(ref StringBuilder Javascript) - // { - // } - - - // /// - // /// Renders the specified tree item. - // /// - // /// The tree. - // public void Render(ref XmlDocument Tree) - // { - // XmlNode root = Tree.DocumentElement; - - // Hashtable ht = Cache.ReturnCacheItemsOrdred(); - - // foreach(string key in ht.Keys) - // { - // XmlElement treeElement = Tree.CreateElement("tree"); - // treeElement.SetAttribute("nodeID", key); - // treeElement.SetAttribute("text", key + " (" + ((ArrayList)ht[key]).Count + ")"); - // treeElement.SetAttribute("action", "#"); - // treeElement.SetAttribute("src", - // "tree.aspx?app=" + _app + "&id=1&cacheTypeName=" + key + "&treeType=cacheItem" + "&rnd=" + - // Guid.NewGuid()); - // treeElement.SetAttribute("icon", "developerCacheTypes.gif"); - // treeElement.SetAttribute("openIcon", "developerCacheTypes.gif"); - // treeElement.SetAttribute("menu", "L"); - // treeElement.SetAttribute("nodeType", "cache"); - // root.AppendChild(treeElement); - // } - // } - //} - - /// - /// Handles loading of each individual cache items into the application tree under the cache application - /// -// public class loadCacheItem : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openCacheItem(id) { -// parent.right.document.location.href = 'developer/cache/viewCacheItem.aspx?key=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// Hashtable ht = Cache.ReturnCacheItemsOrdred(); - -// ArrayList a = (ArrayList)ht[HttpContext.Current.Request.QueryString["cacheTypeName"]]; - -// for(int i = 0; i < a.Count; i++) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", a[i].ToString()); -// treeElement.SetAttribute("text", a[i].ToString()); -// treeElement.SetAttribute("action", "javascript:openCacheItem('" + a[i] + "');"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", ""); -// treeElement.SetAttribute("icon", "developerCacheItem.gif"); -// treeElement.SetAttribute("openIcon", "developerCacheItem.gif"); -// treeElement.SetAttribute("nodeType", "cache"); -// root.AppendChild(treeElement); -// } -// } -// } - -// /// -// /// Handles loading of the cache application into the developer application tree -// /// -// public class loadMacros : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// protected static ISqlHelper SqlHelper -// { -// get { return umbraco.BusinessLogic.Application.SqlHelper; } -// } - - -// /// -// /// Renders the JS. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openMacro(id) { -// parent.right.document.location.href = 'developer/macros/editMacro.aspx?macroID=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// using(IRecordsReader macros = SqlHelper.ExecuteReader("select id, macroName from cmsMacro order by macroName")) -// { -// XmlNode root = Tree.DocumentElement; - -// while (macros.Read()) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", macros.GetInt("id").ToString()); -// treeElement.SetAttribute("text", macros.GetString("macroName")); -// treeElement.SetAttribute("action", -// "javascript:openMacro(" + macros.GetInt("id") + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("icon", "developerMacro.gif"); -// treeElement.SetAttribute("openIcon", "developerMacro.gif"); -// treeElement.SetAttribute("nodeType", "macro"); -// root.AppendChild(treeElement); -// } -// } -// } -// } - - /// - /// Handles loading of the xslt files into the application tree - /// -// public class loadXslt : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openXslt(id) { -// parent.right.document.location.href = 'developer/xslt/editXslt.aspx?file=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// String orgPath = ""; -// String path = ""; -// if(HttpContext.Current.Request.QueryString["folder"] != null) -// { -// orgPath = HttpContext.Current.Request.QueryString["folder"]; -// path = HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/../xslt/" + orgPath); -// orgPath += "/"; -// } -// else -// path = HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/../xslt/"); - -// XmlNode root = Tree.DocumentElement; -// DirectoryInfo dirInfo = new DirectoryInfo(path); -// DirectoryInfo[] dirInfos = dirInfo.GetDirectories(); -// foreach(DirectoryInfo dir in dirInfos) -// { -// if((dir.Attributes & FileAttributes.Hidden) == 0) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", "-1"); -// treeElement.SetAttribute("text", dir.Name); -// treeElement.SetAttribute("action", ""); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("src", -// "tree.aspx?app=" + _app + "&id=1&folder=" + dir.Name + "&treeType=xslt" + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("icon", "folder.gif"); -// treeElement.SetAttribute("openIcon", "folder_o.gif"); -// treeElement.SetAttribute("nodeType", "xsltFolder"); -// root.AppendChild(treeElement); -// } -// } - -// FileInfo[] fileInfo = dirInfo.GetFiles("*.xslt"); -// foreach(FileInfo file in fileInfo) -// { -// if((file.Attributes & FileAttributes.Hidden) == 0) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", file.FullName); -// treeElement.SetAttribute("text", file.Name); -// if(orgPath != "") -// treeElement.SetAttribute("action", "javascript:openXslt('" + dirInfo.Name + "/" + file.Name + "');"); -// else -// treeElement.SetAttribute("action", "javascript:openXslt('" + file.Name + "');"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("icon", "developerXslt.gif"); -// treeElement.SetAttribute("openIcon", "developerXslt.gif"); -// treeElement.SetAttribute("nodeType", "xslt"); -// root.AppendChild(treeElement); -// } -// } -// } -// } - - /// - /// Handles loading of python items into the developer application tree - /// - //public class loadPython : ITree - //{ - // private int _id; - // private string _app; - - // /// - // /// Sets the id. - // /// - // /// The id. - // public int id - // { - // set { _id = value; } - // } - - // /// - // /// Sets the app. - // /// - // /// The app. - // public string app - // { - // set { _app = value; } - // } - - // /// - // /// Renders the Javascript. - // /// - // /// The javascript. - // public void RenderJS(ref StringBuilder Javascript) - // { - // Javascript.Append( - // @"function openPython(id) {parent.right.document.location.href = 'developer/python/editPython.aspx?file=' + id;}"); - // } - - // /// - // /// Renders the specified tree item. - // /// - // /// The tree. - // public void Render(ref XmlDocument Tree) - // { - // string orgPath = ""; - // string path = ""; - // if(HttpContext.Current.Request.QueryString["folder"] != null) - // { - // orgPath = HttpContext.Current.Request.QueryString["folder"]; - // path = HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/../python/" + orgPath); - // orgPath += "/"; - // } - // else - // { - // path = HttpContext.Current.Server.MapPath(GlobalSettings.Path + "/../python/"); - // } - // XmlNode root = Tree.DocumentElement; - // DirectoryInfo dirInfo = new DirectoryInfo(path); - // DirectoryInfo[] dirInfos = dirInfo.GetDirectories(); - // foreach(DirectoryInfo dir in dirInfos) - // { - // if((dir.Attributes & FileAttributes.Hidden) == 0) - // { - // XmlElement treeElement = Tree.CreateElement("tree"); - // treeElement.SetAttribute("nodeID", "-1"); - // treeElement.SetAttribute("text", dir.Name); - // treeElement.SetAttribute("action", ""); - // treeElement.SetAttribute("menu", "D"); - // treeElement.SetAttribute("src", - // "tree.aspx?app=" + _app + "&id=1&folder=" + dir.Name + "&treeType=xslt" + "&rnd=" + Guid.NewGuid()); - // treeElement.SetAttribute("icon", "folder.gif"); - // treeElement.SetAttribute("openIcon", "folder_o.gif"); - // treeElement.SetAttribute("nodeType", "pythonFolder"); - // root.AppendChild(treeElement); - // } - // } - // FileInfo[] fileInfo = dirInfo.GetFiles("*.py*"); - // foreach(FileInfo file in fileInfo) - // { - // if((file.Attributes & FileAttributes.Hidden) == 0) - // { - // XmlElement treeElement = Tree.CreateElement("tree"); - // treeElement.SetAttribute("nodeID", file.FullName); - // treeElement.SetAttribute("text", file.Name); - // if(!((orgPath == ""))) - // { - // treeElement.SetAttribute("action", "javascript:openPython('" + dirInfo.Name + "/" + file.Name + "');"); - // } - // else - // { - // treeElement.SetAttribute("action", "javascript:openPython('" + file.Name + "');"); - // } - // treeElement.SetAttribute("src", ""); - // treeElement.SetAttribute("menu", "D"); - // treeElement.SetAttribute("icon", "developerPython.gif"); - // treeElement.SetAttribute("openIcon", "developerPython.gif"); - // treeElement.SetAttribute("nodeType", "python"); - // root.AppendChild(treeElement); - // } - // } - // } - //} - - /// - /// Handles loading of all datatypes into the developer application tree - /// -// public class loadDataTypes : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openDataType(id) { -// parent.right.document.location.href = 'developer/datatypes/editDataType.aspx?id=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; -// foreach(DataTypeDefinition dt in DataTypeDefinition.GetAll()) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", dt.Id.ToString()); -// treeElement.SetAttribute("text", dt.Text); -// treeElement.SetAttribute("action", "javascript:openDataType(" + dt.Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("icon", "settingDatatype.gif"); -// treeElement.SetAttribute("openIcon", "settingDatatype.gif"); -// treeElement.SetAttribute("nodeType", "datatype"); -// root.AppendChild(treeElement); -// } -// } -// } - -// /// -// /// Handles loading of the packager application into the developer application tree -// /// -// public class loadPackager : ITree -// { -// #region TreeI Members - -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @"function openPackageCategory(url) { -// parent.right.document.location.href = 'developer/packages/' + url;}" -// ); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// XmlNode root = Tree.DocumentElement; - -// string[,] items = { { "BrowseRepository.aspx", "Install from repository" }, { "CreatePackage.aspx", "Created Packages" }, { "installedPackages.aspx", "Installed packages" }, { "boost.aspx", "Boost" }, { "installer.aspx", "Install local package" } }; - - -// for (int i = 0; i <= items.GetUpperBound(0); i++) { - -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", "-1"); -// treeElement.SetAttribute("text", items[i, 1]); -// treeElement.SetAttribute("icon", "folder.gif"); -// treeElement.SetAttribute("openIcon", "folder_o.gif"); - -// //Make sure the different sections load the correct childnodes. -// switch (items[i, 1]) -// { -// case "Installed packages": -// if (cms.businesslogic.packager.InstalledPackage.GetAllInstalledPackages().Count > 0) { -// treeElement.SetAttribute("src", "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=installed" + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("nodeType", "installedPackages"); -// treeElement.SetAttribute("menu", "L"); -// } else { -// treeElement.SetAttribute("text", ""); -// } -// break; - - -// case "Install from repository": - -// //Gets all the repositories registered in umbracoSettings.config -// List repos = cms.businesslogic.packager.repositories.Repository.getAll(); - - -// //if more then one repo, then list them as child nodes under the "Install from repository" node. -// // the repositories will then be fetched from the loadPackages class. -// if (repos.Count > 1) { -// treeElement.SetAttribute("src", "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repositories" + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("nodeType", "packagesRepositories"); -// treeElement.SetAttribute("menu", "L"); -// } - -// //if only one repo, then just list it directly and name it as the repository. -// //the packages will be loaded from the loadPackages class with a repoAlias querystring -// else if (repos.Count == 1) { -// treeElement.SetAttribute("text", repos[0].Name); -// treeElement.SetAttribute("src", "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repos[0].Guid + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("nodeType", "packagesRepository"); -// treeElement.SetAttribute("menu", "L"); -// treeElement.SetAttribute("action", "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repos[0].Guid + "');"); -// treeElement.SetAttribute("icon", "repository.gif"); -// treeElement.SetAttribute("openIcon", "repository.gif"); -// } - -// //if none registered, then remove the repo node. -// else if(repos.Count == 0) { -// treeElement.SetAttribute("text", ""); -// } - -// break; - - -// case "Created Packages": -// treeElement.SetAttribute("src", "tree.aspx?app=" + this._app + "&id=" + this._id + "&treeType=packagerPackages&packageType=created" + "&rnd=" + Guid.NewGuid()); -// treeElement.SetAttribute("nodeType", "createdPackages"); -// treeElement.SetAttribute("menu", "C,L"); -// break; - -// case "Install local package": -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("nodeType", "uploadPackage"); -// //treeElement.SetAttribute("menu", ""); -// treeElement.SetAttribute("icon", "uploadpackage.gif"); -// treeElement.SetAttribute("openIcon", "uploadpackage.gif"); -// treeElement.SetAttribute("action", "javascript:openPackageCategory('" + items[i, 0] + "');"); -// break; - -// case "Boost": -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("nodeType", "packagesBoost"); -// //treeElement.SetAttribute("menu", "L"); -// treeElement.SetAttribute("action", "javascript:openPackageCategory('" + items[i, 0] + "');"); -// treeElement.SetAttribute("icon", "nitros.gif"); -// treeElement.SetAttribute("openIcon", "nitros.gif"); -// treeElement.SetAttribute("text", "Install nitros"); - -// if (!cms.businesslogic.packager.InstalledPackage.isPackageInstalled("ae41aad0-1c30-11dd-bd0b-0800200c9a66")) -// treeElement.SetAttribute("text", "Install boost"); -// break; - -// default: -// break; -// } - -// if(treeElement.GetAttribute("text") != "") -// root.AppendChild(treeElement); - -// } - -// } -// } - -// #endregion - -// public class loadPackages : ITree{ - -// private int m_id; -// private string m_app; -// private string m_packageType = ""; -// private string m_repoGuid = ""; - -// int ITree.id -// { -// set { m_id = value; } -// } - -// string ITree.app -// { -// set { m_app = value;} -// } - -// void ITree.Render(ref XmlDocument Tree) -// { -// m_packageType = HttpContext.Current.Request.QueryString["packageType"]; -// XmlNode root = Tree.DocumentElement; - -// switch (m_packageType) -// { -// case "installed": -// foreach (cms.businesslogic.packager.InstalledPackage p in cms.businesslogic.packager.InstalledPackage.GetAllInstalledPackages()) { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", p.Data.Id.ToString()); -// treeElement.SetAttribute("text", p.Data.Name); -// treeElement.SetAttribute("action", "javascript:openInstalledPackage('" + p.Data.Id.ToString() + "');"); -// treeElement.SetAttribute("menu", ""); -// //treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "package.gif"); -// treeElement.SetAttribute("openIcon", "package.gif"); -// treeElement.SetAttribute("nodeType", "createdPackageInstance"); -// root.AppendChild(treeElement); -// } -// break; - -// case "created": -// foreach (cms.businesslogic.packager.CreatedPackage p in cms.businesslogic.packager.CreatedPackage.GetAllCreatedPackages()) { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("nodeID", p.Data.Id.ToString()); -// treeElement.SetAttribute("text", p.Data.Name); -// treeElement.SetAttribute("action", "javascript:openCreatedPackage('" + p.Data.Id.ToString() + "');"); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "package.gif"); -// treeElement.SetAttribute("openIcon", "package.gif"); -// treeElement.SetAttribute("nodeType", "createdPackageInstance"); -// root.AppendChild(treeElement); -// } -// break; - -// case "repositories": -// List repos = cms.businesslogic.packager.repositories.Repository.getAll(); - -// foreach (cms.businesslogic.packager.repositories.Repository repo in repos) { -// XmlElement catElement = Tree.CreateElement("tree"); -// catElement.SetAttribute("text", repo.Name); -// catElement.SetAttribute("menu", "L"); - -// catElement.SetAttribute("icon", "repository.gif"); -// catElement.SetAttribute("openIcon", "repository.gif"); - -// catElement.SetAttribute("nodeType", "packagesRepo" + repo.Guid); -// catElement.SetAttribute("src", "tree.aspx?app=" + this.m_app + "&id=" + this.m_id + "&treeType=packagerPackages&packageType=repository&repoGuid=" + repo.Guid + "&rnd=" + Guid.NewGuid()); -// catElement.SetAttribute("action", "javascript:openPackageCategory('BrowseRepository.aspx?repoGuid=" + repo.Guid + "');"); -// root.AppendChild(catElement); -// } - -// break; -// case "repository": - -// m_repoGuid = HttpContext.Current.Request.QueryString["repoGuid"]; -// cms.businesslogic.packager.repositories.Repository currentRepo = cms.businesslogic.packager.repositories.Repository.getByGuid(m_repoGuid); -// if (currentRepo != null) { - -// foreach (cms.businesslogic.packager.repositories.Category cat in currentRepo.Webservice.Categories(currentRepo.Guid)) { -// XmlElement catElement = Tree.CreateElement("tree"); -// catElement.SetAttribute("text", cat.Text); -// //catElement.SetAttribute("menu", ""); -// catElement.SetAttribute("icon", "folder.gif"); -// catElement.SetAttribute("openIcon", "folder_o.gif"); -// catElement.SetAttribute("nodeType", "packagesCategory" + cat.Id); -// catElement.SetAttribute("action", "javascript:openPackageCategory('BrowseRepository.aspx?category=" + cat.Id + "&repoGuid=" + currentRepo.Guid + "');"); -// root.AppendChild(catElement); -// } -// } -// break; -// } - - -// throw new Exception("The method or operation is not implemented."); -// } - -// public void RenderJS(ref System.Text.StringBuilder Javascript) { -// Javascript.Append(@" -// function openCreatedPackage(id) { -// parent.right.document.location.href = 'developer/packages/editPackage.aspx?id=' + id; -// } -// function openInstalledPackage(id) { -// parent.right.document.location.href = 'developer/packages/installedPackage.aspx?id=' + id; -// } -// "); -// } - -// } - - #endregion - - #region "Users" -// public class loadUsers : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openUser(id) { -// parent.right.document.location.href = 'users/editUser.aspx?id=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// User[] users = User.getAll(); -// XmlNode root = Tree.DocumentElement; -// foreach(User u in users) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// if(u.Id != 0) -// treeElement.SetAttribute("menu", "E"); - -// string textAdd = ""; -// if(u.Disabled) -// { -// treeElement.SetAttribute("iconClass", "umbraco-tree-icon-grey"); -// } -// treeElement.SetAttribute("nodeID", u.Id.ToString()); -// treeElement.SetAttribute("text", u.Name + textAdd); -// treeElement.SetAttribute("action", "javascript:openUser(" + u.Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "user.gif"); -// treeElement.SetAttribute("openIcon", "user.gif"); -// treeElement.SetAttribute("nodeType", "user"); -// root.AppendChild(treeElement); -// } -// } -// } - - #endregion - - #region "Members & membertypes" - - /// - /// Handles loading of the member application into the application tree - /// -// public class loadMembers : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openMember(id) { -// parent.right.document.location.href = 'members/editMember.aspx?id=' + id; -//} -//"); -// Javascript.Append( -// @" -//function openContentItem(id) { -// parent.right.document.location.href = 'ContentItem/edit.aspx?id=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// string letter = ""; -// string ContentItemParent = ""; -// if(HttpContext.Current.Request.QueryString.ToString().IndexOf("letter") >= 0) -// { -// letter = HttpContext.Current.Request.QueryString.Get("letter"); -// } -// if(HttpContext.Current.Request.QueryString.ToString().IndexOf("ContentItemParent") >= 0) -// { -// ContentItemParent = HttpContext.Current.Request.QueryString.Get("ContentItemParent"); -// } -// // letter = ; - -// XmlNode root = Tree.DocumentElement; -// if(letter != "") -// { -// if(ContentItemParent != "") // show contentitems owned by the specific member! -// { -// CMSNode c = new CMSNode(int.Parse(ContentItemParent)); -// foreach(CMSNode cn in c.ChildrenOfAllObjectTypes) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("menu", "D,L"); -// treeElement.SetAttribute("nodeID", cn.Id.ToString()); -// treeElement.SetAttribute("text", cn.Text); -// // treeElement.SetAttribute("action", "javascript:openMember(" + m.Id.ToString() + ");"); -// treeElement.SetAttribute("action", "javascript:openContentItem(" + cn.Id + ");"); -// if(!cn.HasChildren) -// { -// treeElement.SetAttribute("src", ""); -// } -// else -// { -// treeElement.SetAttribute("src", -// "tree.aspx?letter=" + letter + "&app=" + _app + "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + "&ContentItemParent=" + cn.Id + "&rnd=" + Guid.NewGuid()); -// } -// treeElement.SetAttribute("icon", "doc.gif"); -// treeElement.SetAttribute("openIcon", "doc.gif"); -// treeElement.SetAttribute("nodeType", "contentItem"); -// root.AppendChild(treeElement); -// } -// } -// else // list all members with selected first character. -// { -// //if letters equals Others show members that not starts with a through z -// if(letter.Equals("Others")) -// { -// foreach(Member m in Member.getAllOtherMembers()) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); - -// treeElement.SetAttribute("nodeID", m.Id.ToString()); -// treeElement.SetAttribute("text", m.Text); -// treeElement.SetAttribute("action", "javascript:openMember(" + m.Id + ");"); -// if(!m.HasChildren) -// { -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// } -// else -// { -// treeElement.SetAttribute("src", -// "tree.aspx?letter=" + letter + "&app=" + _app + -// "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + -// "&ContentItemParent=" + m.Id + "&rnd=" + -// Guid.NewGuid()); -// treeElement.SetAttribute("menu", "D,L"); -// } -// treeElement.SetAttribute("icon", "member.gif"); -// treeElement.SetAttribute("openIcon", "member.gif"); -// treeElement.SetAttribute("nodeType", "member"); -// root.AppendChild(treeElement); -// } -// } -// else -// { -// foreach(Member m in Member.getMemberFromFirstLetter(letter.ToCharArray()[0])) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); - -// treeElement.SetAttribute("nodeID", m.Id.ToString()); -// treeElement.SetAttribute("text", m.Text); -// treeElement.SetAttribute("action", "javascript:openMember(" + m.Id + ");"); -// if(!m.HasChildren) -// { -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("menu", "D"); -// } -// else -// { -// treeElement.SetAttribute("src", -// "tree.aspx?letter=" + letter + "&app=" + _app + -// "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + -// "&ContentItemParent=" + m.Id + "&rnd=" + -// Guid.NewGuid()); -// treeElement.SetAttribute("menu", "D,L"); -// } -// treeElement.SetAttribute("icon", "member.gif"); -// treeElement.SetAttribute("openIcon", "member.gif"); -// treeElement.SetAttribute("nodeType", "member"); -// root.AppendChild(treeElement); -// } -// } -// } -// } -// else -// { -// for(int i = 97; i < 123; i++) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("menu", "L"); -// treeElement.SetAttribute("nodeID", "1002"); -// treeElement.SetAttribute("text", ((char)i).ToString()); -// treeElement.SetAttribute("action", "javascript:void();"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "folder.gif"); -// treeElement.SetAttribute("openIcon", "folder.gif"); -// treeElement.SetAttribute("nodeType", "member"); -// treeElement.SetAttribute("src", -// "tree.aspx?letter=" + ((char)i) + "&app=" + _app + "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + Guid.NewGuid()); -// root.AppendChild(treeElement); -// } -// //Add folder named "Others" -// XmlElement treeElementOther = Tree.CreateElement("tree"); -// treeElementOther.SetAttribute("menu", "L"); -// treeElementOther.SetAttribute("nodeID", "1002"); -// treeElementOther.SetAttribute("text", "Others"); -// treeElementOther.SetAttribute("action", "javascript:void();"); -// treeElementOther.SetAttribute("src", ""); -// treeElementOther.SetAttribute("icon", "folder.gif"); -// treeElementOther.SetAttribute("openIcon", "folder.gif"); -// treeElementOther.SetAttribute("nodeType", "member"); -// treeElementOther.SetAttribute("src", -// "tree.aspx?letter=Others&app=" + _app + "&treeType=" + -// HttpContext.Current.Request.QueryString["treeType"] + "&rnd=" + -// Guid.NewGuid()); -// root.AppendChild(treeElementOther); -// } -// } -// } - - /// - /// Handles loading of the member types into the application tree - /// -// public class loadMemberTypes : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openMemberType(id) { -// parent.right.document.location.href = 'members/editMemberType.aspx?id=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// MemberType[] MemberTypes = MemberType.GetAll; -// XmlNode root = Tree.DocumentElement; -// for(int i = 0; i < MemberTypes.Length; i++) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("nodeID", MemberTypes[i].Id.ToString()); -// treeElement.SetAttribute("text", MemberTypes[i].Text); -// treeElement.SetAttribute("action", "javascript:openMemberType(" + MemberTypes[i].Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "membertype.gif"); -// treeElement.SetAttribute("openIcon", "membertype.gif"); -// treeElement.SetAttribute("nodeType", "memberType"); -// root.AppendChild(treeElement); -// } -// } -// } - - /// - /// Handles loading of the member groups into the application tree - /// -// public class loadMemberGroups : ITree -// { -// private int _id; -// private string _app; - -// /// -// /// Sets the id. -// /// -// /// The id. -// public int id -// { -// set { _id = value; } -// } - -// /// -// /// Sets the app. -// /// -// /// The app. -// public string app -// { -// set { _app = value; } -// } - -// /// -// /// Renders the Javascript. -// /// -// /// The javascript. -// public void RenderJS(ref StringBuilder Javascript) -// { -// Javascript.Append( -// @" -//function openMemberGroup(id) { -// parent.right.document.location.href = 'members/editMemberGroup.aspx?id=' + id; -//} -//"); -// } - -// /// -// /// Renders the specified tree item. -// /// -// /// The tree. -// public void Render(ref XmlDocument Tree) -// { -// MemberGroup[] MemberGroups = MemberGroup.GetAll; -// XmlNode root = Tree.DocumentElement; -// for(int i = 0; i < MemberGroups.Length; i++) -// { -// XmlElement treeElement = Tree.CreateElement("tree"); -// treeElement.SetAttribute("menu", "D"); -// treeElement.SetAttribute("nodeID", MemberGroups[i].Id.ToString()); -// treeElement.SetAttribute("text", MemberGroups[i].Text); -// treeElement.SetAttribute("action", "javascript:openMemberGroup(" + MemberGroups[i].Id + ");"); -// treeElement.SetAttribute("src", ""); -// treeElement.SetAttribute("icon", "membergroup.gif"); -// treeElement.SetAttribute("openIcon", "membergroup.gif"); -// treeElement.SetAttribute("nodeType", "memberGroup"); -// root.AppendChild(treeElement); -// } -// } -// } - - #endregion -} diff --git a/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx b/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx deleted file mode 100644 index 5138b2dac1..0000000000 --- a/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx +++ /dev/null @@ -1 +0,0 @@ -<%@ WebService Language="C#" CodeBehind="MediaPickerService.asmx.cs" Class="umbraco.presentation.webservices.MediaPickerService" %> diff --git a/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx.cs b/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx.cs deleted file mode 100644 index 6d2f591615..0000000000 --- a/umbraco/presentation/umbraco/webservices/MediaPickerService.asmx.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Services; -using System.Web.Script.Services; -using umbraco.cms.businesslogic.media; - -namespace umbraco.presentation.webservices -{ - /// - /// Summary description for Media - /// - [WebService(Namespace = "http://umbraco.org/webservices")] - [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] - [System.ComponentModel.ToolboxItem(false)] - [ScriptService] - - public class MediaPickerService : System.Web.Services.WebService - { - - [WebMethod] - [ScriptMethod] - public string GetThumbNail(int mediaId) - { - return MediaPickerServiceHelpers.GetThumbNail(mediaId); - - } - - [WebMethod] - [ScriptMethod] - public string GetFile(int mediaId) - { - return MediaPickerServiceHelpers.GetFile(mediaId); - - } - } -} diff --git a/umbraco/presentation/umbraco/webservices/MediaPickerServiceHelpers.cs b/umbraco/presentation/umbraco/webservices/MediaPickerServiceHelpers.cs deleted file mode 100644 index 92b3b18233..0000000000 --- a/umbraco/presentation/umbraco/webservices/MediaPickerServiceHelpers.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using umbraco.cms.businesslogic.media; - -namespace umbraco.presentation.webservices -{ - public class MediaPickerServiceHelpers - { - - public static string GetThumbNail(int mediaId) - { - - - string fileName; - string thumbnail = string.Empty; - try - { - - Media m = new Media(mediaId); - - fileName = m.getProperty("umbracoFile").Value.ToString(); - string ext = fileName.Substring(fileName.LastIndexOf('.') + 1, fileName.Length - (fileName.LastIndexOf('.') + 1)); - - - if (",jpeg,jpg,gif,bmp,png,tiff,tif,".IndexOf("," + ext.ToLower() + ",") > -1) - { - thumbnail = fileName.Substring(0, fileName.LastIndexOf('.')) + "_thumb.jpg"; - } - else - { - return ""; - //switch (ext.ToLower()) - //{ - // case "pdf": - // thumbnail = ""; - // break; - // case "doc": - // thumbnail = ""; - // break; - // default: - // thumbnail = ""; - // break; - //} - } - - } - catch { } - - return thumbnail; - } - - public static string GetFile(int mediaId) - { - string fileName = string.Empty; - - try - { - - - Media m = new Media(mediaId); - - fileName = m.getProperty("umbracoFile").Value.ToString(); - - - } - catch { } - - return fileName; - - } - } -} diff --git a/umbraco/presentation/web.config.SHANDEMVAIO.xslt b/umbraco/presentation/web.config.SHANDEMVAIO.xslt index 27c5fed580..aed70002c3 100644 --- a/umbraco/presentation/web.config.SHANDEMVAIO.xslt +++ b/umbraco/presentation/web.config.SHANDEMVAIO.xslt @@ -4,7 +4,7 @@ - server=.\sqlexpress;database=UmbracoTest;user id=sa;password=test + server=.\sqlexpress;database=UmbracoTest2;user id=sa;password=test