Example #1
0
        public void AddResource(WebsiteResource resource, string host = null, IEnumerable <string> evasions = null)
        {
            HtmlmthBaseline baseline = WebsiteResourceToBaseline(resource, host);

            Baselines.Add(baseline);
            if (evasions != null)
            {
                SetEvasions(baseline, evasions);
            }
        }
        void EditItem()//Website website)
        {
            Website website = getWebsiteByRootPageNavigationId();

            /*
             * //only immediate children of the system root may be website root pages.
             * WebpageInfo portalRootPage = Webpage.GetWebpage(Webpage.RootNavigationId);
             * RootNavId.DataSource = portalRootPage.Children;
             * RootNavId.DataValueField = "InstanceId";
             * RootNavId.DataTextField = "Title";
             * RootNavId.DataBind();
             * RootNavId.Items.Insert(0, new ListItem(String.Empty, "0"));
             */

            if (null != website)//edit existing item.
            {
                WebsiteResource websiteRes = WebsiteResource.Get(_culture, website.SiteId);
                //if (null == website) throw new InvalidOperationException("Website does not exist (it may have been deleted).");
                LoadInputFieldsFromEntity(website);
                //if WebsiteResource is empty, try to get the default.
                if (null == websiteRes)
                {
                    websiteRes = WebsiteResource.GetDefault(website.SiteId);

                    if (null == websiteRes) //if WebsiteResource is still empty, create a stub.
                    {
                        //throw new InvalidOperationException("Website resource does not exist (it may have been deleted).");
                        websiteRes             = new WebsiteResource();
                        websiteRes.SiteId      = website.SiteId;
                        websiteRes.Culture     = _culture;
                        websiteRes.Name        = website.SiteId.ToString();
                        websiteRes.Description = string.Empty;
                        websiteRes.Save();
                    }
                    else
                    { //alert the user that the default was loaded.
                        showMsg(string.Format("Data for the current culture ({1}) was not found; the values for the first available culture ({2}) were loaded instead. Saving this form will create culture-specific values for the current culture.", websiteRes.Name, _culture, websiteRes.Culture));
                    }
                }
                //else
                //{
                //    showMsg(string.Format("Editing the <strong>{0}</strong> website.", websiteRes.Name));
                //}

                WebsiteNameCtl.Text = websiteRes.Name;

                LoadInputFieldsFromWebsiteResourceEntity(websiteRes);
            }
            else
            {
                throw new ArgumentException("The specified navigation id is not associated with a website.");
            }
            uxMultiView.SetActiveView(uxView_Edit);
        }
Example #3
0
        private static HtmlmthBaseline WebsiteResourceToBaseline(WebsiteResource resource, string host = null)
        {
            string ext = Path.GetExtension(resource.Path);

            if (ext == "")
            {
                ext = ".html";
            }
            HtmlmthBaseline baseline = new HtmlmthBaseline(host, resource.Path, Utils.RandomString(10) + ext, resource.Bytes);

            return(baseline);
        }
Example #4
0
        private void LoadResourceDependency(WebsiteResource websiteResource, ref List <WebsiteResource> websiteResourceLoaded, ref List <WebsiteResource> websiteResourceNotLoaded, bool minifyMode, bool secondPass)
        {
            List <WebsiteResource> resourceLoaded    = websiteResourceLoaded;
            List <WebsiteResource> resourceNotLoaded = websiteResourceNotLoaded;

            WebsiteResource resourceTemp = DataProvider.SelectSingleFull(new WebsiteResource()
            {
                WebsiteResourceID = websiteResource.WebsiteResourceID
            }, this.Website.WebsiteConnection.ConnectionString);

            if ((resourceTemp.WebsiteResourceDependency == null || resourceTemp.WebsiteResourceDependency.Count == 0) ||
                (resourceTemp.WebsiteResourceDependency.Exists(x => resourceLoaded.Any(y => y.WebsiteResourceID == x.DependencyWebsiteResourceID))))
            {
                // Load
                LoadResource(resourceTemp, minifyMode);

                websiteResourceLoaded.Add(websiteResource);

                if (websiteResourceNotLoaded.Exists(x => x.WebsiteResourceID == websiteResource.WebsiteResourceID))
                {
                    websiteResourceNotLoaded.Remove(websiteResourceNotLoaded.Single(x => x.WebsiteResourceID == resourceTemp.WebsiteResourceID));
                }
            }
            else if (secondPass == true && resourceTemp.WebsiteResourceDependency.Exists(x => resourceNotLoaded.Any(y => y.WebsiteResourceID == x.DependencyWebsiteResourceID)) == false)
            {
                bool test = resourceTemp.WebsiteResourceDependency.Exists(x => resourceNotLoaded.Any(y => y.WebsiteResourceID == x.DependencyWebsiteResourceID));

                List <WebsiteResourceDependency> websiteResourceNotAvailable = resourceTemp.WebsiteResourceDependency.Where(x => resourceNotLoaded.Any(y => y.WebsiteResourceID != x.DependencyWebsiteResourceID)).ToList <WebsiteResourceDependency>();

                foreach (WebsiteResourceDependency dependency in websiteResourceNotAvailable)
                {
                    resourceTemp = DataProvider.SelectSingle(new WebsiteResource()
                    {
                        WebsiteResourceID = dependency.DependencyWebsiteResourceID
                    }, this.Website.WebsiteConnection.ConnectionString);

                    // Load
                    LoadResource(resourceTemp, minifyMode);

                    websiteResourceLoaded.Add(resourceTemp);

                    if (websiteResourceNotLoaded.Exists(x => x.WebsiteResourceID == resourceTemp.WebsiteResourceID))
                    {
                        websiteResourceNotLoaded.Remove(websiteResourceNotLoaded.Single(x => x.WebsiteResourceID == resourceTemp.WebsiteResourceID));
                    }
                }
            }
            else if (websiteResourceNotLoaded.Exists(x => x.WebsiteResourceID == websiteResource.WebsiteResourceID) == false)
            {
                // Not load
                websiteResourceNotLoaded.Add(websiteResource);
            }
        }
        public WebsiteResource GetWebsiteResourceEntityFromInputFields(int siteId)
        {
            WebsiteResource websiteRes = WebsiteResource.Get(_culture, siteId);

            if (null == websiteRes) //create new website resource to support existing website
            {
                websiteRes = new WebsiteResource();
            }

            websiteRes.SiteId      = siteId;
            websiteRes.Culture     = _culture;
            websiteRes.Name        = Name.Text.Trim();
            websiteRes.Description = Description.Text.Trim();

            return(websiteRes);
        }
Example #6
0
        private void CreateWebsiteIfRootPage(WebpageInfo page)
        {
            bool isRootPage = (page.ParentInstanceId == Webpage.RootNavigationId);

            if (isRootPage)
            { //create a 1-to-1 associated website for the new root webpage.
                Website website = new Website();
                website.DomainExpression = string.Empty;
                website.RootNavigationId = page.InstanceId;
                website.Save();

                WebsiteResource websiteRes = new WebsiteResource();
                websiteRes.SiteId      = website.SiteId;
                websiteRes.Culture     = CultureCode.Current;
                websiteRes.Name        = page.Title;
                websiteRes.Description = string.Empty;
                websiteRes.Save();
            }
        }
        protected void uxItemSaveButton_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            Website website = GetWebsiteEntityFromInputFields();

            website.Save();

            WebsiteResource websiteRes = GetWebsiteResourceEntityFromInputFields(website.SiteId);

            websiteRes.Save();

            //UITool.Clear(uxView_Edit);
            //LoadList();
            //uxMsg.ShowSuccess(String.Format("Saved <strong>{0}</strong>.", ship.Name));
            BayshoreSolutions.WebModules.Cms.Admin.RedirectToMainMenu(_rootPageNavigationId);
        }
 public void LoadInputFieldsFromWebsiteResourceEntity(WebsiteResource websiteRes)
 {
     Name.Text        = websiteRes.Name;
     Description.Text = websiteRes.Description;
 }
Example #9
0
 public HtmlmthWebsite(WebsiteResource websiteResources, string host = null, IEnumerable <string> evasions = null)
     : this(new[] { websiteResources }, host, evasions)
 {
 }
Example #10
0
        private void LoadResource(WebsiteResource resource, bool minifyMode)
        {
            long version = 0;

            base.Page.Header.Controls.Add(new LiteralControl(Environment.NewLine));

            version = (long)(File.GetLastWriteTimeUtc(Context.Server.MapPath(resource.ResourceFullName)) - new DateTime(1970, 1, 1)).TotalMilliseconds;

            if (resource.ResourceType == "text/javascript")
            {
                HtmlGenericControl scriptControl = new HtmlGenericControl("script");

                if (minifyMode && resource.ResourceName.Contains("min") == false)
                {
                    if (File.Exists(Context.Server.MapPath(resource.ResourceFullName.Replace(".js", ".min.js"))))
                    {
                        resource.ResourceName = resource.ResourceName.Replace(".js", ".min.js");

                        scriptControl.Attributes["type"] = resource.ResourceType;
                        scriptControl.Attributes["src"]  = resource.ResourceFullName + "?v=" + version;

                        this.Page.Header.Controls.Add(scriptControl);
                    }
                }
                else
                {
                    if (File.Exists(Context.Server.MapPath(resource.ResourceFullName)))
                    {
                        scriptControl.Attributes["type"] = resource.ResourceType;
                        scriptControl.Attributes["src"]  = resource.ResourceFullName + "?v=" + version;

                        this.Page.Header.Controls.Add(scriptControl);
                    }
                }
            }
            else if (resource.ResourceType == "text/css")
            {
                HtmlLink scriptControl = new HtmlLink();

                if (minifyMode && resource.ResourceName.Contains("min") == false)
                {
                    if (File.Exists(Context.Server.MapPath(resource.ResourceFullName.Replace(".css", ".min.css"))))
                    {
                        resource.ResourceName = resource.ResourceName.Replace(".css", ".min.css");

                        scriptControl.Attributes["type"] = resource.ResourceType;
                        scriptControl.Attributes["href"] = resource.ResourceFullName + "?v=" + version;
                        scriptControl.Attributes["rel"]  = "stylesheet";

                        this.Page.Header.Controls.Add(scriptControl);
                    }
                }
                else
                {
                    if (File.Exists(Context.Server.MapPath(resource.ResourceFullName)))
                    {
                        scriptControl.Attributes["type"] = resource.ResourceType;
                        scriptControl.Attributes["href"] = resource.ResourceFullName + "?v=" + version;
                        scriptControl.Attributes["rel"]  = "stylesheet";

                        this.Page.Header.Controls.Add(scriptControl);
                    }
                }
            }
        }