Пример #1
0
        public override TaskExecutionDetails Execute(string Value)
        {
            TaskExecutionDetails d = new TaskExecutionDetails();

            if (HttpContext.Current != null && HttpContext.Current.Items["pageID"] != null)
            {
                string id = HttpContext.Current.Items["pageID"].ToString();

                Document doc = new Document(Convert.ToInt32(id));

                if (doc.getProperty(PropertyAlias) != null)
                {
                    d.OriginalValue = doc.getProperty(PropertyAlias).Value.ToString();

                    doc.getProperty(PropertyAlias).Value = Value;
                    doc.Publish(new BusinessLogic.User(0));

                    d.NewValue            = Value;
                    d.TaskExecutionStatus = TaskExecutionStatus.Completed;
                }
                else
                {
                    d.TaskExecutionStatus = TaskExecutionStatus.Cancelled;
                }
            }
            else
            {
                d.TaskExecutionStatus = TaskExecutionStatus.Cancelled;
            }

            return(d);
        }
Пример #2
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            this.ActiveSkin.SaveOutput();

            //css vars
            SortedList <string, string> cssVars = new SortedList <string, string>();

            if (this.ActiveSkin.Css != null)
            {
                foreach (CssVariable cssVar in this.ActiveSkin.Css.Variables)
                {
                    cssVars.Add(cssVar.Name, cssVar.DefaultValue);
                }
            }


            foreach (Dependency dependency in this.sDependencies)
            {
                if (dependency.DependencyType.Values.Count > 0)
                {
                    string output = dependency.DependencyType.Values[0].ToString();
                    foreach (Task task in dependency.Tasks)
                    {
                        TaskExecutionDetails details = task.TaskType.Execute(this.ParsePlaceHolders(task.Value, output));
                        if (details.TaskExecutionStatus == TaskExecutionStatus.Completed)
                        {
                            this.ActiveSkin.AddTaskHistoryNode(task.TaskType.ToXml(details.OriginalValue, details.NewValue));
                        }
                    }

                    //css vars
                    if (!string.IsNullOrEmpty(dependency.Variable))
                    {
                        if (cssVars[dependency.Variable] != null)
                        {
                            cssVars[dependency.Variable] = output;
                        }
                    }
                }
            }

            if (this.ActiveSkin.Css != null && !string.IsNullOrEmpty(this.ActiveSkin.Css.Content) && !string.IsNullOrEmpty(this.ActiveSkin.Css.TargetFile))
            {
                string content = this.ActiveSkin.Css.Content;
                //css vars
                foreach (var var in cssVars)
                {
                    content = content.Replace("@" + var.Key, var.Value);
                }

                //save

                StreamWriter sw = File.AppendText(IOHelper.MapPath(SystemDirectories.Css) + "/" + this.ActiveSkin.Css.TargetFile);
                sw.Write(content);
                sw.Close();
            }

            //NOTE: This seems excessive to have to re-load all content from the database here!?
            library.RefreshContent();
        }
Пример #3
0
        public override TaskExecutionDetails Execute(string Value)
        {
            TaskExecutionDetails d = new TaskExecutionDetails();

            //currently just appending it to the end of the css file
            StreamWriter sw = File.AppendText(IOHelper.MapPath(SystemDirectories.Css) + "/" + TargetFile);

            sw.WriteLine(string.Format("{0}{{ {1}:{2};}}", TargetRule, TargetParameter, Value));
            sw.Close();

            d.TaskExecutionStatus = TaskExecutionStatus.Completed;
            d.OriginalValue       = "";
            d.NewValue            = Value;

            return(d);
        }
Пример #4
0
        public override TaskExecutionDetails Execute(string Value)
        {
            TaskExecutionDetails d = new TaskExecutionDetails();


            HtmlDocument doc = new HtmlDocument();

            doc.Load(IOHelper.MapPath(SystemDirectories.Masterpages) + "/" + TargetFile);

            //if (doc.DocumentNode.SelectSingleNode(string.Format("//link [@href = '{0}']", Value)) == null)
            //{

            HtmlNode target = doc.DocumentNode.SelectSingleNode(string.IsNullOrEmpty(TargetSelector) ? "//head" : TargetSelector.ToLower());

            if (target != null)
            {
                HtmlNode s = doc.CreateElement("link");
                //s.Name = "link";
                s.Attributes.Append("rel", "stylesheet");
                s.Attributes.Append("type", "text/css");


                s.Attributes.Append("href", Value);


                if (!string.IsNullOrEmpty(Media))
                {
                    s.Attributes.Append("media", Media);
                }

                target.AppendChild(s);

                doc.Save(IOHelper.MapPath(SystemDirectories.Masterpages) + "/" + TargetFile);

                d.TaskExecutionStatus = TaskExecutionStatus.Completed;
                d.NewValue            = Value;
            }
            else
            {
                d.TaskExecutionStatus = TaskExecutionStatus.Cancelled;
            }
            //}
            //else
            //    d.TaskExecutionStatus = TaskExecutionStatus.Cancelled;

            return(d);
        }
Пример #5
0
        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));
                }
            }
        }
Пример #6
0
        public override TaskExecutionDetails Execute(string Value)
        {
            TaskExecutionDetails d = new TaskExecutionDetails();

            //open template

            HtmlDocument doc = new HtmlDocument();

            doc.Load(IO.IOHelper.MapPath(SystemDirectories.Masterpages) + "/" + TargetFile);

            if (doc.DocumentNode.SelectNodes(string.Format("//*[@id = '{0}']", TargetID)) != null)
            {
                foreach (HtmlNode target in doc.DocumentNode.SelectNodes(string.Format("//*[@id = '{0}']", TargetID)))
                {
                    if (string.IsNullOrEmpty(TargetAttribute))
                    {
                        d.OriginalValue  = target.InnerHtml;
                        target.InnerHtml = Value;
                    }
                    else
                    {
                        if (target.Attributes[TargetAttribute] == null)
                        {
                            target.Attributes.Append(TargetAttribute, Value);
                        }
                        else
                        {
                            d.OriginalValue = target.Attributes[TargetAttribute].Value;
                            target.Attributes[TargetAttribute].Value = Value;
                        }
                    }
                }
            }
            doc.Save(IO.IOHelper.MapPath(SystemDirectories.Masterpages) + "/" + TargetFile);

            d.TaskExecutionStatus = TaskExecutionStatus.Completed;
            d.NewValue            = Value;
            //save

            return(d);
        }