示例#1
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            // Load Protal Definition and the current Tab
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab currentTab = pd.GetTab(Request["TabRef"]);
            if (currentTab == null)
            {
                return;
            }

            // Great, we are a top level Tab
            if (currentTab.parent == null)
            {
                return;
            }

            ArrayList tabList = new ArrayList();

            while (currentTab != null)
            {
                DisplayTabItem dt = new DisplayTabItem();
                tabList.Insert(0, dt);

                dt.m_Text = currentTab.title;
                dt.m_URL  = Portal.API.Config.GetTabUrl(currentTab.reference);

                // one up...
                currentTab = currentTab.parent;
            }

            // Bind Repeater
            tabpath.DataSource = tabList;
            tabpath.DataBind();
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            // Load Protal Definition and the current Tab
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab currentTab = pd.GetTab(Request["TabRef"]);

            // Foreach Tab...
            ArrayList tabList    = new ArrayList();
            ArrayList subTabList = new ArrayList();

            foreach (PortalDefinition.Tab t in pd.tabs)
            {
                DisplayTabItem dt = BuildDisplayTabItem(t);
                if (dt != null)
                {
                    // Set current Tab Property
                    if (currentTab == null)
                    {
                        if (tabList.Count == 1)
                        {
                            // First tab -> default
                            dt.CurrentTab = true;
                        }
                    }
                    else
                    {
                        dt.CurrentTab = currentTab.RootTab == t;
                    }
                    tabList.Add(dt);

                    if (dt.CurrentTab && Config.TabMenuShowSubTabs)
                    {
                        foreach (PortalDefinition.Tab st in t.tabs)
                        {
                            DisplayTabItem sdt = BuildDisplayTabItem(st);
                            if (sdt != null)
                            {
                                subTabList.Add(sdt);
                            }
                        }
                    }
                }
            }             // foreach(tab)

            // Bind Repeater
            Tabs.DataSource = tabList;
            Tabs.DataBind();

            if (subTabList.Count > 0)
            {
                TabMenu_SubTab.Visible = true;
                SubTabs.DataSource     = subTabList;
                SubTabs.DataBind();
            }
            else
            {
                TabMenu_SubTab.Visible = false;
            }
        }
        public static void DeleteTab(string reference)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(reference);

            if (t.parent == null) // Root Tab
            {
                for (int i = 0; i < pd.tabs.Count; i++)
                {
                    if (((PortalDefinition.Tab)pd.tabs[i]).reference == reference)
                    {
                        pd.tabs.RemoveAt(i);
                        break;
                    }
                }
            }
            else
            {
                PortalDefinition.Tab pt = t.parent;
                for (int i = 0; i < pt.tabs.Count; i++)
                {
                    if (((PortalDefinition.Tab)pt.tabs[i]).reference == reference)
                    {
                        pt.tabs.RemoveAt(i);
                        break;
                    }
                }
            }

            pd.Save();
        }
示例#4
0
        /// <summary>
        /// Returns the requested Tab.
        /// If the user has no right null is returned.
        /// </summary>
        /// <param name="tabRef"></param>
        /// <returns></returns>
        public static PortalDefinition.Tab GetEditTab(string tabRef)
        {
            PortalDefinition.Tab editTab = null;

            if (HttpContext.Current.User.IsInRole(Config.AdminRole))
            {
                PortalDefinition pd = PortalDefinition.Load();
                editTab = pd.GetTab(tabRef);
            }
            return(editTab);
        }
示例#5
0
        protected void OnAddTab(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = PortalDefinition.Tab.Create();

            pd.GetTab(Request["TabRef"]).tabs.Add(t);

            pd.Save();

            Response.Redirect(Helper.GetEditTabLink(t.reference));
        }
示例#6
0
        protected void OnAddRightModule(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            // Do NOT use GetCurrentTab! You will be unable to save
            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            PortalDefinition.Module m = PortalDefinition.Module.Create();
            t.right.Add(m);

            pd.Save();

            Response.Redirect(Helper.GetEditModuleLink(m.reference));
        }
        protected void OnAddMiddleModule(object sender, EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            // Do NOT use GetCurrentTab! You will be unable to save
            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            PortalDefinition.Module m = new PortalDefinition.Module();
            m.reference = Guid.NewGuid().ToString();
            t.middle.Add(m);

            pd.Save();

            Response.Redirect(Helper.GetEditModuleLink(m.reference));
        }
        protected void OnMoveRight(object sender, System.EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            for (int i = 0; i < 2; i++)
            {
                ArrayList a = null;
                switch (i)
                {
                case 0:
                    a = t.left;
                    break;

                case 1:
                    a = t.middle;
                    break;
                }

                for (int idx = 0; idx < a.Count; idx++)
                {
                    if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference)
                    {
                        PortalDefinition.Module m = (PortalDefinition.Module)a[idx];
                        a.RemoveAt(idx);
                        if (i == 0)
                        {
                            t.middle.Insert(t.middle.Count, m);
                        }
                        else if (i == 1)
                        {
                            t.right.Insert(t.right.Count, m);
                        }
                        else
                        {
                            throw new InvalidOperationException("Invalid Column");
                        }

                        pd.Save();
                        Server.Transfer(Request.Url.PathAndQuery);
                        return;
                    }
                }
            }
        }
        protected void OnMoveDown(object sender, System.EventArgs args)
        {
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]);

            for (int i = 0; i < 3; i++)
            {
                ArrayList a = null;
                switch (i)
                {
                case 0:
                    a = t.left;
                    break;

                case 1:
                    a = t.middle;
                    break;

                case 2:
                    a = t.right;
                    break;
                }

                for (int idx = 0; idx < a.Count; idx++)
                {
                    if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference)
                    {
                        if (idx >= a.Count - 1)
                        {
                            return;
                        }

                        PortalDefinition.Module m = (PortalDefinition.Module)a[idx];
                        a.RemoveAt(idx);
                        a.Insert(idx + 1, m);

                        pd.Save();
                        Server.Transfer(Request.Url.PathAndQuery);
                        return;
                    }
                }
            }
        }
示例#10
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Load Protal Definition and the current Tab
            PortalDefinition pd = PortalDefinition.Load();

            PortalDefinition.Tab currentTab = pd.GetTab(Request["TabRef"]);

            // Foreach Tab...
            ArrayList tabList = new ArrayList();

            foreach (PortalDefinition.Tab t in pd.tabs)
            {
                if (UserManagement.HasViewRights(Page.User, t.roles))
                {
                    // User may view the tab, create a Display Item
                    DisplayTabItem dt = new DisplayTabItem();
                    tabList.Add(dt);

                    dt.m_Text = t.title;

                    // Set current Tab Property
                    if (currentTab == null)
                    {
                        if (tabList.Count == 1)
                        {
                            // First tab -> default
                            dt.m_CurrentTab = true;
                        }
                    }
                    else
                    {
                        dt.m_CurrentTab = currentTab.GetRootTab() == t;
                    }

                    dt.m_URL = Helper.GetTabLink(t.reference);
                }         // if(User may view)
            }             // foreach(tab)

            // Bind Repeater
            Tabs.DataSource = tabList;
            Tabs.DataBind();
        }
示例#11
0
        /// <summary>
        /// Returns the current Tab.
        /// The current HTTPContext is used to determinate the current Tab (TabRef=[ref])
        /// </summary>
        /// <returns>The current Tab or the default Tab</returns>
        public static Tab GetCurrentTab()
        {
            PortalDefinition pd = Load();

            return(pd.GetTab(HttpContext.Current.Request["TabRef"]));
        }