/// <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; }