From a5ba5ef1db05c818acea2890f04de3ad59b783e2 Mon Sep 17 00:00:00 2001 From: slace Date: Thu, 16 Jul 2009 00:12:33 +0000 Subject: [PATCH] DO NOT DOWNLOAD. DOWNLOAD LATEST STABLE FROM RELEASE TAB More tweaks around the package upgrader [TFS Changeset #56559] --- .../cms/businesslogic/Packager/Installer.cs | 24 ++++++++++--------- umbraco/cms/businesslogic/web/StyleSheet.cs | 2 +- .../developer/Packages/installer.aspx.cs | 12 +++++----- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/umbraco/cms/businesslogic/Packager/Installer.cs b/umbraco/cms/businesslogic/Packager/Installer.cs index c70c728d38..d01f4359bc 100644 --- a/umbraco/cms/businesslogic/Packager/Installer.cs +++ b/umbraco/cms/businesslogic/Packager/Installer.cs @@ -54,11 +54,11 @@ namespace umbraco.cms.businesslogic.packager private bool _containUnsecureFiles = false; private List _unsecureFiles = new List(); private bool _containsMacroConflict = false; - private List _conflictingMacroAliases = new List(); + private Dictionary _conflictingMacroAliases = new Dictionary(); private bool _containsTemplateConflict = false; - private List _conflictingTemplateAliases = new List(); + private Dictionary _conflictingTemplateAliases = new Dictionary(); private bool _containsStyleSheetConflict = false; - private List _conflictingStyleSheetNames = new List(); + private Dictionary _conflictingStyleSheetNames = new Dictionary(); private ArrayList _macros = new ArrayList(); private XmlDocument _packageConfig; @@ -74,16 +74,16 @@ namespace umbraco.cms.businesslogic.packager public string Control { get { return _control; } } public bool ContainsMacroConflict { get { return _containsMacroConflict; } } - public IEnumerable ConflictingMacroAliases { get { return _conflictingMacroAliases; } } + public IDictionary ConflictingMacroAliases { get { return _conflictingMacroAliases; } } public bool ContainsUnsecureFiles { get { return _containUnsecureFiles; } } public List UnsecureFiles { get { return _unsecureFiles; } } public bool ContainsTemplateConflicts { get { return _containsTemplateConflict; } } - public IEnumerable ConflictingTemplateAliases { get { return _conflictingTemplateAliases; } } + public IDictionary ConflictingTemplateAliases { get { return _conflictingTemplateAliases; } } public bool ContainsStyleSheeConflicts { get { return _containsStyleSheetConflict; } } - public IEnumerable ConflictingStyleSheetNames { get { return _conflictingStyleSheetNames; } } + public IDictionary ConflictingStyleSheetNames { get { return _conflictingStyleSheetNames; } } public int RequirementsMajor { get { return _reqMajor; } } public int RequirementsMinor { get { return _reqMinor; } } @@ -868,7 +868,7 @@ namespace umbraco.cms.businesslogic.packager { var m = new Macro(alias); this._containsMacroConflict = true; - this._conflictingMacroAliases.Add(alias); + this._conflictingMacroAliases.Add(m.Name, alias); } catch (IndexOutOfRangeException) { } //thrown when the alias doesn't exist in the DB, ie - macro not there } @@ -879,10 +879,11 @@ namespace umbraco.cms.businesslogic.packager var alias = n.SelectSingleNode("Alias").InnerText; if (!string.IsNullOrEmpty(alias)) { - if (Template.GetByAlias(alias) != null) + var t = Template.GetByAlias(alias); + if (t != null) { this._containsTemplateConflict = true; - this._conflictingTemplateAliases.Add(alias); + this._conflictingTemplateAliases.Add(t.Text, alias); } } } @@ -892,10 +893,11 @@ namespace umbraco.cms.businesslogic.packager var alias = n.SelectSingleNode("Name").InnerText; if (!string.IsNullOrEmpty(alias)) { - if (StyleSheet.GetByName(alias) != null) + var s = StyleSheet.GetByName(alias); + if (s != null) { this._containsStyleSheetConflict = true; - this._conflictingStyleSheetNames.Add(alias); + this._conflictingStyleSheetNames.Add(s.Text, alias); } } } diff --git a/umbraco/cms/businesslogic/web/StyleSheet.cs b/umbraco/cms/businesslogic/web/StyleSheet.cs index fd90c7d368..ab0baa1013 100644 --- a/umbraco/cms/businesslogic/web/StyleSheet.cs +++ b/umbraco/cms/businesslogic/web/StyleSheet.cs @@ -450,7 +450,7 @@ namespace umbraco.cms.businesslogic.web foreach (XmlNode prop in n.SelectNodes("Properties/Property")) { string alias = xmlHelper.GetNodeValue(prop.SelectSingleNode("Alias")); - var sp = s.Properties.SingleOrDefault(p => p.Alias == alias); + var sp = s.Properties.SingleOrDefault(p => p != null && p.Alias == alias); string name = xmlHelper.GetNodeValue(prop.SelectSingleNode("Name")); if (sp == default(StylesheetProperty)) { diff --git a/umbraco/presentation/umbraco/developer/Packages/installer.aspx.cs b/umbraco/presentation/umbraco/developer/Packages/installer.aspx.cs index 3f8ed49286..40483d28e8 100644 --- a/umbraco/presentation/umbraco/developer/Packages/installer.aspx.cs +++ b/umbraco/presentation/umbraco/developer/Packages/installer.aspx.cs @@ -157,27 +157,27 @@ namespace umbraco.presentation.developer.packages if (p.ContainsMacroConflict) { pp_macroConflicts.Visible = true; - foreach (var alias in p.ConflictingMacroAliases) + foreach (var item in p.ConflictingMacroAliases) { - ltrMacroAlias.Text += "
  • " + alias + "
  • "; + ltrMacroAlias.Text += "
  • " + item.Key + " (Alias: " + item.Value + ")
  • "; } } if (p.ContainsTemplateConflicts) { pp_templateConflicts.Visible = true; - foreach (var alias in p.ConflictingTemplateAliases) + foreach (var item in p.ConflictingTemplateAliases) { - ltrTemplateAlias.Text += "
  • " + alias + "
  • "; + ltrTemplateAlias.Text += "
  • " + item.Key + " (Alias: " + item.Value + ")
  • "; } } if (p.ContainsStyleSheeConflicts) { pp_stylesheetConflicts.Visible = true; - foreach (var alias in p.ConflictingStyleSheetNames) + foreach (var item in p.ConflictingStyleSheetNames) { - ltrStylesheetNames.Text += "
  • " + alias + "
  • "; + ltrStylesheetNames.Text += "
  • " + item.Key + " (Alias: " + item.Value + ")
  • "; } }