WIP installer refactor, adds ExecuteInstallTasks method to Skin
[TFS Changeset #76990]
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user