Esempio n. 1
0
    protected void rptPosts_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView drv = (DataRowView)e.Item.DataItem;

        switch (e.Item.ItemType)
        {
        case ListItemType.Header:
            break;

        case ListItemType.Footer:
            break;

        case ListItemType.AlternatingItem:
            goto case ListItemType.Item;

        case ListItemType.Item:
            Image        img            = (Image)e.Item.FindControl("profileImg");
            HtmlTableRow trProfileImage = (HtmlTableRow)e.Item.FindControl("trProfileImage");
            Label        lblPosts       = (Label)e.Item.FindControl("lblPosts");

            lblPosts.Visible = drv["PostedBy"] != DBNull.Value;

            if (drv["PostedBy_Image"] == DBNull.Value || !PortalPage.setProfileImage(img, drv["PostedBy_Image"].ToString()))
            {
                trProfileImage.Visible = false;
            }

            HtmlTableRow trMessageTitle = (HtmlTableRow)e.Item.FindControl("trMessageTitle");
            trMessageTitle.Visible = !string.IsNullOrWhiteSpace(drv["Name"] as string);
            break;
        }
    }
Esempio n. 2
0
    public override void DeliverSearchResults(List <SearchResult> results)
    {
        base.DeliverSearchResults(results);

        try
        {
            string company = Convert.ToString(drMainRecord["PrimaryOrganization.Name"]);
            if (string.IsNullOrWhiteSpace(company))
            {
                company = Convert.ToString(drMainRecord["Company"]);
            }

            if (!string.IsNullOrWhiteSpace(company))
            {
                lblCompany.Text = company + "<BR/>";
            }

            if (PortalPage.IsModuleActive("Volunteers"))
            {
                string volunteerID = Convert.ToString(drMainRecord["Volunteers_VolunteerRecord"]);
                if (!string.IsNullOrWhiteSpace(volunteerID))
                {
                    liVolunteer.Visible = true;
                    hlViewVolunteerProfile.NavigateUrl += volunteerID;
                }
            }
        }
        catch
        {
            // catch, if the field is missing, hidden, or if it's a company
        }
    }
Esempio n. 3
0
        /// <summary>
        /// Load chi tiet mot danh muc de cap nhat
        /// </summary>
        /// <param name="id"></param>
        private void LoadPortalPage(long id)
        {
            PortalPage sc = db.PortalPages.SingleOrDefault <PortalPage>(s => s.Id == id);

            if (sc != null)
            {
                txtPageName.Text = sc.PageName;
                if (sc.ParentPageId.HasValue)
                {
                    RadComboBoxItem item = rcbParentPage.Items.FindItemByValue(sc.ParentPageId.ToString());
                    if (item != null)
                    {
                        item.Selected = true;
                    }
                }

                rntOrder.Value = sc.Order;
                if (!String.IsNullOrEmpty(sc.Icon))
                {
                    divIcon.Visible  = true;
                    imgIcon.ImageUrl = sc.Icon;
                }
                else
                {
                    divIcon.Visible = false;
                }
            }
        }
Esempio n. 4
0
    private void populateMyProfile()
    {
        if (!PortalPage.setProfileImage(img, ConciergeAPI.CurrentEntity))
        {
            tdProfileImage.Visible = false;
        }

        _populatePreferredAddress();

        // set the email
        var e = ConciergeAPI.CurrentEntity;

        if (e.EmailAddress != null)
        {
            hlEmail.NavigateUrl = "mailto:" + e.EmailAddress;
            hlEmail.Text        = e.EmailAddress;
        }
        // set the phone numbers
        _populatePreferredPhoneNumber();

        setLoginAs();

        _populateDigitalLocker();
        _setupMyReports();
    }
Esempio n. 5
0
        // Recursively iterate through all elements and children (http://msdn.microsoft.com/en-us/library/wwc698z7.aspx)
        private void BuildUrlRecursive(XmlWriter writer, PortalPage portalPage)
        {
            // Call the BuildURL function.
            intURLs += 1;
            string menuName         = portalPage.MenuName;
            string URL              = Request.Url.GetLeftPart(UriPartial.Authority) + "/" + portalPage.NavigationUrl;
            string lastMod          = portalPage.DateModified.ToString("yyyy-MM-dd");
            string strTitle         = portalPage.Title;
            bool   boolDisplayInNav = portalPage.DisplayInNav;

            // Check that the page allows View permissions to anonymous visitors and that the page is visible in the navigation
            int  iSubjectKey            = 1; // All Users
            bool boolAllowAnonymousView = portalPage.Permissions.ContainsSubjectOperation(Arena.Security.SubjectType.Role, iSubjectKey, Arena.Security.OperationType.View);

            if (boolAllowAnonymousView && boolDisplayInNav)
            {
                BuildURL(writer, menuName, URL, SITEMAP_PRIORITY, lastMod, boolDisplayInNav, portalPage);
            }

            // Print each node recursively.
            foreach (PortalPage cp in portalPage.ChildPages)
            {
                BuildUrlRecursive(writer, cp);
            }
        }
Esempio n. 6
0
        protected void grvCategories_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ToogleMainMenu")
            {
                int        id = Convert.ToInt32(e.CommandArgument);
                PortalPage sc = db.PortalPages.SingleOrDefault <PortalPage>(s => s.Id == id);

                if (sc != null)
                {
                    if (!sc.ShowInMainMenu.HasValue)
                    {
                        sc.ShowInMainMenu = true;
                    }
                    else
                    {
                        sc.ShowInMainMenu = !sc.ShowInMainMenu;
                    }
                    db.SubmitChanges();

                    Cache.Remove("pages");

                    LoadPortalPages();
                }
            }
        }
 internal void GeneratePage(PortalPage page, TextWriter markupWriter, TextWriter codeBehindWriter)
 {
     InitContext(page);
     _markupTemplate.ApplyTemplate(markupWriter, _context);
     _codeTemplate.ApplyTemplate(codeBehindWriter, _context);
     markupWriter.Flush();
     codeBehindWriter.Flush();
 }
        private void BuildDropDown(PortalPage portalPage)
        {
            LiteralControl listItem = new LiteralControl("<li>");

            phNav.Controls.Add(listItem);
            phNav.Controls.Add(new LiteralControl(string.Format("<a href=\"#\" class=\"drop-down\"><span>{0}</span></a>\n", portalPage.Title)));
            phNav.Controls.Add(BuildDropDownContainer(portalPage));
            listItem = new LiteralControl("</li>");
            phNav.Controls.Add(listItem);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                smpScripts.Scripts.Add(new ScriptReference(string.Format("~/{0}", BasePage.JQUERY_INCLUDE)));
                smpScripts.Scripts.Add(new ScriptReference("~/Templates/Cccev/liger/js/drop.js"));
            }

            page = new PortalPage(int.Parse(RootPageSetting));
            BuildNavBar();
        }
Esempio n. 10
0
        public static void NavigateToPageModule(string pageKey, string controlKey, params string[] additionalParams)
        {
            PortalPage       page      = PortalConfiguration.Site.Pages[pageKey];
            ModuleDefinition moduleDef = PortalConfiguration.ModuleDefinitions[controlKey];

            UrlBuilder url = UrlBuilder.FromScratch();

            url.QueryString[DefaultPage.PAGE_ID_PARAM] = pageKey;

            url.QueryString[DefaultPage.MODULE_ID_PARAM] = moduleDef.Id;
        }
Esempio n. 11
0
    public override List <string> GetFieldsNeededForMainSearch()
    {
        var list = base.GetFieldsNeededForMainSearch();

        list.Add("PrimaryOrganization.Name");
        list.Add("Company");

        if (PortalPage.IsModuleActive("Volunteers"))
        {
            list.Add("Volunteers_VolunteerRecord");
        }

        return(list);
    }
        private void BuildURL(XmlWriter writer, string menuName, string URL, float priority, string lastMod, bool boolDisplayInNav, PortalPage portalPage)
        {
            writer.WriteStartElement("url");
              writer.WriteElementString("menuname", menuName);
              writer.WriteElementString("loc", URL);
              writer.WriteElementString("lastmod", lastMod);
              writer.WriteElementString("changefreq", SITEMAP_CHANGEFREQ);
              writer.WriteElementString("priority", priority.ToString("F02", CultureInfo.InvariantCulture));
              //writer.WriteElementString("navdisplay", boolDisplayInNav.ToString());
              //writer.WriteElementString("permissions", GetPagePermissions(portalPage));
              //writer.WriteElementString("allowanonymous", portalPage.Permissions.ContainsSubjectOperation(Arena.Security.SubjectType.Role, 1, Arena.Security.OperationType.View).ToString());

              writer.WriteEndElement();
        }
Esempio n. 13
0
        protected void grvCategories_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int        id = Convert.ToInt32(grvCategories.DataKeys[e.RowIndex].Value);
            PortalPage sc = db.PortalPages.SingleOrDefault <PortalPage>(s => s.Id == id);

            if (sc != null)
            {
                db.PortalPages.DeleteOnSubmit(sc);
                db.SubmitChanges();
                //clear cache
                Cache.Remove("pages");

                LoadPortalPages();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            // Set root page of sitemap.
              // Currently hard-coded. Need to find a way to make this automated or user-settable.
              rootPage = new PortalPage(3353);

              this.Page.EnableViewState = false;
              this.Response.BufferOutput = true;

              this.Response.Clear();
              this.Response.ContentType = "text/xml";
              this.Response.AddHeader("Content-Type", "text/xml");
              this.Response.ContentEncoding = Encoding.UTF8;
              BuildSiteMap(this.Response.Output);
              this.Response.End();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            // Set root page of sitemap.
            // Currently hard-coded. Need to find a way to make this automated or user-settable.
            rootPage = new PortalPage(3353);

            this.Page.EnableViewState  = false;
            this.Response.BufferOutput = true;

            this.Response.Clear();
            this.Response.ContentType = "text/xml";
            this.Response.AddHeader("Content-Type", "text/xml");
            this.Response.ContentEncoding = Encoding.UTF8;
            BuildSiteMap(this.Response.Output);
            this.Response.End();
        }
Esempio n. 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PageBaseControl page = null;

            if (PageId > 0)
            {
                PortalPage pPage = db.PortalPages.SingleOrDefault <PortalPage>(p => p.Id == PageId);
                if (pPage != null)
                {
                    PageDef def = db.PageDefs.SingleOrDefault <PageDef>(pd => pd.Id == pPage.PageDef);
                    if (def != null)
                    {
                        page = (PageBaseControl)LoadControl(def.PageDefViewControl);
                    }
                    page.CurrentPage = pPage;
                }
            }
            else if (Request.QueryString["pn"] != null)
            {
                PortalPage pPage = db.PortalPages.SingleOrDefault <PortalPage>(p => p.PageKey == Request.QueryString["pn"]);
                if (pPage != null)
                {
                    PageDef def = db.PageDefs.SingleOrDefault <PageDef>(pd => pd.Id == pPage.PageDef);
                    if (def != null)
                    {
                        page = (PageBaseControl)LoadControl(def.PageDefViewControl);
                    }
                    page.CurrentPage = pPage;
                }
            }

            if (page == null)
            {
                PortalPage pPage = db.PortalPages.SingleOrDefault <PortalPage>(p => p.IsHomepage == true);
                if (pPage != null)
                {
                    PageDef def = db.PageDefs.SingleOrDefault <PageDef>(pd => pd.Id == pPage.PageDef);
                    if (def != null)
                    {
                        page = (PageBaseControl)LoadControl(def.PageDefViewControl);
                    }
                    page.CurrentPage = pPage;
                }
            }

            this.site_wrapper.Controls.Add(page);
        }
        private Control BuildDropDownContainer(PortalPage portalPage)
        {
            Panel panel = new Panel
            {
                ID       = "pnlDropHolder",
                CssClass = "drop-holder"
            };

            panel.Attributes.Add("style", "display: none");

            panel.Controls.Add(new LiteralControl("<div class=\"drop\">"));
            panel.Controls.Add(new LiteralControl("<div class=\"drop-top\"></div>"));
            panel.Controls.Add(BuildColumns(portalPage));
            panel.Controls.Add(new LiteralControl("<div class=\"link-holder\"><a href=\"#\" class=\"close\">close</a></div>"));
            panel.Controls.Add(new LiteralControl("</div>"));
            return(panel);
        }
Esempio n. 18
0
        public void DistributionTest3()
        {
            /// 1. Navigate to the login page
            LoginPage LP = Navigation.GoToLoginPage(browser);
            //Assert.True(false);
            MyDashboardPage MDP = LP.Login("cap_admin", "password");

            DistributionPage DP = MDP.ClickAndWaitBasePage(MDP.DistributionTab);

            DP.ClickAndWait(DP.PortalsLnk);

            PortalPage PP = DP.GoToPortalDetails("CAP Learning", "img", "Edit");

            PP.ClickAndWait(PP.CatAndActTab);

            PP.RemoveCatalog("test catalog", "input", "Remove Catalog");
        }
Esempio n. 19
0
    /// <summary>
    /// Populates the info banner at the top of the screen if we're logged in -
    /// otherwise, hides it
    /// </summary>
    private void populateInfoBanner()
    {
        if (ConciergeAPI.CurrentEntity == null)
        {
            phInfoBanner.Visible = false;
            return;
        }

        populateCurrentUser();

        // do we have a background, logged in user?
        lbBackgroundUser.Visible = false;

        //The back to console link should be visible if there is a background console user
        //OR a return URL as been specified since this link is customizable to people doing a SSO.
        if (ConciergeAPI.HasBackgroundConsoleUser || !string.IsNullOrWhiteSpace(ConciergeAPI.ConsoleReturnUrl))
        {
            if (!string.IsNullOrWhiteSpace(ConciergeAPI.ConsoleReturnText))
            {
                lbBackgroundUser.Text = ConciergeAPI.ConsoleReturnText;
            }

            lbBackgroundUser.Visible = true;
        }

        PortalPage pp = Page as PortalPage;

        if (pp == null || !pp.IsPrintable)
        {
            hlPrintPage.Visible = false;
        }
        else
        {
            var thisUrl = Request.Url.ToString();
            if (thisUrl.Contains("?"))
            {
                thisUrl += "&";
            }
            else
            {
                thisUrl += "?";
            }
            thisUrl += "print=true";
            hlPrintPage.NavigateUrl = thisUrl;
        }
    }
Esempio n. 20
0
        public static MenuItem GetSpaceMenuItem(string menuItemKey)
        {
            MenuItem item = new MenuItem();

            item.Value = menuItemKey;

            menuItemKey = String.Concat("Space", menuItemKey);

            PortalPage page = PortalConfiguration.Site.Pages[menuItemKey];

            if (page != null)
            {
                item.NavigateUrl = DefaultPage.GetPageUrl(menuItemKey);
            }

            return(item);
        }
Esempio n. 21
0
    /// <summary>
    /// Gets the current time zone.
    /// </summary>
    /// <returns></returns>
    public TimeZoneInfo GetCurrentTimeZone()
    {
        PortalPage pp = (PortalPage)Page;

        if (pp.CurrentUser == null)
        {
            return(TimeZoneInfo.Local);
        }

        var tzo = TimeZoneInfo.FindSystemTimeZoneById(pp.CurrentUser.TimeZone);

        if (tzo != null)
        {
            return(tzo);
        }

        return(TimeZoneInfo.Local);
    }
 public void AddAnEventItemViaPortal()
 {
     // Set up the test in ReportLog wrapper class.
     ReportLog.CreateTest("AddAnEventItemViaPortal",
                          "This is an end-to-end test case regarding the adding of an Event via the Portal.");
     try
     {
         // Add from portal.
         var portalPage = new PortalPage(driver);
         portalPage.NavigateToPortalPage();
         // Fill out and save a new report.
         portalPage.ReportAnInjury();
         // Login in order to check Event has been added.
         var loginPage = new LoginPage(driver);
         loginPage.NavigateToLoginPage();
         var homePage = loginPage.LoginWithCredentials("plan.8", "plan01#");
         ReportLog.Log("Submitted login details.");
         // Now check if the event has been added.
         var eventsPage = new EventsPage(driver);
         eventsPage.NavigateToEventsPage();
         ReportLog.Log("Navigated to Events page.");
         eventsPage.SearchByReferenceID(portalPage.GetReferenceID(), true, true);
         ReportLog.Log("Searched for reference ID: " + portalPage.GetReferenceID());
         try
         {
             // Confirm Event has been added.
             eventsPage.ConfirmEventAdded(portalPage.GetReferenceID());
             ReportLog.Pass("AddAnEventItemViaPortal Test Passed.");
         }
         catch (AssertionException a)
         {
             // Test failed due to assertion error.
             ReportLog.Fail(a.Message + "\n" + a.StackTrace, ReportLog.TakeScreenShot("AddAnEventItemViaPortal", driver));
             throw a;
         }
         driver.Quit();
     }
     catch (Exception e)
     {
         // Test failed due to unforeseen exception.
         ReportLog.Fail(e.Message + "\n" + e.StackTrace, ReportLog.TakeScreenShot("UnforeseenException", driver));
         throw e;
     }
 }
Esempio n. 23
0
        public override async Task <RepositoryResponse <bool> > SaveSubModelsAsync(MixPortalPageNavigation parent, MixCmsContext _context, IDbContextTransaction _transaction)
        {
            if (PortalPage != null)
            {
                var result = await PortalPage.SaveModelAsync(false, _context, _transaction);

                return(new RepositoryResponse <bool>()
                {
                    IsSucceed = result.IsSucceed,
                    Data = result.IsSucceed,
                    Errors = result.Errors,
                    Exception = result.Exception
                });
            }
            else
            {
                return(await base.SaveSubModelsAsync(parent, _context, _transaction));
            }
        }
Esempio n. 24
0
        public void LoadContents()
        {
            List <NewsContent> lstNews = (from nc in db.NewsContents
                                          where nc.ApprovementStatus == (short)EnumNewsApprovementStatus.DaXuatBan &&
                                          (nc.CategoryId == CurrentNews.CategoryId || nc.NewsCategory.ParentId == CurrentNews.CategoryId)
                                          orderby nc.ViewCount descending, nc.PublishFrom.Value descending, nc.CreatedTime.Value descending
                                          select nc).Take(10).ToList <NewsContent>();

            rptFootColNews.DataSource = lstNews;
            rptFootColNews.DataBind();

            PortalPage pageToRedirect = db.PortalPages.SingleOrDefault <PortalPage>(pp => pp.CategoryId == CurrentNews.CategoryId);

            if (pageToRedirect != null)
            {
                hplCategory.NavigateUrl = Globals.Common.GenerateUrl(pageToRedirect.Id, "cid=" + CurrentNews.CategoryId.ToString());
                hplViewAll.NavigateUrl  = hplCategory.NavigateUrl;
            }
        }
Esempio n. 25
0
        private async Task <string> CreatePage(WebbuilderPage webbuilderPage)
        {
            //OperationStatus operationStatus = new OperationStatus();

            Guid pageid_;

            if (webbuilderPage.Mode == "A")
            {
                pageid_ = Guid.Empty;
            }
            else
            {
                pageid_ = webbuilderPage.PageID;
            }
            PortalPage portalPage = new PortalPage()
            {
                PageID      = pageid_,
                Title       = webbuilderPage.Title,
                PageName    = webbuilderPage.PageName,
                KeyWords    = webbuilderPage.KeyWords,
                Description = webbuilderPage.Description,
                IsActive    = true
            };
            List <PageRolePermission> RolePermissions = new List <PageRolePermission>();

            RolePermissions.Add(new PageRolePermission()
            {
                RoleName            = "admin",
                SelectedPageActions = "EC55BF7A-D977-4198-9BDF-12B6FA7AD4F7"
            });
            RolePermissions.Add(new PageRolePermission()
            {
                RoleName            = "Super Admin",
                SelectedPageActions = "EC55BF7A-D977-4198-9BDF-12B6FA7AD4F7"
            });
            PageController pageController = new PageController();
            string         pageid         = await pageController.AddUpdatePages(portalPage, RolePermissions, HostUrl, GetSiteID, GetUsername);

            return(pageid);
        }
        //string strPermission = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            // Set root page of sitemap.
              if (Session["RootPage"] != null)
              {
            rootPage = (PortalPage)Session["RootPage"];
              }
              else
              {
            rootPage = new PortalPage(3353);
            Session["RootPage"] = rootPage;
              }

              // Clear headers to ensure none
              // are sent to the requesting browser
              // and set the content type.
              Response.ClearHeaders();
              Response.Clear();
              Response.ClearContent();
              Response.ContentType = "text/xml";
              Response.ContentEncoding = Encoding.UTF8;
              BuildSiteMap(Response.Output);
        }
Esempio n. 27
0
        //string strPermission = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            // Set root page of sitemap.
            if (Session["RootPage"] != null)
            {
                rootPage = (PortalPage)Session["RootPage"];
            }
            else
            {
                rootPage            = new PortalPage(3353);
                Session["RootPage"] = rootPage;
            }

            // Clear headers to ensure none
            // are sent to the requesting browser
            // and set the content type.
            Response.ClearHeaders();
            Response.Clear();
            Response.ClearContent();
            Response.ContentType     = "text/xml";
            Response.ContentEncoding = Encoding.UTF8;
            BuildSiteMap(Response.Output);
        }
 /// <summary>
 /// Writes a parent XML tag (url) for the current page
 /// </summary>
 /// <param name="writer">The XmlWriter that contains the sitemap XML</param>
 /// <param name="menuName">The page's menu name string</param>
 /// <param name="URL">The page's URL string</param>
 /// <param name="priority">The priority of this URL relative to other URLs on the site 
 /// Valid values range from 0.0 to 1.0.</param>
 /// <param name="lastMod">The date of last modification of the page 
 /// This date should be in W3C Datetime format (YYYY-MM-DD)</param>
 /// <param name="boolDisplayInNav">A flag that tells if the page is shown in the site navigation</param>
 /// <param name="portalPage">The PortalPage object for the current page</param>
 private void BuildURL(XmlWriter writer, string menuName, string URL, float priority, string lastMod, bool boolDisplayInNav, PortalPage portalPage)
 {
     writer.WriteStartElement("url");
       writer.WriteElementString("menuname", menuName);
       writer.WriteElementString("loc", URL);
       writer.WriteElementString("lastmod", lastMod);
       writer.WriteElementString("changefreq", SITEMAP_CHANGEFREQ);
       writer.WriteElementString("priority", priority.ToString("F02", CultureInfo.InvariantCulture));
       writer.WriteEndElement();
 }
Esempio n. 29
0
        private static SmartPartMapping GetSmartPart(PortalPage page, string smartPartId)
        {
            SmartPartMapping smartPart = CollectionUtils.Find(
                page.SmartParts,
                delegate(SmartPartMapping item)
                    {
                        return (StringUtils.CaseInsensitiveEquals(item.SmartPartId, smartPartId));
                    });

            if (smartPart == null)
            {
                smartPart = new SmartPartMapping();
                page.SmartParts.Add(smartPart);
            }

            smartPart.SmartPartId = smartPartId;
            return smartPart;
        }
Esempio n. 30
0
 private void AppendSmartPart(PortalPage page, FormInfo form, string targetWorkspace, string caption)
 {
     SmartPartMapping smartPart = GetSmartPart(page, form.SmartPartId);
     smartPart.Title = caption;
     smartPart.ShowInMode = "Detail";
     smartPart.TargetWorkspace = targetWorkspace;
     //smartPart.SmartPart = form.QuickForm.Id.ToString();
     //smartPart.SmartPart = form.QuickForm.Name; - don't! it is already set to the full path
     if (String.IsNullOrEmpty(smartPart.SmartPart)) smartPart.SmartPart = form.QuickForm.Url;
     smartPart.ReferencedModelId = typeof (QuickFormModel).GUID;
     smartPart.Validate();
     smartPart.Save();
     _context.SmartParts.Add(smartPart);
 }
Esempio n. 31
0
        private void AddMainViewPages()
        {
            foreach (MainViewInfo mainView in _context.MainViews.Values)
            {
                PortalPage page = CollectionUtils.Find(
                    _context.Portal.Pages,
                    delegate(PortalPage item)
                        {
                            return StringUtils.CaseInsensitiveEquals(item.PageAlias, mainView.MainTable);
                        });

                if (page == null)
                {
                    page = new PortalPage();
                    _context.Portal.Pages.Add(page);
                }

                page.PageAlias = mainView.MainTable;
                page.PageTitle = mainView.FullName;
                page.PageDescription = mainView.FullName;

                if (mainView.Entity != null)
                {
                    page.InheritsFrom = "Sage.Platform.WebPortal.EntityPage, Sage.Platform.WebPortal";
                    string entityTypeName = string.Format("Sage.Entity.Interfaces.{0}, Sage.Entity.Interfaces", mainView.Entity.InterfaceName);

                    if (page.PageProperties.HasProperty("EntityTypeName"))
                    {
                        page.PageProperties["EntityTypeName"].PropertyValue = entityTypeName;
                    }
                    else
                    {
                        page.PageProperties.Add("EntityTypeName", entityTypeName);
                    }

                    WebModule module = CollectionUtils.Find(
                        page.Modules,
                        delegate(WebModule item)
                            {
                                return StringUtils.CaseInsensitiveEquals(item.ModuleTypeName, "Sage.SalesLogix.Client.GroupBuilder.Modules.GroupViewerModule, Sage.SalesLogix.Client.GroupBuilder.Modules");
                            });

                    if (module == null)
                    {
                        module = new WebModule();
                        page.Modules.Add(module);
                    }

                    module.ModuleTypeName = "Sage.SalesLogix.Client.GroupBuilder.Modules.GroupViewerModule, Sage.SalesLogix.Client.GroupBuilder.Modules";
                    module.Validate();
                    module.Save();

                    SmartPartMapping smartPart = GetSmartPart(page, "LiveGroupViewer");
                    smartPart.SmartPart = @"SmartParts\GroupBuilder\LiveGroupViewer.ascx";
                    smartPart.TargetWorkspace = "MainContent";
                    smartPart.ShowInMode = "List";
                    smartPart.Title = "Entity Group Viewer";
                    smartPart.Validate();
                    smartPart.Save();
                }

                if (mainView.DetailForm != null)
                {
                    AppendSmartPart(page, mainView.DetailForm, "MainContent", mainView.DetailForm.DialogCaption);
                }

                page.Validate();
                page.Save();
            }
        }
Esempio n. 32
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                if (ParamNameSetting != "")
                {
                    string ParamName          = ParamNameSetting;
                    string QualifiedParamName = CurrentModule.ModuleInstanceID.ToString("0000") + ParamName;
                    string ParamValue         = string.Empty;
                    if (Request.QueryString[ParamName] != null)
                    {
                        ParamValue = Request.QueryString[ParamName];
                    }
                    else if (Request.Form[ParamName] != null)
                    {
                        ParamValue = Request.Form[ParamName];
                    }
                    else if (Session[QualifiedParamName] != null)
                    {
                        ParamValue = (string)Session[QualifiedParamName];
                    }

                    Session[QualifiedParamName] = ParamValue;
                    XsltArgumentList xarg = new XsltArgumentList();
                    xarg.AddParam(ParamName, "", ParamValue);
                    xmlMain.TransformArgumentList = xarg;
                }

                string xmlSetting = XMLSetting;
                if (XMLSetting.Contains("{0}") && Request.QueryString["xml"] != null)
                {
                    xmlSetting = string.Format(XMLSetting, Request.QueryString["xml"].ToString());
                }

                if (xmlSetting.ToLower().StartsWith("http"))
                {
                    LoadRemoteXML(xmlSetting);
                }
                else
                {
                    xmlMain.XmlFileURL = xmlSetting;
                }

                foreach (XmlNode node in xmlMain.Document.DocumentElement.SelectNodes("//*[@pageid]"))
                {
                    if (node.Attributes["pageid"] != null)
                    {
                        try
                        {
                            int        pageID = Int32.Parse(node.Attributes["pageid"].Value);
                            PortalPage page   = new PortalPage(pageID);
                            if (!page.Permissions.Allowed(OperationType.View, CurrentUser))
                            {
                                node.ParentNode.RemoveChild(node);
                            }
                        }
                        catch
                        {
                            xmlMain.Document.DocumentElement.RemoveChild(node);
                        }
                    }
                }

                xmlMain.XslFileURL = XSLTSetting;
            }
            catch (System.Exception ex)
            {
                string    errorMessage = "";
                Exception myEx         = ex;
                while (myEx != null)
                {
                    errorMessage += myEx.Message + "<br/><br/>";
                    myEx          = myEx.InnerException;
                }

                if (UseErrorPanelSetting)
                {
                    pnlError.Controls.Clear();
                    pnlError.Controls.Add(new LiteralControl(errorMessage));
                    pnlError.Visible = true;
                    xmlMain.Visible  = false;
                }
                else
                {
                    // Stuff "errors" into the XmlDocument so the error can be handled by the Xslt
                    xmlMain.Document = new XmlDocument();
                    XmlNode rootNode = xmlMain.Document.CreateNode(XmlNodeType.Element, "errors", xmlMain.Document.NamespaceURI);
                    xmlMain.Document.AppendChild(rootNode);

                    // Build the node for the channel
                    XmlNode containerNode = xmlMain.Document.CreateNode(XmlNodeType.Element, "error", xmlMain.Document.NamespaceURI);
                    rootNode.AppendChild(containerNode);

                    XmlAttribute attribute = xmlMain.Document.CreateAttribute("value");
                    attribute.Value = ex.Message;
                    containerNode.Attributes.Append(attribute);
                    xmlMain.XslFileURL = XSLTSetting;
                }
            }
        }
Esempio n. 33
0
 public void Given_I_am_on_the_portal_page()
 {
     _driver = new ChromeDriver();
     _driver.Manage().Window.Maximize();
     _portalPage = PortalPage.NavigateTo(_driver);
 }
 /// <summary>
 /// Writes a parent XML tag (url) for the current page
 /// </summary>
 /// <param name="writer">The XmlWriter that contains the sitemap XML</param>
 /// <param name="menuName">The page's menu name string</param>
 /// <param name="URL">The page's URL string</param>
 /// <param name="priority">The priority of this URL relative to other URLs on the site
 /// Valid values range from 0.0 to 1.0.</param>
 /// <param name="lastMod">The date of last modification of the page
 /// This date should be in W3C Datetime format (YYYY-MM-DD)</param>
 /// <param name="boolDisplayInNav">A flag that tells if the page is shown in the site navigation</param>
 /// <param name="portalPage">The PortalPage object for the current page</param>
 private void BuildURL(XmlWriter writer, string menuName, string URL, float priority, string lastMod, bool boolDisplayInNav, PortalPage portalPage)
 {
     writer.WriteStartElement("url");
     writer.WriteElementString("menuname", menuName);
     writer.WriteElementString("loc", URL);
     writer.WriteElementString("lastmod", lastMod);
     writer.WriteElementString("changefreq", SITEMAP_CHANGEFREQ);
     writer.WriteElementString("priority", priority.ToString("F02", CultureInfo.InvariantCulture));
     writer.WriteEndElement();
 }
        private Control BuildColumns(PortalPage portalPage)
        {
            Panel box = new Panel
            {
                ID       = "pnlBox",
                CssClass = "box"
            };

            Panel list1 = new Panel
            {
                ID       = "pnlList1",
                CssClass = "list-1"
            };

            Repeater          col1    = BuildRepeater();
            List <PortalPage> column1 = new List <PortalPage>();

            Panel list2 = new Panel
            {
                ID       = "pnlList2",
                CssClass = "list-2"
            };

            Repeater          col2    = BuildRepeater();
            List <PortalPage> column2 = new List <PortalPage>();

            Panel list3 = new Panel
            {
                ID       = "pnlList3",
                CssClass = "list-3"
            };

            Repeater          col3    = BuildRepeater();
            List <PortalPage> column3 = new List <PortalPage>();

            int col = 1;

            foreach (PortalPage p in portalPage.ChildPages)
            {
                if (p.DisplayInNav && p.Permissions.Allowed(OperationType.View, CurrentUser))
                {
                    switch (col)
                    {
                    case 1:
                        column1.Add(p);
                        break;

                    case 2:
                        column2.Add(p);
                        break;

                    case 3:
                        column3.Add(p);
                        break;

                    default:
                        break;
                    }

                    if (col < 3)
                    {
                        col++;
                    }
                    else
                    {
                        col = 1;
                    }
                }
            }

            col1.DataSource = column1;
            col1.DataBind();
            list1.Controls.Add(col1);

            col2.DataSource = column2;
            col2.DataBind();
            list2.Controls.Add(col2);

            col3.DataSource = column3;
            col3.DataBind();
            list3.Controls.Add(col3);

            box.Controls.Add(list1);
            box.Controls.Add(list2);
            box.Controls.Add(list3);
            return(box);
        }
Esempio n. 36
0
        private void SavePortalPage()
        {
            txtPageName.Text = PreventSQLInjection.FilterSQLString(txtPageName.Text);
            PortalPage st = null;
            //
            int Order = 1;

            if (rntOrder.Value.HasValue)
            {
                Order = (int)rntOrder.Value.Value;
            }
            short level        = 1;
            bool  IsUpdateMode = false;

            if (PortalPageId > 0)
            {
                st = db.PortalPages.SingleOrDefault <PortalPage>(s => s.Id == PortalPageId);
            }
            //
            if (st == null)
            {
                st = new PortalPage();
            }
            else
            {
                Order        = st.Order.Value;
                level        = st.PageLevel.Value;
                IsUpdateMode = true;
            }
            //
            st.PageName        = txtPageName.Text;
            st.PageDisplayName = txtPageName.Text;
            //tao so thu tu va cap menu tu dong
            if (rcbParentPage.SelectedIndex > 0)
            {
                int        parentid = Convert.ToInt32(rcbParentPage.SelectedValue);
                PortalPage sibling  = (from s in db.PortalPages
                                       where s.ParentPageId == parentid
                                       orderby s.Order descending
                                       select s).FirstOrDefault <PortalPage>();
                st.ParentPageId = parentid;

                if (sibling != null)
                {
                    //neu nguoi dung khong chu dong nhap so thu tu hien thi thi tinh toan so thu tu hien thi
                    //bang cach cong them 1 don vi vao so thu tu cua cac danh muc cung cap
                    if (!rntOrder.Value.HasValue)
                    {
                        Order = sibling.Order.Value + 1;
                    }
                    level = sibling.PageLevel.Value;
                }
                else
                {
                    PortalPage parent = db.PortalPages.SingleOrDefault <PortalPage>(s => s.Id == parentid);
                    if (parent != null)
                    {
                        level = (short)(parent.PageLevel.Value + 1);
                    }
                }
            }

            //proccess image
            if (fulIcon.HasFile)
            {
                //trong truong hop update --> xoa file cu tren dia cung truoc khi tien hanh upload
                if (!String.IsNullOrEmpty(st.Icon))
                {
                    System.IO.File.Delete(Server.MapPath(st.Icon));
                }
                string uploadFolder = "~/asset/icons/";
                //tao thu muc trong truong hop thu muc khong ton tai
                if (!System.IO.Directory.Exists(Server.MapPath(uploadFolder)))
                {
                    System.IO.Directory.CreateDirectory(Server.MapPath(uploadFolder));
                }
                //them 1 khoang trang vao cuoi chuoi de tao thuan loi cho viec tao ten file
                //sau khi tao ten file xong se bo khoang trang nay
                st.PageName += " ";
                //tao ten file theo cong thuc: tu dau tien trong ten danh muc + 5 ky tu ngau nhien
                string fileName = st.PageName.Substring(0, st.PageName.IndexOf(" ")) + "_" + Hash.GetRandomHashKey(5) + "." + NT.Lib.Globals.GetFileExtension(fulIcon.FileName);
                //bo khoang trang cuoi cung de tra lai ten ban dau
                st.PageName = st.PageName.Substring(0, st.PageName.Length - 1);

                //luu file vao dia va cap nhat vao DB
                st.Icon = uploadFolder + fileName;
                fulIcon.SaveAs(Server.MapPath(st.Icon));
            }
            //end proccess image

            st.Order          = Order;
            st.PageLevel      = level;
            st.Hidden         = false;
            st.ShowInMainMenu = ckbMainMenu.Checked;

            if (!IsUpdateMode)
            {
                db.PortalPages.InsertOnSubmit(st);
            }

            db.SubmitChanges();

            //clear cache
            Cache.Remove("pages");

            //LoadCategories();
            //txtCategoryName.Text = "";
            //rcbParentCategory.Items.Clear();
            //BindCategoriesToCombobox(0);
            //rcbParentCategory.Items.Insert(0, new RadComboBoxItem("", ""));
            Response.Redirect(Common.GenerateAdminUrl("pages"));
        }
Esempio n. 37
0
        private void BuildURL(XmlWriter writer, string menuName, string URL, float priority, string lastMod, bool boolDisplayInNav, PortalPage portalPage)
        {
            writer.WriteStartElement("url");
            writer.WriteElementString("menuname", menuName);
            writer.WriteElementString("loc", URL);
            writer.WriteElementString("lastmod", lastMod);
            writer.WriteElementString("changefreq", SITEMAP_CHANGEFREQ);
            writer.WriteElementString("priority", priority.ToString("F02", CultureInfo.InvariantCulture));
            //writer.WriteElementString("navdisplay", boolDisplayInNav.ToString());
            //writer.WriteElementString("permissions", GetPagePermissions(portalPage));
            //writer.WriteElementString("allowanonymous", portalPage.Permissions.ContainsSubjectOperation(Arena.Security.SubjectType.Role, 1, Arena.Security.OperationType.View).ToString());

            writer.WriteEndElement();
        }
        // Recursively iterate through all elements and children (http://msdn.microsoft.com/en-us/library/wwc698z7.aspx)
        private void BuildUrlRecursive(XmlWriter writer, PortalPage portalPage)
        {
            // Call the BuildURL function.
              intURLs += 1;
              string menuName = portalPage.MenuName;
              string URL = Request.Url.GetLeftPart(UriPartial.Authority) + "/" + portalPage.NavigationUrl;
              string lastMod = portalPage.DateModified.ToString("yyyy-MM-dd");
              string strTitle = portalPage.Title;
              bool boolDisplayInNav = portalPage.DisplayInNav;

              // Check that the page allows View permissions to anonymous visitors and that the page is visible in the navigation
              int iSubjectKey = 1; // All Users
              bool boolAllowAnonymousView = portalPage.Permissions.ContainsSubjectOperation(Arena.Security.SubjectType.Role, iSubjectKey, Arena.Security.OperationType.View);
              if (boolAllowAnonymousView && boolDisplayInNav)
              {
            BuildURL(writer, menuName, URL, SITEMAP_PRIORITY, lastMod, boolDisplayInNav, portalPage);
              }

              // Print each node recursively.
              foreach (PortalPage cp in portalPage.ChildPages)
              {
            BuildUrlRecursive(writer, cp);
              }
        }
 void InitContext(PortalPage page)
 {
     _context = new Hashtable();
     _context.Add("page", page);
     _context.Add("tools", _tools);
 }
Esempio n. 40
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            // Start Building XML
            XmlDocument xdoc = null;

            string defaultGroup = string.Empty;

            int curPersonID = -1;

            if (CurrentPerson != null)
            {
                curPersonID = CurrentPerson.PersonID;
            }

            string parentPageID = CurrentPortalPage.PortalPageID.ToString();

            if (HomePageIDSetting != string.Empty)
            {
                parentPageID = HomePageIDSetting.Trim();
            }

            string menuSessionVar = "arenaPageMenu_" + parentPageID;

            if (Session[menuSessionVar] != null)
            {
                xdoc = (XmlDocument)Session[menuSessionVar];
                if (xdoc.DocumentElement.Attributes["personid"].Value != curPersonID.ToString())
                {
                    xdoc = null;
                }
            }

            if (Request.QueryString["RefreshCache"] != null)
            {
                xdoc = null;
            }

            if (xdoc == null)
            {
                // Get the Home Page
                PortalPage homePage = CurrentPortal.GetPage(Int32.Parse(parentPageID));
                if (homePage == null)
                {
                    throw new ModuleException(CurrentPortalPage, CurrentModule, string.Format("The settings for the '{0}' " +
                                                                                              "PageNavigation module does not contain a valid HomePageID. " +
                                                                                              "It must include this settings, and it must be a valid page id.  For example: " +
                                                                                              "HomePageID=10", CurrentModule.Title));
                }

                xdoc = new XmlDocument();

                XmlNode xNavigationNode = xdoc.CreateNode(XmlNodeType.Element, "navigation", xdoc.NamespaceURI);
                xdoc.AppendChild(xNavigationNode);

                XmlAttribute xattr = xdoc.CreateAttribute("personid");
                xattr.Value = curPersonID.ToString();
                xNavigationNode.Attributes.Append(xattr);

                string cssValue = "CustCSSMenu";
                if (CSSClassNameSetting != string.Empty)
                {
                    cssValue = CSSClassNameSetting;
                }

                xattr       = xdoc.CreateAttribute("cssclass");
                xattr.Value = cssValue;
                xNavigationNode.Attributes.Append(xattr);



                foreach (PortalPage mainPage in homePage.ChildPages)
                {
                    if (mainPage.DisplayInNav)
                    {
                        if (mainPage.Permissions.Allowed(OperationType.View, CurrentUser))
                        {
                            XmlNode xGroupNode = xdoc.CreateNode(XmlNodeType.Element, "group", xdoc.NamespaceURI);
                            xNavigationNode.AppendChild(xGroupNode);

                            XmlAttribute xAttr = xdoc.CreateAttribute("", "name", xdoc.NamespaceURI);
                            xAttr.Value = mainPage.Name;
                            xGroupNode.Attributes.Append(xAttr);

                            xAttr       = xdoc.CreateAttribute("", "pageid", xdoc.NamespaceURI);
                            xAttr.Value = mainPage.PortalPageID.ToString();
                            xGroupNode.Attributes.Append(xAttr);

                            if (CurrentPortalPage.PortalPageID == mainPage.PortalPageID)
                            {
                                xAttr       = xdoc.CreateAttribute("", "currentPage", xdoc.NamespaceURI);
                                xAttr.Value = "true";
                                xGroupNode.Attributes.Append(xAttr);
                            }

                            if (mainPage.Setting("NavBarIcon", string.Empty, false) != string.Empty)
                            {
                                xAttr       = xdoc.CreateAttribute("", "navbaricon", xdoc.NamespaceURI);
                                xAttr.Value = mainPage.Setting("NavBarIcon", string.Empty, false);
                                xGroupNode.Attributes.Append(xAttr);
                            }

                            if (mainPage.Setting("NavBarHoverIcon", string.Empty, false) != string.Empty)
                            {
                                xAttr       = xdoc.CreateAttribute("", "navbarhovericon", xdoc.NamespaceURI);
                                xAttr.Value = mainPage.Setting("NavBarHoverIcon", string.Empty, false);
                                xGroupNode.Attributes.Append(xAttr);
                            }

                            xAttr       = xdoc.CreateAttribute("", "target", xdoc.NamespaceURI);
                            xAttr.Value = mainPage.Setting("target", "_self", false);
                            xGroupNode.Attributes.Append(xAttr);

                            foreach (PortalPage subPage in mainPage.ChildPages)
                            {
                                if (subPage.DisplayInNav)
                                {
                                    if (subPage.Permissions.Allowed(OperationType.View, CurrentUser))
                                    {
                                        XmlNode xItemNode = xdoc.CreateNode(XmlNodeType.Element, "item", xdoc.NamespaceURI);
                                        xGroupNode.AppendChild(xItemNode);

                                        xAttr       = xdoc.CreateAttribute("", "name", xdoc.NamespaceURI);
                                        xAttr.Value = subPage.Name;
                                        xItemNode.Attributes.Append(xAttr);

                                        xAttr       = xdoc.CreateAttribute("", "pageid", xdoc.NamespaceURI);
                                        xAttr.Value = subPage.PortalPageID.ToString();
                                        xItemNode.Attributes.Append(xAttr);

                                        if (CurrentPortalPage.PortalPageID == mainPage.PortalPageID)
                                        {
                                            xAttr       = xdoc.CreateAttribute("", "currentPage", xdoc.NamespaceURI);
                                            xAttr.Value = "true";
                                            xItemNode.Attributes.Append(xAttr);
                                        }

                                        if (subPage.Setting("NavBarIcon", string.Empty, false) != string.Empty)
                                        {
                                            xAttr       = xdoc.CreateAttribute("", "navbaricon", xdoc.NamespaceURI);
                                            xAttr.Value = subPage.Setting("NavBarIcon", string.Empty, false);
                                            xItemNode.Attributes.Append(xAttr);
                                        }

                                        if (subPage.Setting("NavBarHoverIcon", string.Empty, false) != string.Empty)
                                        {
                                            xAttr       = xdoc.CreateAttribute("", "navbarhovericon", xdoc.NamespaceURI);
                                            xAttr.Value = subPage.Setting("NavBarHoverIcon", string.Empty, false);
                                            xItemNode.Attributes.Append(xAttr);
                                        }

                                        xAttr       = xdoc.CreateAttribute("", "target", xdoc.NamespaceURI);
                                        xAttr.Value = subPage.Setting("target", "_self", false);
                                        xItemNode.Attributes.Append(xAttr);

                                        foreach (PortalPage subTwoPage in subPage.ChildPages)
                                        {
                                            if (subTwoPage.DisplayInNav)
                                            {
                                                if (subTwoPage.Permissions.Allowed(OperationType.View, CurrentUser))
                                                {
                                                    XmlNode xSubNode = xdoc.CreateNode(XmlNodeType.Element, "subitem", xdoc.NamespaceURI);
                                                    xItemNode.AppendChild(xSubNode);

                                                    xAttr       = xdoc.CreateAttribute("", "name", xdoc.NamespaceURI);
                                                    xAttr.Value = subTwoPage.Name;
                                                    xSubNode.Attributes.Append(xAttr);

                                                    xAttr       = xdoc.CreateAttribute("", "pageid", xdoc.NamespaceURI);
                                                    xAttr.Value = subTwoPage.PortalPageID.ToString();
                                                    xSubNode.Attributes.Append(xAttr);

                                                    if (CurrentPortalPage.PortalPageID == mainPage.PortalPageID)
                                                    {
                                                        xAttr       = xdoc.CreateAttribute("", "currentPage", xdoc.NamespaceURI);
                                                        xAttr.Value = "true";
                                                        xSubNode.Attributes.Append(xAttr);
                                                    }

                                                    if (subTwoPage.Setting("NavBarIcon", string.Empty, false) != string.Empty)
                                                    {
                                                        xAttr       = xdoc.CreateAttribute("", "navbaricon", xdoc.NamespaceURI);
                                                        xAttr.Value = subTwoPage.Setting("NavBarIcon", string.Empty, false);
                                                        xSubNode.Attributes.Append(xAttr);
                                                    }

                                                    if (subTwoPage.Setting("NavBarHoverIcon", string.Empty, false) != string.Empty)
                                                    {
                                                        xAttr       = xdoc.CreateAttribute("", "navbarhovericon", xdoc.NamespaceURI);
                                                        xAttr.Value = subTwoPage.Setting("NavBarHoverIcon", string.Empty, false);
                                                        xSubNode.Attributes.Append(xAttr);
                                                    }

                                                    xAttr       = xdoc.CreateAttribute("", "target", xdoc.NamespaceURI);
                                                    xAttr.Value = subTwoPage.Setting("target", "_self", false);
                                                    xSubNode.Attributes.Append(xAttr);

                                                    foreach (PortalPage subThreePage in subTwoPage.ChildPages)
                                                    {
                                                        if (subThreePage.DisplayInNav)
                                                        {
                                                            if (subThreePage.Permissions.Allowed(OperationType.View, CurrentUser))
                                                            {
                                                                XmlNode xSub2Node = xdoc.CreateNode(XmlNodeType.Element, "subitem3", xdoc.NamespaceURI);
                                                                xSubNode.AppendChild(xSub2Node);

                                                                xAttr       = xdoc.CreateAttribute("", "name", xdoc.NamespaceURI);
                                                                xAttr.Value = subThreePage.Name;
                                                                xSub2Node.Attributes.Append(xAttr);

                                                                xAttr       = xdoc.CreateAttribute("", "pageid", xdoc.NamespaceURI);
                                                                xAttr.Value = subThreePage.PortalPageID.ToString();
                                                                xSub2Node.Attributes.Append(xAttr);

                                                                if (CurrentPortalPage.PortalPageID == mainPage.PortalPageID)
                                                                {
                                                                    xAttr       = xdoc.CreateAttribute("", "currentPage", xdoc.NamespaceURI);
                                                                    xAttr.Value = "true";
                                                                    xSub2Node.Attributes.Append(xAttr);
                                                                }

                                                                if (subThreePage.Setting("NavBarIcon", string.Empty, false) != string.Empty)
                                                                {
                                                                    xAttr       = xdoc.CreateAttribute("", "navbaricon", xdoc.NamespaceURI);
                                                                    xAttr.Value = subThreePage.Setting("NavBarIcon", string.Empty, false);
                                                                    xSub2Node.Attributes.Append(xAttr);
                                                                }

                                                                if (subThreePage.Setting("NavBarHoverIcon", string.Empty, false) != string.Empty)
                                                                {
                                                                    xAttr       = xdoc.CreateAttribute("", "navbarhovericon", xdoc.NamespaceURI);
                                                                    xAttr.Value = subThreePage.Setting("NavBarHoverIcon", string.Empty, false);
                                                                    xSub2Node.Attributes.Append(xAttr);
                                                                }

                                                                xAttr       = xdoc.CreateAttribute("", "target", xdoc.NamespaceURI);
                                                                xAttr.Value = subTwoPage.Setting("target", "_self", false);
                                                                xSubNode.Attributes.Append(xAttr);

                                                                foreach (PortalPage subFourPage in subThreePage.ChildPages)
                                                                {
                                                                    if (subFourPage.DisplayInNav)
                                                                    {
                                                                        if (subFourPage.Permissions.Allowed(OperationType.View, CurrentUser))
                                                                        {
                                                                            XmlNode xSub3Node = xdoc.CreateNode(XmlNodeType.Element, "subitem4", xdoc.NamespaceURI);
                                                                            xSub2Node.AppendChild(xSub3Node);

                                                                            xAttr       = xdoc.CreateAttribute("", "name", xdoc.NamespaceURI);
                                                                            xAttr.Value = subFourPage.Name;
                                                                            xSub3Node.Attributes.Append(xAttr);

                                                                            xAttr       = xdoc.CreateAttribute("", "pageid", xdoc.NamespaceURI);
                                                                            xAttr.Value = subFourPage.PortalPageID.ToString();
                                                                            xSub3Node.Attributes.Append(xAttr);

                                                                            if (CurrentPortalPage.PortalPageID == mainPage.PortalPageID)
                                                                            {
                                                                                xAttr       = xdoc.CreateAttribute("", "currentPage", xdoc.NamespaceURI);
                                                                                xAttr.Value = "true";
                                                                                xSub3Node.Attributes.Append(xAttr);
                                                                            }

                                                                            if (subFourPage.Setting("NavBarIcon", string.Empty, false) != string.Empty)
                                                                            {
                                                                                xAttr       = xdoc.CreateAttribute("", "navbaricon", xdoc.NamespaceURI);
                                                                                xAttr.Value = subFourPage.Setting("NavBarIcon", string.Empty, false);
                                                                                xSub3Node.Attributes.Append(xAttr);
                                                                            }

                                                                            if (subFourPage.Setting("NavBarHoverIcon", string.Empty, false) != string.Empty)
                                                                            {
                                                                                xAttr       = xdoc.CreateAttribute("", "navbarhovericon", xdoc.NamespaceURI);
                                                                                xAttr.Value = subFourPage.Setting("NavBarHoverIcon", string.Empty, false);
                                                                                xSub3Node.Attributes.Append(xAttr);
                                                                            }

                                                                            xAttr       = xdoc.CreateAttribute("", "target", xdoc.NamespaceURI);
                                                                            xAttr.Value = subTwoPage.Setting("target", "_self", false);
                                                                            xSub3Node.Attributes.Append(xAttr);
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                Session[menuSessionVar] = xdoc;
            }



            xmlMain.Document   = xdoc;
            xmlMain.XslFileURL = XSLTSetting;
        }
 internal QuickPageGenerationProvider(QuickPageGenerator generator, PortalPage page, CabApplicationPortal portal)
     : base(portal)
 {
     _gen = generator;
     _page = page;
 }