Beispiel #1
0
        public void RemovePageByLocation(string MenuLocation, GridPage replacePage)
        {
            GridPage foundPage = null;

            foreach (var page in this.Children)
            {
                if (page.Location == MenuLocation)
                {
                    foundPage = page;
                    break;
                }
                else if (page.Children.Count > 0)
                {
                    var p = GetPageByLocation(MenuLocation, page);
                    if (p != null)
                    {
                        page.Children.Remove(p);
                        return;
                    }
                }
            }
            if (foundPage != null)
            {
                this.Children.Remove(foundPage);
            }
        }
        private string GetTranslatedString(ITranslator translator, string name, GridPage page, bool isTooltip)
        {
            string retVal = translator.GetTranslatedString(name);

            if (retVal == "UNKNOWN CHARACTER")
            {
                return(isTooltip ? page.MenuToolTip : page.MenuTitle);
            }
            return(retVal);
        }
Beispiel #3
0
 public void ReplacePage(string MenuItem, GridPage replacePage)
 {
     foreach (var page in this.Children)
     {
         if (page.MenuID == MenuItem)
         {
             page.FromOSD(replacePage.ToOSD());
             return;
         }
         else if (page.Children.Count > 0)
         {
             var p = GetPage(MenuItem, page);
             if (p != null)
             {
                 p.FromOSD(replacePage.ToOSD());
                 return;
             }
         }
     }
 }
Beispiel #4
0
 public GridPage GetParent(GridPage item, GridPage toCheck)
 {
     if (toCheck == null)
     {
         toCheck = this;
     }
     foreach (var p in toCheck.Children)
     {
         if (item.Location == p.Location)
         {
             return(toCheck);
         }
         else if (p.Children.Count > 0)
         {
             var pp = GetParent(item, p);
             if (pp != null)
             {
                 return(pp);
             }
         }
     }
     return(null);
 }
Beispiel #5
0
 public GridPage GetPageByLocation(string item, GridPage rootPage)
 {
     if (rootPage == null)
     {
         rootPage = this;
     }
     foreach (var page in rootPage.Children)
     {
         if (page.Location == item)
         {
             return(page);
         }
         else if (page.Children.Count > 0)
         {
             var p = GetPageByLocation(item, page);
             if (p != null)
             {
                 return(p);
             }
         }
     }
     return(null);
 }
Beispiel #6
0
        public Dictionary<string, object> Fill(WebInterface webInterface, string filename, OSHttpRequest httpRequest,
            OSHttpResponse httpResponse, Dictionary<string, object> requestParameters, ITranslator translator, out string response)
        {
            response = null;
            var vars = new Dictionary<string, object>();
            
            #region Find pages

            List<Dictionary<string, object>> pages = new List<Dictionary<string, object>>();

            IGenericsConnector generics = Aurora.DataManager.DataManager.RequestPlugin<IGenericsConnector>();
            GridPage rootPage = generics.GetGeneric<GridPage>(UUID.Zero, "WebPages", "Root");
            rootPage.Children.Sort((a, b) => a.MenuPosition.CompareTo(b.MenuPosition));
            List<GridPage> allPages = new List<GridPage>(rootPage.Children);
            foreach (GridPage page in rootPage.Children)
                allPages.AddRange(page.Children);
            allPages.RemoveAll((a) => !a.ShowInMenu);

            string MenuItem = requestParameters.ContainsKey("MenuItem") ? 
                requestParameters["MenuItem"].ToString() : "";
            foreach (GridPage page in allPages)
            {
                pages.Add(new Dictionary<string, object> { { "Value", page.Location }, 
                    { "Name", page.Location }, { "PageSelected", MenuItem == page.Location ? 
                                               "selected=\"selected\"" : "" } });
            }
            vars.Add("PagesList", pages);

            #endregion

            if (requestParameters.ContainsKey("DeleteItem"))
            {
                rootPage.RemovePageByLocation(MenuItem, null);
                generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                response = "<h3>Successfully updated menu</h3>" +
                    "<script language=\"javascript\">" +
                    "setTimeout(function() {window.location.href = \"index.html\";}, 0);" +
                    "</script>";
                return null;
            }
            if (requestParameters.ContainsKey("AddItem"))
            {
                //generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                vars.Add("EdittingPageID", -2);
                vars.Add("DisplayEdit", true);
            }
            if (requestParameters.ContainsKey("SelectItem"))
            {
                GridPage page = rootPage.GetPageByLocation(MenuItem);

                vars.Add("PageTitle", page.MenuTitle);
                vars.Add("PageTooltip", page.MenuToolTip);
                vars.Add("PageID", page.MenuID);
                vars.Add("PagePosition", page.MenuPosition);
                vars.Add("PageLocation", page.Location);
                vars.Add("EdittingPageID", page.MenuID);
                vars.Add("RequiresLoginYes", page.LoggedInRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLoginNo", !page.LoggedInRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLogoutYes", page.LoggedOutRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLogoutNo", !page.LoggedOutRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminYes", page.AdminRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminNo", !page.AdminRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminLevel", page.AdminLevelRequired);
                vars.Add("DisplayInMenuYes", page.ShowInMenu ? "selected=\"selected\"" : "");
                vars.Add("DisplayInMenuNo", !page.ShowInMenu ? "selected=\"selected\"" : "");
                vars.Add("DisplayEdit", true);

                pages = new List<Dictionary<string, object>> { new Dictionary<string, object> { { "Value", "Top Level" }, 
                    { "Name", translator.GetTranslatedString("TopLevel") }, { "PageSelected", "" } } };
                GridPage parent = rootPage.GetParent(page);
                foreach (GridPage p in allPages)
                {
                    pages.Add(new Dictionary<string, object> { { "Value", p.Location }, 
                    { "Name", p.Location }, { "PageSelected", parent.Location == p.Location ? 
                                               "selected=\"selected\"" : "" } });
                }
                vars.Add("ParentPagesList", pages);
            }
            else
            {
                vars.Add("PageTitle", "");
                vars.Add("PageTooltip", "");
                vars.Add("PageID", "");
                vars.Add("PagePosition", "");
                vars.Add("PageLocation", "");
                if(!vars.ContainsKey("EdittingPageID"))
                    vars.Add("EdittingPageID", "");
                vars.Add("RequiresLoginYes", "");
                vars.Add("RequiresLoginNo", "");
                vars.Add("RequiresLogoutYes", "");
                vars.Add("RequiresLogoutNo", "");
                vars.Add("RequiresAdminYes", "");
                vars.Add("RequiresAdminNo", "");
                vars.Add("RequiresAdminLevel", "1");

                pages = new List<Dictionary<string, object>> { new Dictionary<string, object> { { "Value", "Top Level" }, 
                    { "Name", translator.GetTranslatedString("TopLevel") }, { "PageSelected", "" } } };
                foreach (GridPage p in allPages)
                {
                    pages.Add(new Dictionary<string, object> { { "Value", p.Location }, 
                    { "Name", p.Location }, { "PageSelected", "" } });
                }
                vars.Add("ParentPagesList", pages);
            }
            if (requestParameters.ContainsKey("SaveMenuItem"))
            {
                string edittingPageID = requestParameters["EdittingPageID"].ToString();
                string PageTitle = requestParameters["PageTitle"].ToString();
                string PageTooltip = requestParameters["PageTooltip"].ToString();
                string PagePosition = requestParameters["PagePosition"].ToString();
                string PageID = requestParameters["PageID"].ToString();
                string PageLocation = requestParameters["PageLocation"].ToString();
                bool RequiresLogin = bool.Parse(requestParameters["RequiresLogin"].ToString());
                bool RequiresLogout = bool.Parse(requestParameters["RequiresLogout"].ToString());
                bool RequiresAdmin = bool.Parse(requestParameters["RequiresAdmin"].ToString());
                bool DisplayInMenu = bool.Parse(requestParameters["DisplayInMenu"].ToString());
                string ParentMenuItem = requestParameters["ParentMenuItem"].ToString();
                int RequiredAdminLevel = int.Parse(requestParameters["RequiredAdminLevel"].ToString());
                GridPage page = rootPage.GetPage(edittingPageID);
                bool add = page == null;
                if (page == null)
                    page = new GridPage { MenuID = PageLocation, ShowInMenu = true };

                page.Location = PageLocation;
                page.MenuID = PageID;
                page.MenuPosition = int.Parse(PagePosition);
                page.MenuTitle = PageTitle;
                page.MenuToolTip = PageTooltip;
                page.LoggedInRequired = RequiresLogin;
                page.LoggedOutRequired = RequiresLogout;
                page.AdminRequired = RequiresAdmin;
                page.AdminLevelRequired = RequiredAdminLevel;
                page.ShowInMenu = DisplayInMenu;

                GridPage parent = rootPage.GetPageByLocation(ParentMenuItem);

                if (parent != page)
                {
                    if (!add)
                        rootPage.RemovePage(edittingPageID, page);

                    if (parent != null)
                        parent.Children.Add(page);
                    else //Top Level
                        rootPage.Children.Add(page);

                    response = "<h3>Successfully updated menu</h3>" +
                        "<script language=\"javascript\">" +
                        "setTimeout(function() {window.location.href = \"index.html\";}, 0);" +
                        "</script>";
                }
                else
                    response = "<h3>" + translator.GetTranslatedString("CannotSetParentToChild") + "</h3>";

                generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                return null;
            }

            vars.Add("PageTitleText", translator.GetTranslatedString("PageTitleText"));
            vars.Add("PageTooltipText", translator.GetTranslatedString("PageTooltipText"));
            vars.Add("PagePositionText", translator.GetTranslatedString("PagePositionText"));
            vars.Add("PageIDText", translator.GetTranslatedString("PageIDText"));
            vars.Add("PageLocationText", translator.GetTranslatedString("PageLocationText"));
            vars.Add("SaveMenuItemChanges", translator.GetTranslatedString("SaveMenuItemChanges"));
            vars.Add("RequiresLoginText", translator.GetTranslatedString("RequiresLoginText"));
            vars.Add("RequiresLogoutText", translator.GetTranslatedString("RequiresLogoutText"));
            vars.Add("RequiresAdminText", translator.GetTranslatedString("RequiresAdminText"));
            vars.Add("RequiresAdminLevelText", translator.GetTranslatedString("RequiresAdminLevelText"));
            vars.Add("DisplayInMenu", translator.GetTranslatedString("DisplayInMenu"));
            vars.Add("SelectItem", translator.GetTranslatedString("SelectItem"));
            vars.Add("DeleteItem", translator.GetTranslatedString("DeleteItem"));
            vars.Add("AddItem", translator.GetTranslatedString("AddItem"));
            vars.Add("PageManager", translator.GetTranslatedString("PageManager"));
            vars.Add("ParentText", translator.GetTranslatedString("ParentText"));
            vars.Add("Yes", translator.GetTranslatedString("Yes"));
            vars.Add("No", translator.GetTranslatedString("No"));

            return vars;
        }
Beispiel #7
0
 public GridPage GetParent(GridPage page)
 {
     return(GetParent(page, null));
 }
        private static void InitializeDefaults()
        {
            _rootPage = new GridPage();

            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu   = true,
                MenuID       = "home",
                Location     = "home.html",
                MenuPosition = 0,
                MenuTitle    = "MenuHome",
                MenuToolTip  = "TooltipsMenuHome"
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu   = true,
                MenuID       = "news",
                Location     = "news_list.html",
                MenuPosition = 1,
                MenuTitle    = "MenuNews",
                MenuToolTip  = "TooltipsMenuNews"
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu   = true,
                MenuID       = "world",
                Location     = "world.html",
                MenuPosition = 2,
                MenuTitle    = "MenuWorld",
                MenuToolTip  = "TooltipsMenuWorld",
                Children     = new List <GridPage>
                {
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "world",
                        Location     = "world.html",
                        MenuPosition = 2,
                        MenuTitle    = "MenuWorldMap",
                        MenuToolTip  = "TooltipsMenuWorldMap"
                    },
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "region_search",
                        Location     = "region_search.html",
                        MenuPosition = 2,
                        MenuTitle    = "MenuRegionSearch",
                        MenuToolTip  = "TooltipsMenuRegionSearch"
                    },
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "region_list",
                        Location     = "region_list.html",
                        MenuPosition = 2,
                        MenuTitle    = "MenuRegion",
                        MenuToolTip  = "TooltipsMenuRegion"
                    }
                }
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu   = true,
                MenuID       = "users",
                Location     = "users.html",
                MenuPosition = 3,
                MenuTitle    = "MenuUser",
                MenuToolTip  = "TooltipsMenuUser",
                Children     = new List <GridPage> {
                    new GridPage
                    {
                        ShowInMenu       = true,
                        LoggedInRequired = true,
                        MenuID           = "change_user_information",
                        Location         = "change_user_information.html",
                        MenuPosition     = 1,
                        MenuTitle        = "MenuChangeUserInformation",
                        MenuToolTip      = "TooltipsMenuChangeUserInformation"
                    },
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "online_users",
                        Location     = "online_users.html",
                        MenuPosition = 2,
                        MenuTitle    = "MenuOnlineUsers",
                        MenuToolTip  = "TooltipsMenuOnlineUsers"
                    },
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "user_search",
                        Location     = "user_search.html",
                        MenuPosition = 3,
                        MenuTitle    = "MenuUserSearch",
                        MenuToolTip  = "TooltipsMenuUserSearch"
                    }
                }
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu   = true,
                MenuID       = "help",
                Location     = "help.html",
                MenuPosition = 5,
                MenuTitle    = "MenuHelp",
                MenuToolTip  = "TooltipsMenuHelp",
                Children     = new List <GridPage> {
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "chat",
                        Location     = "chat.html",
                        MenuPosition = 4,
                        MenuTitle    = "MenuChat",
                        MenuToolTip  = "TooltipsMenuChat"
                    }
                }
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu       = true,
                LoggedInRequired = true,
                MenuID           = "logout",
                Location         = "logout.html",
                MenuPosition     = 7,
                MenuTitle        = "MenuLogout",
                MenuToolTip      = "TooltipsMenuLogout"
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu        = true,
                LoggedOutRequired = true,
                MenuID            = "register",
                Location          = "register.html",
                MenuPosition      = 7,
                MenuTitle         = "MenuRegister",
                MenuToolTip       = "TooltipsMenuRegister"
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu        = true,
                LoggedOutRequired = true,
                MenuID            = "login",
                Location          = "login.html",
                MenuPosition      = 8,
                MenuTitle         = "MenuLogin",
                MenuToolTip       = "TooltipsMenuLogin",
                Children          = new List <GridPage>
                {
                    new GridPage
                    {
                        ShowInMenu   = true,
                        MenuID       = "forgot_pass",
                        Location     = "forgot_pass.html",
                        MenuPosition = 1,
                        MenuTitle    = "MenuForgotPass",
                        MenuToolTip  = "TooltipsMenuForgotPass"
                    }
                }
            });
            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu    = true,
                AdminRequired = true,
                MenuID        = "manager",
                Location      = "admin/manager.html",
                MenuPosition  = 9,
                MenuTitle     = "MenuManager",
                MenuToolTip   = "TooltipsMenuManager",
                Children      = new List <GridPage>
                {
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "news_manager",
                        Location      = "admin/news_manager.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuNewsManager",
                        MenuToolTip   = "TooltipsMenuNewsManager"
                    },
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "user_search",
                        Location      = "user_search.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuUserManager",
                        MenuToolTip   = "TooltipsMenuUserManager"
                    },
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "factory_reset",
                        Location      = "admin/factory_reset.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuFactoryReset",
                        MenuToolTip   = "TooltipsMenuFactoryReset"
                    },
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "page_manager",
                        Location      = "admin/page_manager.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuPageManager",
                        MenuToolTip   = "TooltipsMenuPageManager"
                    },
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "settings_manager",
                        Location      = "admin/settings_manager.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuSettingsManager",
                        MenuToolTip   = "TooltipsMenuSettingsManager"
                    },
                    new GridPage
                    {
                        ShowInMenu    = true,
                        AdminRequired = true,
                        MenuID        = "welcomescreen_manager",
                        Location      = "admin/welcomescreen_manager.html",
                        MenuPosition  = 8,
                        MenuTitle     = "MenuWelcomeScreenManager",
                        MenuToolTip   = "TooltipsMenuWelcomeScreenManager"
                    }
                }
            });


            _rootPage.Children.Add(new GridPage
            {
                MenuID        = "add_news",
                ShowInMenu    = false,
                AdminRequired = true,
                MenuPosition  = 8,
                Location      = "admin/add_news.html"
            });
            _rootPage.Children.Add(new GridPage
            {
                MenuID        = "edit_news",
                ShowInMenu    = false,
                AdminRequired = true,
                MenuPosition  = 8,
                Location      = "admin/edit_news.html"
            });
            _rootPage.Children.Add(new GridPage
            {
                MenuID        = "edit_user",
                ShowInMenu    = false,
                AdminRequired = true,
                MenuPosition  = 8,
                Location      = "admin/edit_user.html"
            });

            _rootPage.Children.Add(new GridPage
            {
                ShowInMenu = false,
                MenuID     = "news_info",
                Location   = "news.html"
            });

            //Things added, but not used

            /*pages.Add(new Dictionary<string, object> { { "MenuItemID", "tweets" },
             *  { "ShowInMenu", false },
             *  { "MenuItemLocation", "tweets.html" },
             *  { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuTweets") },
             *  { "MenuItemTitle", translator.GetTranslatedString("MenuTweets") } });
             *
             * pages.Add(new Dictionary<string, object> { { "MenuItemID", "agent_info" },
             *  { "ShowInMenu", false },
             *  { "MenuItemLocation", "agent_info.html" },
             *  { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuAgentInfo") },
             *  { "MenuItemTitle", translator.GetTranslatedString("MenuAgentInfo") } });
             *
             * pages.Add(new Dictionary<string, object> { { "MenuItemID", "region_info" },
             *  { "ShowInMenu", false },
             *  { "MenuItemLocation", "region_info.html" },
             *  { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuRegionInfo") },
             *  { "MenuItemTitle", translator.GetTranslatedString("MenuRegionInfo") } });
             * pages.Add(new Dictionary<string, object> { { "MenuItemID", "add_news" },
             *  { "ShowInMenu", false },
             *  { "MenuItemLocation", "admin/add_news.html" },
             *  { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuNewsManager") },
             *  { "MenuItemTitle", translator.GetTranslatedString("MenuNewsManager") } });
             * pages.Add(new Dictionary<string, object> { { "MenuItemID", "edit_news" },
             *  { "ShowInMenu", false },
             *  { "MenuItemLocation", "admin/edit_news.html" },
             *  { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuNewsManager") },
             *  { "MenuItemTitle", translator.GetTranslatedString("MenuNewsManager") } });*/
        }
Beispiel #9
0
 public GridPage GetParent(GridPage page)
 {
     return GetParent(page, null);
 }
Beispiel #10
0
 public void RemovePageByLocation(string MenuLocation, GridPage replacePage)
 {
     GridPage foundPage = null;
     foreach (var page in this.Children)
     {
         if (page.Location == MenuLocation)
         {
             foundPage = page;
             break;
         }
         else if (page.Children.Count > 0)
         {
             var p = GetPageByLocation(MenuLocation, page);
             if (p != null)
             {
                 page.Children.Remove(p);
                 return;
             }
         }
     }
     if (foundPage != null)
         this.Children.Remove(foundPage);
 }
Beispiel #11
0
 public void ReplacePage(string MenuItem, GridPage replacePage)
 {
     foreach (var page in this.Children)
     {
         if (page.MenuID == MenuItem)
         {
             page.FromOSD(replacePage.ToOSD());
             return;
         }
         else if (page.Children.Count > 0)
         {
             var p = GetPage(MenuItem, page);
             if (p != null)
             {
                 p.FromOSD(replacePage.ToOSD());
                 return;
             }
         }
     }
 }
Beispiel #12
0
 public GridPage GetPageByLocation(string item, GridPage rootPage)
 {
     if (rootPage == null)
         rootPage = this;
     foreach (var page in rootPage.Children)
     {
         if (page.Location == item)
             return page;
         else if (page.Children.Count > 0)
         {
             var p = GetPageByLocation(item, page);
             if (p != null)
                 return p;
         }
     }
     return null;
 }
        public Dictionary <string, object> Fill(WebInterface webInterface, string filename, OSHttpRequest httpRequest,
                                                OSHttpResponse httpResponse, Dictionary <string, object> requestParameters, ITranslator translator, out string response)
        {
            response = null;
            var vars = new Dictionary <string, object>();

            #region Find pages

            List <Dictionary <string, object> > pages = new List <Dictionary <string, object> >();

            IGenericsConnector generics = Aurora.DataManager.DataManager.RequestPlugin <IGenericsConnector>();
            var      settings           = generics.GetGeneric <GridSettings>(UUID.Zero, "WebSettings", "Settings");
            GridPage rootPage           = generics.GetGeneric <GridPage>(UUID.Zero, "WebPages", "Root");
            rootPage.Children.Sort((a, b) => a.MenuPosition.CompareTo(b.MenuPosition));

            foreach (GridPage page in rootPage.Children)
            {
                if (page.LoggedOutRequired && Authenticator.CheckAuthentication(httpRequest))
                {
                    continue;
                }
                if (page.LoggedInRequired && !Authenticator.CheckAuthentication(httpRequest))
                {
                    continue;
                }
                if (page.AdminRequired && !Authenticator.CheckAdminAuthentication(httpRequest, page.AdminLevelRequired))
                {
                    continue;
                }

                List <Dictionary <string, object> > childPages = new List <Dictionary <string, object> >();
                page.Children.Sort((a, b) => a.MenuPosition.CompareTo(b.MenuPosition));
                foreach (GridPage childPage in page.Children)
                {
                    if (childPage.LoggedOutRequired && Authenticator.CheckAuthentication(httpRequest))
                    {
                        continue;
                    }
                    if (childPage.LoggedInRequired && !Authenticator.CheckAuthentication(httpRequest))
                    {
                        continue;
                    }
                    if (childPage.AdminRequired && !Authenticator.CheckAdminAuthentication(httpRequest, childPage.AdminLevelRequired))
                    {
                        continue;
                    }

                    childPages.Add(new Dictionary <string, object> {
                        { "ChildMenuItemID", childPage.MenuID },
                        { "ChildShowInMenu", childPage.ShowInMenu },
                        { "ChildMenuItemLocation", childPage.Location },
                        { "ChildMenuItemTitleHelp", GetTranslatedString(translator, childPage.MenuToolTip, childPage, true) },
                        { "ChildMenuItemTitle", GetTranslatedString(translator, childPage.MenuTitle, childPage, false) }
                    });

                    //Add one for menu.js
                    pages.Add(new Dictionary <string, object> {
                        { "MenuItemID", childPage.MenuID },
                        { "ShowInMenu", false },
                        { "MenuItemLocation", childPage.Location }
                    });
                }

                pages.Add(new Dictionary <string, object> {
                    { "MenuItemID", page.MenuID },
                    { "ShowInMenu", page.ShowInMenu },
                    { "HasChildren", page.Children.Count > 0 },
                    { "ChildrenMenuItems", childPages },
                    { "MenuItemLocation", page.Location },
                    { "MenuItemTitleHelp", GetTranslatedString(translator, page.MenuToolTip, page, true) },
                    { "MenuItemTitle", GetTranslatedString(translator, page.MenuTitle, page, false) }
                });
            }
            vars.Add("MenuItems", pages);

            #endregion

            // Tooltips Urls
            vars.Add("TooltipsWelcomeScreen", translator.GetTranslatedString("TooltipsWelcomeScreen"));
            vars.Add("TooltipsWorldMap", translator.GetTranslatedString("TooltipsWorldMap"));

            // Style Switcher
            vars.Add("styles1", translator.GetTranslatedString("styles1"));
            vars.Add("styles2", translator.GetTranslatedString("styles2"));
            vars.Add("styles3", translator.GetTranslatedString("styles3"));
            vars.Add("styles4", translator.GetTranslatedString("styles4"));
            vars.Add("styles5", translator.GetTranslatedString("styles5"));

            vars.Add("StyleSwitcherStylesText", translator.GetTranslatedString("StyleSwitcherStylesText"));
            vars.Add("StyleSwitcherLanguagesText", translator.GetTranslatedString("StyleSwitcherLanguagesText"));
            vars.Add("StyleSwitcherChoiceText", translator.GetTranslatedString("StyleSwitcherChoiceText"));

            // Language Switcher
            vars.Add("en", translator.GetTranslatedString("en"));
            vars.Add("fr", translator.GetTranslatedString("fr"));
            vars.Add("de", translator.GetTranslatedString("de"));
            vars.Add("it", translator.GetTranslatedString("it"));
            vars.Add("es", translator.GetTranslatedString("es"));

            // Index Page
            vars.Add("HomeText", translator.GetTranslatedString("HomeText"));
            vars.Add("HomeTextWelcome", translator.GetTranslatedString("HomeTextWelcome"));
            vars.Add("HomeTextTips", translator.GetTranslatedString("HomeTextTips"));
            vars.Add("WelcomeScreen", translator.GetTranslatedString("WelcomeScreen"));
            vars.Add("WelcomeToText", translator.GetTranslatedString("WelcomeToText"));

            if (PagesMigrator.RequiresUpdate() && PagesMigrator.CheckWhetherIgnoredVersionUpdate(settings.LastPagesVersionUpdateIgnored))
            {
                vars.Add("PagesUpdateRequired", translator.GetTranslatedString("Pages") + " " + translator.GetTranslatedString("DefaultsUpdated"));
            }
            else
            {
                vars.Add("PagesUpdateRequired", "");
            }
            if (SettingsMigrator.RequiresUpdate() && SettingsMigrator.CheckWhetherIgnoredVersionUpdate(settings.LastSettingsVersionUpdateIgnored))
            {
                vars.Add("SettingsUpdateRequired", translator.GetTranslatedString("Settings") + " " + translator.GetTranslatedString("DefaultsUpdated"));
            }
            else
            {
                vars.Add("SettingsUpdateRequired", "");
            }

            vars.Add("ShowLanguageTranslatorBar", !settings.HideLanguageTranslatorBar);
            vars.Add("ShowStyleBar", !settings.HideStyleBar);

            vars.Add("Maintenance", false);
            vars.Add("NoMaintenance", true);
            return(vars);
        }
        public Dictionary <string, object> Fill(WebInterface webInterface, string filename, OSHttpRequest httpRequest,
                                                OSHttpResponse httpResponse, Dictionary <string, object> requestParameters, ITranslator translator)
        {
            var vars = new Dictionary <string, object>();

            #region Find pages

            List <Dictionary <string, object> > pages = new List <Dictionary <string, object> >();

            IGenericsConnector generics = Aurora.DataManager.DataManager.RequestPlugin <IGenericsConnector>();
            GridPage           rootPage = generics.GetGeneric <GridPage>(UUID.Zero, "WebPages", "Root");
            rootPage.Children.Sort((a, b) => a.MenuPosition.CompareTo(b.MenuPosition));
            List <GridPage> allPages = new List <GridPage>(rootPage.Children);
            foreach (GridPage page in rootPage.Children)
            {
                allPages.AddRange(page.Children);
            }
            allPages.RemoveAll((a) => !a.ShowInMenu);

            string MenuItem = requestParameters.ContainsKey("MenuItem") ?
                              requestParameters["MenuItem"].ToString() : "";
            foreach (GridPage page in allPages)
            {
                pages.Add(new Dictionary <string, object> {
                    { "Value", page.Location },
                    { "Name", page.Location }, { "PageSelected", MenuItem == page.Location ?
                                                 "selected=\"selected\"" : "" }
                });
            }
            vars.Add("PagesList", pages);

            #endregion

            bool   changed = false;
            string error   = translator.GetTranslatedString("ChangesSavedSuccessfully");
            if (requestParameters.ContainsKey("DeleteItem"))
            {
                rootPage.RemovePageByLocation(MenuItem, null);
                generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                webInterface.Redirect(httpResponse, "index.html?page=page_manager", filename);
            }
            if (requestParameters.ContainsKey("AddItem"))
            {
                //generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                vars.Add("EdittingPageID", -2);
                vars.Add("DisplayEdit", true);
            }
            if (requestParameters.ContainsKey("SelectItem"))
            {
                GridPage page = rootPage.GetPageByLocation(MenuItem);

                vars.Add("PageTitle", page.MenuTitle);
                vars.Add("PageTooltip", page.MenuToolTip);
                vars.Add("PageID", page.MenuID);
                vars.Add("PagePosition", page.MenuPosition);
                vars.Add("PageLocation", page.Location);
                vars.Add("EdittingPageID", page.MenuID);
                vars.Add("RequiresLoginYes", page.LoggedInRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLoginNo", !page.LoggedInRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLogoutYes", page.LoggedOutRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresLogoutNo", !page.LoggedOutRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminYes", page.AdminRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminNo", !page.AdminRequired ? "selected=\"selected\"" : "");
                vars.Add("RequiresAdminLevel", page.AdminLevelRequired);
                vars.Add("DisplayInMenuYes", page.ShowInMenu ? "selected=\"selected\"" : "");
                vars.Add("DisplayInMenuNo", !page.ShowInMenu ? "selected=\"selected\"" : "");
                vars.Add("DisplayEdit", true);

                pages = new List <Dictionary <string, object> > {
                    new Dictionary <string, object> {
                        { "Value", "Top Level" },
                        { "Name", translator.GetTranslatedString("TopLevel") }, { "PageSelected", "" }
                    }
                };
                GridPage parent = rootPage.GetParent(page);
                foreach (GridPage p in allPages)
                {
                    pages.Add(new Dictionary <string, object> {
                        { "Value", p.Location },
                        { "Name", p.Location }, { "PageSelected", parent.Location == p.Location ?
                                                  "selected=\"selected\"" : "" }
                    });
                }
                vars.Add("ParentPagesList", pages);
            }
            else
            {
                vars.Add("PageTitle", "");
                vars.Add("PageTooltip", "");
                vars.Add("PageID", "");
                vars.Add("PagePosition", "");
                vars.Add("PageLocation", "");
                if (!vars.ContainsKey("EdittingPageID"))
                {
                    vars.Add("EdittingPageID", "");
                }
                vars.Add("RequiresLoginYes", "");
                vars.Add("RequiresLoginNo", "");
                vars.Add("RequiresLogoutYes", "");
                vars.Add("RequiresLogoutNo", "");
                vars.Add("RequiresAdminYes", "");
                vars.Add("RequiresAdminNo", "");
                vars.Add("RequiresAdminLevel", "1");

                pages = new List <Dictionary <string, object> > {
                    new Dictionary <string, object> {
                        { "Value", "Top Level" },
                        { "Name", translator.GetTranslatedString("TopLevel") }, { "PageSelected", "" }
                    }
                };
                foreach (GridPage p in allPages)
                {
                    pages.Add(new Dictionary <string, object> {
                        { "Value", p.Location },
                        { "Name", p.Location }, { "PageSelected", "" }
                    });
                }
                vars.Add("ParentPagesList", pages);
            }
            if (requestParameters.ContainsKey("SaveMenuItem"))
            {
                changed = true;
                string   edittingPageID     = requestParameters["EdittingPageID"].ToString();
                string   PageTitle          = requestParameters["PageTitle"].ToString();
                string   PageTooltip        = requestParameters["PageTooltip"].ToString();
                string   PagePosition       = requestParameters["PagePosition"].ToString();
                string   PageID             = requestParameters["PageID"].ToString();
                string   PageLocation       = requestParameters["PageLocation"].ToString();
                bool     RequiresLogin      = bool.Parse(requestParameters["RequiresLogin"].ToString());
                bool     RequiresLogout     = bool.Parse(requestParameters["RequiresLogout"].ToString());
                bool     RequiresAdmin      = bool.Parse(requestParameters["RequiresAdmin"].ToString());
                bool     DisplayInMenu      = bool.Parse(requestParameters["DisplayInMenu"].ToString());
                string   ParentMenuItem     = requestParameters["ParentMenuItem"].ToString();
                int      RequiredAdminLevel = int.Parse(requestParameters["RequiredAdminLevel"].ToString());
                GridPage page = rootPage.GetPage(edittingPageID);
                bool     add  = page == null;
                if (page == null)
                {
                    page = new GridPage {
                        MenuID = PageLocation, ShowInMenu = true
                    }
                }
                ;

                page.Location           = PageLocation;
                page.MenuID             = PageID;
                page.MenuPosition       = int.Parse(PagePosition);
                page.MenuTitle          = PageTitle;
                page.MenuToolTip        = PageTooltip;
                page.LoggedInRequired   = RequiresLogin;
                page.LoggedOutRequired  = RequiresLogout;
                page.AdminRequired      = RequiresAdmin;
                page.AdminLevelRequired = RequiredAdminLevel;
                page.ShowInMenu         = DisplayInMenu;

                GridPage parent = rootPage.GetPageByLocation(ParentMenuItem);

                if (parent != page)
                {
                    if (!add)
                    {
                        rootPage.RemovePage(edittingPageID, page);
                    }

                    if (parent != null)
                    {
                        parent.Children.Add(page);
                    }
                    else //Top Level
                    {
                        rootPage.Children.Add(page);
                    }
                }
                else
                {
                    error = translator.GetTranslatedString("CannotSetParentToChild");
                }

                generics.AddGeneric(UUID.Zero, "WebPages", "Root", rootPage.ToOSD());
                webInterface.Redirect(httpResponse, "index.html?page=page_manager", filename);
            }

            vars.Add("PageTitleText", translator.GetTranslatedString("PageTitleText"));
            vars.Add("PageTooltipText", translator.GetTranslatedString("PageTooltipText"));
            vars.Add("PagePositionText", translator.GetTranslatedString("PagePositionText"));
            vars.Add("PageIDText", translator.GetTranslatedString("PageIDText"));
            vars.Add("PageLocationText", translator.GetTranslatedString("PageLocationText"));
            vars.Add("SaveMenuItemChanges", translator.GetTranslatedString("SaveMenuItemChanges"));
            vars.Add("RequiresLoginText", translator.GetTranslatedString("RequiresLoginText"));
            vars.Add("RequiresLogoutText", translator.GetTranslatedString("RequiresLogoutText"));
            vars.Add("RequiresAdminText", translator.GetTranslatedString("RequiresAdminText"));
            vars.Add("RequiresAdminLevelText", translator.GetTranslatedString("RequiresAdminLevelText"));
            vars.Add("DisplayInMenu", translator.GetTranslatedString("DisplayInMenu"));
            vars.Add("SelectItem", translator.GetTranslatedString("SelectItem"));
            vars.Add("DeleteItem", translator.GetTranslatedString("DeleteItem"));
            vars.Add("AddItem", translator.GetTranslatedString("AddItem"));
            vars.Add("PageManager", translator.GetTranslatedString("PageManager"));
            vars.Add("ParentText", translator.GetTranslatedString("ParentText"));
            vars.Add("Yes", translator.GetTranslatedString("Yes"));
            vars.Add("No", translator.GetTranslatedString("No"));

            vars.Add("ChangesSavedSuccessfully", changed ? error : "");

            return(vars);
        }
Beispiel #15
0
 public GridPage GetParent(GridPage item, GridPage toCheck)
 {
     if (toCheck == null)
         toCheck = this;
     foreach (var p in toCheck.Children)
     {
         if (item.Location == p.Location)
             return toCheck;
         else if (p.Children.Count > 0)
         {
             var pp = GetParent(item, p);
             if (pp != null)
                 return pp;
         }
     }
     return null;
 }
Beispiel #16
0
 private string GetTranslatedString(ITranslator translator, string name, GridPage page, bool isTooltip)
 {
     string retVal = translator.GetTranslatedString(name);
     if (retVal == "UNKNOWN CHARACTER")
         return isTooltip ? page.MenuToolTip : page.MenuTitle;
     return retVal;
 }
        private static void InitializeDefaults()
        {
            _rootPage = new GridPage();

            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           MenuID = "home",
                                           Location = "home.html",
                                           MenuPosition = 0,
                                           MenuTitle = "MenuHome",
                                           MenuToolTip = "TooltipsMenuHome"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           MenuID = "news",
                                           Location = "news_list.html",
                                           MenuPosition = 1,
                                           MenuTitle = "MenuNews",
                                           MenuToolTip = "TooltipsMenuNews"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           MenuID = "world",
                                           Location = "world.html",
                                           MenuPosition = 2,
                                           MenuTitle = "MenuWorld",
                                           MenuToolTip = "TooltipsMenuWorld",
                                           Children = new List<GridPage>
                                                          {
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "world",
                                                                      Location = "world.html",
                                                                      MenuPosition = 2,
                                                                      MenuTitle = "MenuWorldMap",
                                                                      MenuToolTip = "TooltipsMenuWorldMap"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "region_search",
                                                                      Location = "region_search.html",
                                                                      MenuPosition = 2,
                                                                      MenuTitle = "MenuRegionSearch",
                                                                      MenuToolTip = "TooltipsMenuRegionSearch"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "region_list",
                                                                      Location = "region_list.html",
                                                                      MenuPosition = 2,
                                                                      MenuTitle = "MenuRegion",
                                                                      MenuToolTip = "TooltipsMenuRegion"
                                                                  }
                                                          }
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           MenuID = "users",
                                           Location = "users.html",
                                           MenuPosition = 3,
                                           MenuTitle = "MenuUser",
                                           MenuToolTip = "TooltipsMenuUser",
                                           Children = new List<GridPage>
                                                          {
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      LoggedInRequired = true,
                                                                      MenuID = "change_user_information",
                                                                      Location = "change_user_information.html",
                                                                      MenuPosition = 1,
                                                                      MenuTitle = "MenuChangeUserInformation",
                                                                      MenuToolTip = "TooltipsMenuChangeUserInformation"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "online_users",
                                                                      Location = "online_users.html",
                                                                      MenuPosition = 2,
                                                                      MenuTitle = "MenuOnlineUsers",
                                                                      MenuToolTip = "TooltipsMenuOnlineUsers"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "user_search",
                                                                      Location = "user_search.html",
                                                                      MenuPosition = 3,
                                                                      MenuTitle = "MenuUserSearch",
                                                                      MenuToolTip = "TooltipsMenuUserSearch"
                                                                  }
                                                          }
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           MenuID = "help",
                                           Location = "help.html",
                                           MenuPosition = 5,
                                           MenuTitle = "MenuHelp",
                                           MenuToolTip = "TooltipsMenuHelp",
                                           Children = new List<GridPage>
                                                          {
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "help",
                                                                      Location = "help.html",
                                                                      MenuPosition = 1,
                                                                      MenuTitle = "MenuViewerHelp",
                                                                      MenuToolTip = "TooltipsMenuViewerHelp"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "chat",
                                                                      Location = "chat.html",
                                                                      MenuPosition = 2,
                                                                      MenuTitle = "MenuChat",
                                                                      MenuToolTip = "TooltipsMenuChat"
                                                                  }
                                                          }
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           LoggedInRequired = true,
                                           MenuID = "logout",
                                           Location = "logout.html",
                                           MenuPosition = 7,
                                           MenuTitle = "MenuLogout",
                                           MenuToolTip = "TooltipsMenuLogout"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           LoggedOutRequired = true,
                                           MenuID = "register",
                                           Location = "register.html",
                                           MenuPosition = 7,
                                           MenuTitle = "MenuRegister",
                                           MenuToolTip = "TooltipsMenuRegister"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           LoggedOutRequired = true,
                                           MenuID = "login",
                                           Location = "login.html",
                                           MenuPosition = 8,
                                           MenuTitle = "MenuLogin",
                                           MenuToolTip = "TooltipsMenuLogin",
                                           Children = new List<GridPage>
                                                          {
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      MenuID = "forgot_pass",
                                                                      Location = "forgot_pass.html",
                                                                      MenuPosition = 1,
                                                                      MenuTitle = "MenuForgotPass",
                                                                      MenuToolTip = "TooltipsMenuForgotPass"
                                                                  }
                                                          }
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = true,
                                           AdminRequired = true,
                                           MenuID = "manager",
                                           Location = "admin/manager.html",
                                           MenuPosition = 9,
                                           MenuTitle = "MenuManager",
                                           MenuToolTip = "TooltipsMenuManager",
                                           Children = new List<GridPage>
                                                          {
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "news_manager",
                                                                      Location = "admin/news_manager.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuNewsManager",
                                                                      MenuToolTip = "TooltipsMenuNewsManager"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "user_search",
                                                                      Location = "user_search.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuUserManager",
                                                                      MenuToolTip = "TooltipsMenuUserManager"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "factory_reset",
                                                                      Location = "admin/factory_reset.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuFactoryReset",
                                                                      MenuToolTip = "TooltipsMenuFactoryReset"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "page_manager",
                                                                      Location = "admin/page_manager.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuPageManager",
                                                                      MenuToolTip = "TooltipsMenuPageManager"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "settings_manager",
                                                                      Location = "admin/settings_manager.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuSettingsManager",
                                                                      MenuToolTip = "TooltipsMenuSettingsManager"
                                                                  },
                                                              new GridPage
                                                                  {
                                                                      ShowInMenu = true,
                                                                      AdminRequired = true,
                                                                      MenuID = "welcomescreen_manager",
                                                                      Location = "admin/welcomescreen_manager.html",
                                                                      MenuPosition = 8,
                                                                      MenuTitle = "MenuWelcomeScreenManager",
                                                                      MenuToolTip = "TooltipsMenuWelcomeScreenManager"
                                                                  }
                                                          }
                                       });

            _rootPage.Children.Add(new GridPage
                                       {
                                           MenuID = "add_news",
                                           ShowInMenu = false,
                                           AdminRequired = true,
                                           MenuPosition = 8,
                                           Location = "admin/add_news.html"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           MenuID = "edit_news",
                                           ShowInMenu = false,
                                           AdminRequired = true,
                                           MenuPosition = 8,
                                           Location = "admin/edit_news.html"
                                       });
            _rootPage.Children.Add(new GridPage
                                       {
                                           MenuID = "edit_user",
                                           ShowInMenu = false,
                                           AdminRequired = true,
                                           MenuPosition = 8,
                                           Location = "admin/edit_user.html"
                                       });

            _rootPage.Children.Add(new GridPage
                                       {
                                           ShowInMenu = false,
                                           MenuID = "news_info",
                                           Location = "news.html"
                                       });

            //Things added, but not used
            /*pages.Add(new Dictionary<string, object> { { "MenuItemID", "tweets" },
                { "ShowInMenu", false },
                { "MenuItemLocation", "tweets.html" },
                { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuTweets") },
                { "MenuItemTitle", translator.GetTranslatedString("MenuTweets") } });

            pages.Add(new Dictionary<string, object> { { "MenuItemID", "agent_info" },
                { "ShowInMenu", false },
                { "MenuItemLocation", "agent_info.html" },
                { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuAgentInfo") },
                { "MenuItemTitle", translator.GetTranslatedString("MenuAgentInfo") } });

            pages.Add(new Dictionary<string, object> { { "MenuItemID", "region_info" },
                { "ShowInMenu", false },
                { "MenuItemLocation", "region_info.html" },
                { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuRegionInfo") },
                { "MenuItemTitle", translator.GetTranslatedString("MenuRegionInfo") } });
            pages.Add(new Dictionary<string, object> { { "MenuItemID", "add_news" },
                { "ShowInMenu", false },
                { "MenuItemLocation", "admin/add_news.html" },
                { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuNewsManager") },
                { "MenuItemTitle", translator.GetTranslatedString("MenuNewsManager") } });
            pages.Add(new Dictionary<string, object> { { "MenuItemID", "edit_news" },
                { "ShowInMenu", false },
                { "MenuItemLocation", "admin/edit_news.html" },
                { "MenuItemTitleHelp", translator.GetTranslatedString("TooltipsMenuNewsManager") },
                { "MenuItemTitle", translator.GetTranslatedString("MenuNewsManager") } });*/
        }