コード例 #1
0
        /// <summary> Constructor for a new instance of the Home_AdminViewer class </summary>
        /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param>
        public Home_AdminViewer(RequestCache RequestSpecificValues) : base(RequestSpecificValues)
        {
            RequestSpecificValues.Tracer.Add_Trace("Home_AdminViewer.Constructor", String.Empty);

            if ((RequestSpecificValues.Current_User == null) || ((!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_System_Admin)))
            {
                RequestSpecificValues.Current_Mode.Mode          = Display_Mode_Enum.My_Sobek;
                RequestSpecificValues.Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Home;
                UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode);
            }

            menu_preference = "brief";
            if (RequestSpecificValues.Current_User != null)
            {
                menu_preference = RequestSpecificValues.Current_User.Get_Setting("Home_AdminViewer:View Preference", "brief");
            }

            // Was this a post-back, which would only be due to a preference change
            if (RequestSpecificValues.Current_Mode.isPostBack)
            {
                // Get the new preference
                string new_preference = HttpContext.Current.Request.Form["admin_menu_preference"];
                if ((!String.IsNullOrEmpty(new_preference)) && (new_preference != menu_preference))
                {
                    // Save the new preference
                    menu_preference = new_preference;
                    if (RequestSpecificValues.Current_User != null)
                    {
                        RequestSpecificValues.Current_User.Add_Setting("Home_AdminViewer:View Preference", menu_preference);
                        Engine_Database.Set_User_Setting(RequestSpecificValues.Current_User.UserID, "Home_AdminViewer:View Preference", menu_preference);
                    }
                }
            }

            // Add all the known categories
            categories_dictionary["common"]      = new List <string>();
            categories_dictionary["appearance"]  = new List <string>();
            categories_dictionary["collections"] = new List <string>();
            categories_dictionary["items"]       = new List <string>();
            categories_dictionary["settings"]    = new List <string>();
            categories_dictionary["permissions"] = new List <string>();
            categories_dictionary["web"]         = new List <string>();

            // Build the icons lists

            // Add collection wizard
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Add_Collection_Wizard;
            string addColUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string addColIcon = "  <a href=\"" + addColUrl + "\" title=\"" + ADD_COLLECTION_WIZARD_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Wizard_Img + "\" /><span class=\"sbkHav_ButtonText\">Add Collection<br />Wizard</span></div></a>";

            icons["Add Collection Wizard"] = addColIcon;
            categories_dictionary["common"].Add(addColIcon);

            // Edit item current web skin
            RequestSpecificValues.Current_Mode.Admin_Type       = Admin_Type_Enum.Skins_Single;
            RequestSpecificValues.Current_Mode.My_Sobek_SubMode = RequestSpecificValues.Current_Mode.Skin;
            string editCurrSkinUrl = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);

            RequestSpecificValues.Current_Mode.My_Sobek_SubMode = String.Empty;
            string editCurrSkinIcon = "  <a href=\"" + editCurrSkinUrl + "\" title=\"" + EDIT_CURR_SKIN_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Skins_Img + "\" /><span class=\"sbkHav_ButtonText\">Edit Current<br />Web Skin</span></div></a>";

            icons["Edit Current Web Skin"] = editCurrSkinIcon;
            categories_dictionary["common"].Add(editCurrSkinIcon);

            string usersIcon = String.Empty;

            if ((RequestSpecificValues.Current_User != null) && (RequestSpecificValues.Current_User.Is_System_Admin))
            {
                // Edit users and groups
                RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Users;
                string usersUrl = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
                usersIcon = "  <a href=\"" + usersUrl + "\" title=\"" + USERS_AND_GROUPS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Users_Img + "\" /><span class=\"sbkHav_ButtonText\">Users and Groups</span></div></a>";
                icons["Users and Groups"] = usersIcon;
                categories_dictionary["common"].Add(usersIcon);
            }


            // Edit item current web skin (REPEAT FROM COMMON TASKS CATEGORY)
            categories_dictionary["appearance"].Add(editCurrSkinIcon);

            // Edit URL Portals
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.URL_Portals;
            string urlPortalsUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string urlPortalsIcon = "  <a href=\"" + urlPortalsUrl + "\" title=\"" + URL_PORTALS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Portals_Img + "\" /><span class=\"sbkHav_ButtonText\">URL Portals</span></div></a>";

            icons["URL Portals"] = urlPortalsIcon;
            categories_dictionary["appearance"].Add(urlPortalsIcon);

            // Edit web skins
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Skins_Mgmt;
            string skinsUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string skinsIcon = "  <a href=\"" + skinsUrl + "\" title=\"" + WEB_SKINS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Skins_Img + "\" /><span class=\"sbkHav_ButtonText\">Web Skins</span></div></a>";

            icons["Web Skins"] = skinsIcon;
            categories_dictionary["appearance"].Add(skinsIcon);

            // Add collection wizard (REPEAT FROM COMMON TASKS CATEGORY)
            categories_dictionary["collections"].Add(addColIcon);

            // Edit aggregation aliases
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Aliases;
            string aliasesUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string aliasesIcon = "  <a href=\"" + aliasesUrl + "\" title=\"" + ALIASES_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Aliases_Img + "\" /><span class=\"sbkHav_ButtonText\">Aggregation<br />Aliases</span></div></a>";

            icons["Aggregation Aliases"] = aliasesIcon;
            categories_dictionary["collections"].Add(aliasesIcon);

            // Edit item aggregations
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Aggregations_Mgmt;
            string aggrMgmtUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string aggrMgmtIcon = "  <a href=\"" + aggrMgmtUrl + "\" title=\"" + AGGR_MGMT_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Aggregations_Img + "\" /><span class=\"sbkHav_ButtonText\">Aggregation<br />Management</span></div></a>";

            icons["Aggregation Management"] = aggrMgmtIcon;
            categories_dictionary["collections"].Add(aggrMgmtIcon);

            // Edit Thematic Headings
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Thematic_Headings;
            string thematicHeadingUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string thematicHeadingIcon = "  <a href=\"" + thematicHeadingUrl + "\" title=\"" + THEMATIC_HEADING_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Thematic_Heading_Img + "\" /><span class=\"sbkHav_ButtonText\">Thematic Headings</span></div></a>";

            icons["Thematic Headings"] = thematicHeadingIcon;
            categories_dictionary["collections"].Add(thematicHeadingIcon);


            // Edit Default_Metadata
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Default_Metadata;
            string defaultMetadataUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string defaultMetadataIcon = "  <a href=\"" + defaultMetadataUrl + "\" title=\"" + DEFAULT_METADATA_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Pmets_Img + "\" /><span class=\"sbkHav_ButtonText\">Default Metadata</span></div></a>";

            icons["Default Metadata"] = defaultMetadataIcon;
            categories_dictionary["items"].Add(defaultMetadataIcon);

            // Edit wordmarks
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Wordmarks;
            string wordmarksUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string wordmarksIcon = "  <a href=\"" + wordmarksUrl + "\" title=\"" + WORDMARKS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Wordmarks_Img + "\" /><span class=\"sbkHav_ButtonText\">Wordmarks / Icons</span></div></a>";

            icons["Wordmarks"] = wordmarksIcon;
            categories_dictionary["items"].Add(wordmarksIcon);

            // View and set SobekCM Builder Status
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Builder_Status;
            string builderUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string builderIcon = "  <a href=\"" + builderUrl + "\" title=\"" + BUILDER_STATUS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Gears_Img + "\" /><span class=\"sbkHav_ButtonText\">Builder Status</span></div></a>";

            icons["Builder Status"] = builderIcon;
            categories_dictionary["items"].Add(builderIcon);

            // Edit IP Restrictions
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.IP_Restrictions;
            string restrictionsUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string restrictionsIcon = "  <a href=\"" + restrictionsUrl + "\" title=\"" + RESTRICTIONS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Firewall_Img + "\" /><span class=\"sbkHav_ButtonText\">IP Restriction<br />Ranges</span></div></a>";

            icons["IP Restriction Ranges"] = restrictionsIcon;
            categories_dictionary["settings"].Add(restrictionsIcon);

            // Edit Settings
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Settings;
            string settingsUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string settingsIcon = "  <a href=\"" + settingsUrl + "\" title=\"" + SETTINGS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Settings_Img + "\" /><span class=\"sbkHav_ButtonText\">System-Wide<br />Settings</span></div></a>";

            icons["System-Wide Settings"] = settingsIcon;
            categories_dictionary["settings"].Add(settingsIcon);

            // Reset cache
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Reset;
            string resetUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string resetIcon = "  <a href=\"" + resetUrl + "\" title=\"" + RESET_CACHE_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Refresh_Img + "\" /><span class=\"sbkHav_ButtonText\">Reset Cache</span></div></a>";

            icons["Reset Cache"] = resetIcon;
            categories_dictionary["settings"].Add(resetIcon);

            // View permissions report
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.User_Permissions_Reports;
            string permissionsUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string permissionsIcon = "  <a href=\"" + permissionsUrl + "\" title=\"" + PERMISSIONS_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.User_Permission_Img + "\" /><span class=\"sbkHav_ButtonText\">User Permissions<br />Reports</span></div></a>";

            icons["User Permissions Reports"] = permissionsIcon;
            categories_dictionary["permissions"].Add(permissionsIcon);

            // Web content pages management
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.WebContent_Mgmt;
            string webContentUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string webContentIcon = "  <a href=\"" + webContentUrl + "\" title=\"" + WEB_MGMT_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.WebContent_Img + "\" /><span class=\"sbkHav_ButtonText\">Manage Web<br />Content Pages</span></div></a>";

            icons["Web Content Pages"] = webContentIcon;
            categories_dictionary["web"].Add(webContentIcon);

            // Web content pages history
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.WebContent_History;
            string webHistoryUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string webHistoryIcon = "  <a href=\"" + webHistoryUrl + "\" title=\"" + WEB_HISTORY_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.WebContent_History_Img + "\" /><span class=\"sbkHav_ButtonText\">Web Content<br />Recent Changes</span></div></a>";

            icons["Web Content Recent Changes"] = webHistoryIcon;
            categories_dictionary["web"].Add(webHistoryIcon);

            // Web content pages usage statistics
            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.WebContent_Usage;
            string webUsageUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
            string webUsageIcon = "  <a href=\"" + webUsageUrl + "\" title=\"" + WEB_USAGE_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.WebContent_Usage_Img + "\" /><span class=\"sbkHav_ButtonText\">Web Content<br />Usage Reports</span></div></a>";

            icons["Web Content Usage Statistics"] = webUsageIcon;
            categories_dictionary["web"].Add(webUsageIcon);

            // Check to see if the TEI extension should be added here
            // Ensure the plug-in list exists and contains the TEI plug-in
            if ((UI_ApplicationCache_Gateway.Configuration.Extensions != null) &&
                (UI_ApplicationCache_Gateway.Configuration.Extensions.Get_Extension("TEI") != null) &&
                (UI_ApplicationCache_Gateway.Configuration.Extensions.Get_Extension("TEI").Enabled))
            {
                categories_dictionary["extensions"] = new List <string>();

                RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.TEI;
                string teiUrl  = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode);
                string teiIcon = "  <a href=\"" + teiUrl + "\" title=\"" + TEI_BRIEF + "\"><div class=\"sbkHav_ButtonDiv\"><img src=\"" + Static_Resources_Gateway.Settings_Img + "\" /><span class=\"sbkHav_ButtonText\">Manage TEI plug-in</span></div></a>";
                icons["Manage TEI plug-in"] = teiIcon;
                categories_dictionary["extensions"].Add(teiIcon);
            }

            // Edit users (REPEAT FROM COMMON TASKS CATEGORY)
            if ((RequestSpecificValues.Current_User != null) && (RequestSpecificValues.Current_User.Is_System_Admin))
            {
                // Edit users
                categories_dictionary["permissions"].Add(usersIcon);
            }

            RequestSpecificValues.Current_Mode.Admin_Type = Admin_Type_Enum.Home;
        }