WIP installer refactor, adds ExecuteInstallTasks method to Skin

[TFS Changeset #76990]
This commit is contained in:
starfighter83
2010-09-08 13:30:06 +00:00
parent 63edf72bc3
commit 6a4b9fb906
2 changed files with 24 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ using System.Text;
using System.Xml;
using System.IO;
using System.Xml.XPath;
using umbraco.interfaces.skinning;
namespace umbraco.cms.businesslogic.skinning
{
@@ -246,6 +247,25 @@ namespace umbraco.cms.businesslogic.skinning
//3. put on some clothes
}
public void ExecuteInstallTasks()
{
XmlDocument manifest = new XmlDocument();
manifest.Load(FullFileName);
foreach (XmlNode tNode in manifest.SelectNodes("/Skin/Install/Task"))
{
Task t = Task.CreateFromXmlNode(tNode);
TaskExecutionDetails details = t.TaskType.Execute(t.Value);
if (details.TaskExecutionStatus == TaskExecutionStatus.Completed)
{
AddTaskHistoryNode(
t.TaskType.ToXml(details.OriginalValue, details.NewValue));
}
}
}
public void AddTaskHistoryNode(XmlNode taskNode)
{
XmlDocument manifest = new XmlDocument();

View File

@@ -11,7 +11,6 @@ namespace umbraco.cms.businesslogic.skinning.tasks
public class AddStyleSheetToTemplate : TaskType
{
public string TargetFile { get; set; }
public string StyleSheet { get; set; }
public string Media { get; set; }
public AddStyleSheetToTemplate()
@@ -39,10 +38,9 @@ namespace umbraco.cms.businesslogic.skinning.tasks
s.Attributes.Add("rel", "stylesheet");
s.Attributes.Add("type", "text/css");
if(string.IsNullOrEmpty(StyleSheet))
s.Attributes.Add("href", Value);
else
s.Attributes.Add("href", StyleSheet);
s.Attributes.Add("href", Value);
if(!string.IsNullOrEmpty(Media))
s.Attributes.Add("media", Media);
@@ -66,7 +64,7 @@ namespace umbraco.cms.businesslogic.skinning.tasks
HtmlDocument doc = new HtmlDocument();
doc.Load(IO.IOHelper.MapPath(SystemDirectories.Masterpages) + "/" + TargetFile);
HtmlNode s = doc.DocumentNode.SelectSingleNode(string.Format("//link [@href = '{0}']", string.IsNullOrEmpty(StyleSheet) ? Value : StyleSheet));
HtmlNode s = doc.DocumentNode.SelectSingleNode(string.Format("//link [@href = '{0}']", Value));
s.Remove();