/// <summary> Constructor for a new instance of the Advanced_Search_YearRange_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Advanced_Search_YearRange_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Compute the redirect stem to use string fields = RequestSpecificValues.Current_Mode.Search_Fields; string searchCollections = RequestSpecificValues.Current_Mode.SubAggregation; Display_Mode_Enum lastMode = RequestSpecificValues.Current_Mode.Mode; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; RequestSpecificValues.Current_Mode.SubAggregation = String.Empty; string searchString = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string redirectStem = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled string browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } RequestSpecificValues.Current_Mode.Search_String = searchString; RequestSpecificValues.Current_Mode.Search_Fields = fields; RequestSpecificValues.Current_Mode.SubAggregation = searchCollections; RequestSpecificValues.Current_Mode.Mode = lastMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; Search_Script_Action = "advanced_search_years_sobekcm('" + redirectStem + "','" + browse_url + "')"; }
/// <summary> Constructor for a new instance of the Private_Items_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Private_Items_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Ensure user has some permissions on this aggregation, or is a power/internal user or admin before showing // them this list if ((RequestSpecificValues.Current_User == null) || (!RequestSpecificValues.Current_User.LoggedOn)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } // Does this user have permissions on this itgem if (RequestSpecificValues.Current_User.PermissionedAggregations != null) { // Do they have some special permissions against this aggregation? bool special_permissions_found = false; foreach (User_Permissioned_Aggregation permissions in RequestSpecificValues.Current_User.PermissionedAggregations) { if (String.Compare(permissions.Code, ViewBag.Hierarchy_Object.Code, StringComparison.OrdinalIgnoreCase) == 0) { if ((permissions.CanChangeVisibility) || (permissions.CanDelete) || (permissions.CanEditBehaviors) || (permissions.CanEditItems) || (permissions.CanEditMetadata) || (permissions.CanPerformQc) || (permissions.CanUploadFiles) || (permissions.IsAdmin) || (permissions.IsCurator)) { special_permissions_found = true; break; } } } // Are they a portal/system admin or power user? if ((!special_permissions_found) && ((RequestSpecificValues.Current_User.Is_Internal_User) || (RequestSpecificValues.Current_User.Is_Portal_Admin) || (RequestSpecificValues.Current_User.Is_System_Admin))) special_permissions_found = true; // If no permissions, forward them back if (!special_permissions_found) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } } else { // Are they a portal/system admin or power user? if ((!RequestSpecificValues.Current_User.Is_Internal_User) && (!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_System_Admin)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } } // Get the list of private items int current_sort = RequestSpecificValues.Current_Mode.Sort.HasValue ? RequestSpecificValues.Current_Mode.Sort.Value : 0; int current_page = RequestSpecificValues.Current_Mode.Page.HasValue ? RequestSpecificValues.Current_Mode.Page.Value : 1; privateItems = Engine_Database.Tracking_Get_Aggregation_Private_Items(ViewBag.Hierarchy_Object.Code, (int)RESULTS_PER_PAGE, current_page, current_sort, RequestSpecificValues.Tracer); }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="ViewType"> Aggregation view type </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Item_Aggregation_Views_Searches_Enum ViewType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (ViewType) { case Item_Aggregation_Views_Searches_Enum.Advanced_Search: return new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType: return new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange: return new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Basic_Search: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null ) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag); } return new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Basic_Search_YearRange: return new Basic_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Basic_Search_FullTextOption: return new Basic_Text_Search_Combined_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Basic_Search_MimeType: Item_Aggregation_Front_Banner frontBannerImage2 = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage2 != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return new Rotating_Highlight_MimeType_AggregationViewer(RequestSpecificValues, ViewBag); } return new Basic_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.FullText_Search: return new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.No_Home_Search: return new No_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Newspaper_Search: return new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Map_Search: return new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.Map_Search_Beta: return new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag); case Item_Aggregation_Views_Searches_Enum.DLOC_FullText_Search: return new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag); default: return null; } }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Metadata_Browse_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // If there is not info browse mode listed, use the default if (String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) { string defaultBrowseBy = ViewBag.Hierarchy_Object.Default_BrowseBy ?? String.Empty; RequestSpecificValues.Current_Mode.Info_Browse_Mode = defaultBrowseBy; // Still length of zero? if (String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) { // Just look for the first browse by foreach (Item_Aggregation_Child_Page browse in ViewBag.Hierarchy_Object.Child_Pages) { if (browse.Browse_Type == Item_Aggregation_Child_Visibility_Enum.Metadata_Browse_By) { RequestSpecificValues.Current_Mode.Info_Browse_Mode = browse.Code; break; } } } } if ((String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) && (ViewBag.Hierarchy_Object.Has_Browse_By_Pages)) { RequestSpecificValues.Current_Mode.Info_Browse_Mode = ViewBag.Hierarchy_Object.Child_Page_By_Code(RequestSpecificValues.Current_Mode.Info_Browse_Mode).Code; } // Get this browse browseObject = ViewBag.Hierarchy_Object.Child_Page_By_Code(RequestSpecificValues.Current_Mode.Info_Browse_Mode); // Was this a metadata browseby, or just a static html? if ((browseObject == null) || (browseObject.Source_Data_Type != Item_Aggregation_Child_Source_Data_Enum.Static_HTML)) { // Determine the correct metadata code string metadata_code = RequestSpecificValues.Current_Mode.Info_Browse_Mode.Trim().Replace("_", " "); RequestSpecificValues.Current_Mode.Info_Browse_Mode = metadata_code; // Only get values if there was a metadata code if (metadata_code.Length > 0) { // Check the cache for this value List <string> cacheInstance = CachedDataManager.Retrieve_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, RequestSpecificValues.Tracer); if (cacheInstance != null) { results = cacheInstance; } else { results = Engine_Database.Get_Item_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, RequestSpecificValues.Tracer); CachedDataManager.Store_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, results, RequestSpecificValues.Tracer); } } } }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Metadata_Browse_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // If there is not info browse mode listed, use the default if ( String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) { string defaultBrowseBy = ViewBag.Hierarchy_Object.Default_BrowseBy ?? String.Empty; RequestSpecificValues.Current_Mode.Info_Browse_Mode = defaultBrowseBy; // Still length of zero? if (String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) { // Just look for the first browse by foreach (Item_Aggregation_Child_Page browse in ViewBag.Hierarchy_Object.Child_Pages) { if (browse.Browse_Type == Item_Aggregation_Child_Visibility_Enum.Metadata_Browse_By) { RequestSpecificValues.Current_Mode.Info_Browse_Mode = browse.Code; break; } } } } if ((String.IsNullOrEmpty(RequestSpecificValues.Current_Mode.Info_Browse_Mode)) && (ViewBag.Hierarchy_Object.Has_Browse_By_Pages)) RequestSpecificValues.Current_Mode.Info_Browse_Mode = ViewBag.Hierarchy_Object.Child_Page_By_Code(RequestSpecificValues.Current_Mode.Info_Browse_Mode).Code; // Get this browse browseObject = ViewBag.Hierarchy_Object.Child_Page_By_Code(RequestSpecificValues.Current_Mode.Info_Browse_Mode); // Was this a metadata browseby, or just a static html? if (( browseObject == null ) || ( browseObject.Source_Data_Type != Item_Aggregation_Child_Source_Data_Enum.Static_HTML)) { // Determine the correct metadata code string metadata_code = RequestSpecificValues.Current_Mode.Info_Browse_Mode.Trim().Replace("_", " "); RequestSpecificValues.Current_Mode.Info_Browse_Mode = metadata_code; // Only get values if there was a metadata code if (metadata_code.Length > 0) { // Check the cache for this value List<string> cacheInstance = CachedDataManager.Retrieve_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, RequestSpecificValues.Tracer); if (cacheInstance != null) { results = cacheInstance; } else { results = Engine_Database.Get_Item_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, RequestSpecificValues.Tracer); CachedDataManager.Store_Aggregation_Metadata_Browse(RequestSpecificValues.Current_Mode.Aggregation, RequestSpecificValues.Current_Mode.Info_Browse_Mode, results, RequestSpecificValues.Tracer); } } } }
/// <summary> Constructor for a new instance of the Manage_Menu_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Manage_Menu_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // User must AT LEAST be logged on, return if ((RequestSpecificValues.Current_User == null) || (!RequestSpecificValues.Current_User.LoggedOn)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); } }
public Tiles_Home_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Get the list of tiles string aggregation_tile_directory = Path.Combine(UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location, ViewBag.Hierarchy_Object.ObjDirectory, "images", "tiles"); string[] jpeg_tiles = Directory.GetFiles(aggregation_tile_directory, "*.jpg"); // Compute the URL for these images string aggregation_tile_uri = RequestSpecificValues.Current_Mode.Base_URL + "design/aggregations/" + ViewBag.Hierarchy_Object.Code + "/images/tiles/"; // Get the list of all potential tiles, by checking name List<Tiles_Home_Single_Tile> allTiles = new List<Tiles_Home_Single_Tile>(); foreach (string thisJpegTile in jpeg_tiles) { // Get the filename string thisFileName = Path.GetFileName(thisJpegTile); string thisFileNameSansExtension = Path.GetFileNameWithoutExtension(thisJpegTile); // Check for a link to the bibid/vid string bib_vid_for_link = String.Empty; if ((thisFileNameSansExtension.Length == 10) && ( SobekCM_Item.is_bibid_format(thisFileNameSansExtension))) { bib_vid_for_link = thisFileNameSansExtension; } else if ((thisFileNameSansExtension.Length == 15) && (SobekCM_Item.is_bibid_format(thisFileNameSansExtension.Substring(0, 10))) && (SobekCM_Item.is_vids_format(thisFileNameSansExtension.Substring(10)))) { bib_vid_for_link = thisFileNameSansExtension.Substring(0, 10) + "/" + thisFileNameSansExtension.Substring(10); } else if ((thisFileNameSansExtension.Length == 16) && (SobekCM_Item.is_bibid_format(thisFileNameSansExtension.Substring(0, 10))) && (SobekCM_Item.is_vids_format(thisFileNameSansExtension.Substring(11)))) { bib_vid_for_link = thisFileNameSansExtension.Substring(0, 10) + "/" + thisFileNameSansExtension.Substring(11); } // If there was a link calculated, then use this jpeg if (!String.IsNullOrEmpty(bib_vid_for_link)) { allTiles.Add(new Tiles_Home_Single_Tile {JpegUri = aggregation_tile_uri + thisFileName, LinkUri = RequestSpecificValues.Current_Mode.Base_URL + bib_vid_for_link}); } } // For now, just copy over all the tiles if ( allTiles.Count <= 15 ) selectedTiles.AddRange(allTiles); else { Random randomGen = new Random(); while (selectedTiles.Count < 15) { int random_index = randomGen.Next(0, allTiles.Count); selectedTiles.Add(allTiles[random_index]); allTiles.RemoveAt(random_index); } } }
/// <summary> Constructor for a new instance of the Basic_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Basic_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Determine the sub text to use const string SUB_CODE = "s="; // Save the search term if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String; } // Determine the complete script action name Display_Mode_Enum displayMode = RequestSpecificValues.Current_Mode.Mode; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; Search_Type_Enum searchType = RequestSpecificValues.Current_Mode.Search_Type; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Basic; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; arg2 = String.Empty; arg1 = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } if ((!RequestSpecificValues.Current_Mode.Show_Selection_Panel.HasValue) || (!RequestSpecificValues.Current_Mode.Show_Selection_Panel.Value) || (ViewBag.Hierarchy_Object.Children_Count == 0)) { Search_Script_Action = "basic_search_sobekcm('" + arg1 + "', '" + browse_url + "');"; } else { Search_Script_Action = "basic_select_search_sobekcm('" + arg1 + "', '" + SUB_CODE + "')"; arg2 = SUB_CODE; } RequestSpecificValues.Current_Mode.Mode = displayMode; RequestSpecificValues.Current_Mode.Search_Type = searchType; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; }
/// <summary> Constructor for a new instance of the Full_Text_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Full_Text_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Determine the sub text to use const string SUB_CODE = "s="; // Save the search term if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String; } // Determine the complete script action name Display_Mode_Enum displayMode = RequestSpecificValues.Current_Mode.Mode; Search_Type_Enum searchType = RequestSpecificValues.Current_Mode.Search_Type; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Full_Text; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; arg2 = String.Empty; arg1 = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Search; if ((!RequestSpecificValues.Current_Mode.Show_Selection_Panel.HasValue) || (!RequestSpecificValues.Current_Mode.Show_Selection_Panel.Value) || (ViewBag.Hierarchy_Object.Children_Count == 0)) { Search_Script_Action = "fulltext_search_sobekcm('" + arg1 + "', '" + browse_url + "');"; } else { Search_Script_Action = "fulltext_select_search_sobekcm('" + arg1 + "', '" + SUB_CODE + "')"; arg2 = SUB_CODE; } RequestSpecificValues.Current_Mode.Mode = displayMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; RequestSpecificValues.Current_Mode.Search_Type = searchType; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; }
/// <summary> Constructor for a new instance of the Rotating_Highlight_MimeType_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Rotating_Highlight_MimeType_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Determine the sub text to use const string SUB_CODE = "s="; Sharing_Buttons_HTML = String.Empty; // Save the search term if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String; } // Determine the complete script action name Display_Mode_Enum displayMode = RequestSpecificValues.Current_Mode.Mode; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; Search_Type_Enum searchType = RequestSpecificValues.Current_Mode.Search_Type; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Basic; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; arg2 = String.Empty; arg1 = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; if ((!RequestSpecificValues.Current_Mode.Show_Selection_Panel.HasValue) || (!RequestSpecificValues.Current_Mode.Show_Selection_Panel.Value) || (ViewBag.Hierarchy_Object.Children_Count == 0)) { Search_Script_Action = "basic_search_sobekcm('" + arg1 + "', '" + browse_url + "')"; } else { Search_Script_Action = "basic_select_search_sobekcm('" + arg1 + "', '" + SUB_CODE + "')"; arg2 = SUB_CODE; } RequestSpecificValues.Current_Mode.Mode = displayMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; RequestSpecificValues.Current_Mode.Search_Type = searchType; RequestSpecificValues.Current_Mode.Search_String = search_string; // Get the front banner frontBannerInfo = ViewBag.Hierarchy_Object.FrontBannerObj; }
/// <summary> Constructor for a new instance of the Work_History_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Work_History_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // User must AT LEAST be logged on, return if ((RequestSpecificValues.Current_User == null) || (!RequestSpecificValues.Current_User.LoggedOn)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } // If the user is not an admin of some type, also return if ((!RequestSpecificValues.Current_User.Is_System_Admin) && (!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_Aggregation_Curator(ViewBag.Hierarchy_Object.Code))) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); } }
/// <summary> Constructor for a new instance of the User_Permissions_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public User_Permissions_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // User must AT LEAST be logged on, return if ((RequestSpecificValues.Current_User == null) || (!RequestSpecificValues.Current_User.LoggedOn)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } // If the user is not an admin of some type, also return if ((!RequestSpecificValues.Current_User.Is_System_Admin) && (!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_Aggregation_Curator(ViewBag.Hierarchy_Object.Code))) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); } }
/// <summary> Constructor for a new instance of the dLOC_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public dLOC_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { textBoxValue = String.Empty; if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String.Replace(",newspaper", ""); } // Determine the complete script action name Display_Mode_Enum displayMode = RequestSpecificValues.Current_Mode.Mode; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; Search_Type_Enum searchType = RequestSpecificValues.Current_Mode.Search_Type; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Full_Text; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; arg2 = String.Empty; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; arg1 = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } Search_Script_Action = "dloc_search_sobekcm('" + arg1 + "', '" + browse_url + "');"; RequestSpecificValues.Current_Mode.Mode = displayMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; RequestSpecificValues.Current_Mode.Search_Type = searchType; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; }
/// <summary> Constructor for a new instance of the Basic_Search_YearRange_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Basic_Search_YearRange_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Save the search term if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String; } // Determine the complete script action name Display_Mode_Enum displayMode = RequestSpecificValues.Current_Mode.Mode; Search_Type_Enum searchType = RequestSpecificValues.Current_Mode.Search_Type; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Basic; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; arg2 = String.Empty; arg1 = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } Search_Script_Action = "basic_search_years_sobekcm('" + arg1 + "', '" + browse_url + "');"; RequestSpecificValues.Current_Mode.Mode = displayMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; RequestSpecificValues.Current_Mode.Search_Type = searchType; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="SearchType"> Type of search from the current http request </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Search_Type_Enum SearchType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (SearchType) { case Search_Type_Enum.Advanced: if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange)) return new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag); if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType)) return new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag); return new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Search_Type_Enum.Basic: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag); } return new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Search_Type_Enum.Full_Text: return new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Search_Type_Enum.Newspaper: return new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Search_Type_Enum.Map: return new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag); case Search_Type_Enum.Map_Beta: return new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag); case Search_Type_Enum.dLOC_Full_Text: return new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag); default: return null; } }
/// <summary> Constructor for a new instance of the Advanced_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Advanced_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Compute the redirect stem to use string fields = RequestSpecificValues.Current_Mode.Search_Fields; string searchCollections = RequestSpecificValues.Current_Mode.SubAggregation; Display_Mode_Enum lastMode = RequestSpecificValues.Current_Mode.Mode; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; RequestSpecificValues.Current_Mode.SubAggregation = String.Empty; string searchString = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string redirectStem = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); // Get the browse all url, if enabled string browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } RequestSpecificValues.Current_Mode.Search_String = searchString; RequestSpecificValues.Current_Mode.Search_Fields = fields; RequestSpecificValues.Current_Mode.SubAggregation = searchCollections; RequestSpecificValues.Current_Mode.Mode = lastMode; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; Search_Script_Action = "advanced_search_sobekcm('" + redirectStem + "','" + browse_url + "')"; }
/// <summary> Constructor for a new instance of the Newspaper_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Newspaper_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Determine the sub text to use const string SUB_CODE = "s="; // Save the search term if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { textBoxValue = RequestSpecificValues.Current_Mode.Search_String; } // Compute the redirect stem to use string fields = RequestSpecificValues.Current_Mode.Search_Fields; string search_string = RequestSpecificValues.Current_Mode.Search_String; Aggregation_Type_Enum aggrType = RequestSpecificValues.Current_Mode.Aggregation_Type; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Home_Type = Home_Type_Enum.List; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string redirect_stem = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode).Replace("&m=hhh", "").Replace("m=hht", "").Replace("&m=lhh", "").Replace("m=lht", ""); // Get the browse all url, if enabled browse_url = String.Empty; if (ViewBag.Hierarchy_Object.Can_Browse_Items) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; RequestSpecificValues.Current_Mode.Info_Browse_Mode = "all"; browse_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); } RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Search_Fields = fields; RequestSpecificValues.Current_Mode.Aggregation_Type = aggrType; RequestSpecificValues.Current_Mode.Info_Browse_Mode = String.Empty; // Write the advanced search box arg2 = String.Empty; arg1 = redirect_stem; if ((ViewBag.Hierarchy_Object.Children_Count > 0) && ((RequestSpecificValues.Current_Mode.Show_Selection_Panel.HasValue) && (RequestSpecificValues.Current_Mode.Show_Selection_Panel.Value))) { Search_Script_Action = "newspaper_select_search_sobekcm('" + arg1 + "', '" + SUB_CODE + "', '" + browse_url + "');"; arg2 = SUB_CODE; } else { Search_Script_Action = "newspaper_search_sobekcm('" + arg1 + "');"; } }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Browse_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Get the coordinate information DataTable coordinates = Engine_Database.Get_All_Coordinate_Points_By_Aggregation(ViewBag.Hierarchy_Object.Code, RequestSpecificValues.Tracer); // Add the google script information StringBuilder scriptBuilder = new StringBuilder(10000); // Only continue if there actually IS a map key if (!String.IsNullOrWhiteSpace(UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key)) { scriptBuilder.AppendLine("<script src=\"https://maps.googleapis.com/maps/api/js?key=" + UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key + "\" type=\"text/javascript\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Keydragzoom_Packed_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA["); scriptBuilder.AppendLine(" // Global values"); scriptBuilder.AppendLine(" var map, bounds, custom_icon, info_window, last_center;"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Initialize the map on load "); scriptBuilder.AppendLine(" function load() { "); decimal center_latitude = 0; decimal center_longitude = 0; int zoom = 1; bool zoom_to_extent = true; if ((ViewBag.Hierarchy_Object.Map_Browse_Display != null) && (ViewBag.Hierarchy_Object.Map_Browse_Display.Type == Item_Aggregation_Map_Coverage_Type_Enum.FIXED)) { Item_Aggregation_Map_Coverage_Info mapTypeInfo = ViewBag.Hierarchy_Object.Map_Browse_Display; if ((mapTypeInfo.Latitude.HasValue) && (mapTypeInfo.Longitude.HasValue)) { center_latitude = mapTypeInfo.Latitude.Value; center_longitude = mapTypeInfo.Longitude.Value; zoom = 7; if (mapTypeInfo.ZoomLevel.HasValue) { zoom = mapTypeInfo.ZoomLevel.Value; } zoom_to_extent = false; } } scriptBuilder.AppendLine(" // Create the map and set some values"); scriptBuilder.AppendLine(" var latlng = new google.maps.LatLng(" + center_latitude + ", " + center_longitude + ");"); scriptBuilder.AppendLine(" var myOptions = { zoom: " + zoom + ", center: latlng, mapTypeId: google.maps.MapTypeId.TERRAIN, streetViewControl: false };"); scriptBuilder.AppendLine(" map = new google.maps.Map(document.getElementById('sbkMbav_MapDiv'), myOptions);"); scriptBuilder.AppendLine(" map.enableKeyDragZoom();"); if ((coordinates != null) && (coordinates.Rows.Count > 0)) { scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the custom icon / marker image"); scriptBuilder.AppendLine(" var iconSize = new google.maps.Size(11, 11);"); scriptBuilder.AppendLine(" var iconAnchor = new google.maps.Point(5, 5);"); scriptBuilder.AppendLine(" var pointer_image = '" + Static_Resources_Gateway.Map_Point_Png + "';"); scriptBuilder.AppendLine(" custom_icon = new google.maps.MarkerImage(pointer_image, iconSize, null, iconAnchor);"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the bounds"); scriptBuilder.AppendLine(" bounds = new google.maps.LatLngBounds();"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the info window for display"); scriptBuilder.AppendLine(" info_window = new google.maps.InfoWindow();"); scriptBuilder.AppendLine(" google.maps.event.addListener(info_window, 'closeclick', function() { if (last_center != null) { map.panTo(last_center); last_center = null; } });"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Add all the points"); string last_latitude = coordinates.Rows[0]["Point_Latitude"].ToString(); string last_longitude = coordinates.Rows[0]["Point_Longitude"].ToString(); List <DataRow> bibids_in_this_point = new List <DataRow>(); foreach (DataRow thisRow in coordinates.Rows) { string latitude = thisRow["Point_Latitude"].ToString(); string longitude = thisRow["Point_Longitude"].ToString(); // Is this upcoming point new? if ((latitude != last_latitude) || (longitude != last_longitude)) { // Write the last point, if there was one if (bibids_in_this_point.Count > 0) { // Add the point add_single_point(last_latitude, last_longitude, RequestSpecificValues.Current_Mode, bibids_in_this_point, scriptBuilder); // Assign this as the last value last_latitude = latitude; last_longitude = longitude; // Clear the list of newspapers linked to this point bibids_in_this_point.Clear(); } // Start a new list and include this bib id bibids_in_this_point.Add(thisRow); } else { // Add this bibid to the list bibids_in_this_point.Add(thisRow); } } // Write the last point, if there was one if (bibids_in_this_point.Count > 0) { // Add the point add_single_point(last_latitude, last_longitude, RequestSpecificValues.Current_Mode, bibids_in_this_point, scriptBuilder); // Clear the list of newspapers linked to this point bibids_in_this_point.Clear(); } } // Zoom to extent? if (zoom_to_extent) { scriptBuilder.AppendLine(" map.fitBounds(bounds);"); } scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Add a single point "); scriptBuilder.AppendLine(" function add_point(latitude, longitude, window_content) {"); scriptBuilder.AppendLine(" var point = new google.maps.LatLng(latitude, longitude);"); scriptBuilder.AppendLine(" bounds.extend(point);"); scriptBuilder.AppendLine(" var marker = new google.maps.Marker({ position: point, draggable: false, map: map, icon: custom_icon });"); scriptBuilder.AppendLine(" google.maps.event.addListener(marker, 'click', function() { info_window.setContent(window_content); last_center = map.getCenter(); info_window.open(map, marker); });"); scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } else { // No Google Map API Key scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA[ "); scriptBuilder.AppendLine(" function load() { }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } Search_Script_Reference = scriptBuilder.ToString(); }
/// <summary> Constructor for a new instance of the Map_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Compute the redirect stem to use string fields = RequestSpecificValues.Current_Mode.Search_Fields; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Map; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string redirect_stem = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Search; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Search_Fields = fields; // Now, populate the search terms, if there was one or some text1 = String.Empty; text2 = String.Empty; text3 = String.Empty; text4 = String.Empty; if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { string[] splitter = RequestSpecificValues.Current_Mode.Search_String.Split(",".ToCharArray()); bool isNumber = true; foreach (char thisChar in splitter[0]) { if ((!Char.IsDigit(thisChar)) && ( thisChar != '.' ) && (thisChar != '-' )) isNumber = false; } if (isNumber) { text1 = splitter[0].Replace(" =", " or "); if (splitter.Length > 1) { foreach (char thisChar in splitter[1]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) isNumber = false; } if (isNumber) { text2 = splitter[1].Replace(" =", " or "); if (splitter.Length > 2) { foreach (char thisChar in splitter[2]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) isNumber = false; } if (isNumber) { text3 = splitter[2].Replace(" =", " or "); foreach (char thisChar in splitter[3]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) isNumber = false; } if (isNumber) { text4 = splitter[3].Replace(" =", " or "); } } } } } } } // Add the google script information mapHeight = 500; StringBuilder scriptBuilder = new StringBuilder(); // Only continue if there actually IS a map key if (!String.IsNullOrWhiteSpace(UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key)) { scriptBuilder.AppendLine("<script src=\"https://maps.googleapis.com/maps/api/js?key=" + UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key + "\" type=\"text/javascript\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Sobekcm_Map_Search_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Sobekcm_Map_Tool_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA["); scriptBuilder.AppendLine(" function load() { "); // Set the latitude and longitude int zoom = 1; decimal latitude = 0; decimal longitude = 0; if (ViewBag.Hierarchy_Object.Map_Search_Display != null) { if ((ViewBag.Hierarchy_Object.Map_Search_Display.ZoomLevel.HasValue) && (ViewBag.Hierarchy_Object.Map_Search_Display.Latitude.HasValue) && (ViewBag.Hierarchy_Object.Map_Search_Display.Longitude.HasValue)) { latitude = ViewBag.Hierarchy_Object.Map_Search_Display.Latitude.Value; longitude = ViewBag.Hierarchy_Object.Map_Search_Display.Longitude.Value; zoom = ViewBag.Hierarchy_Object.Map_Search_Display.ZoomLevel.Value; } } scriptBuilder.AppendLine(" load_search_map(" + latitude + ", " + longitude + ", " + zoom + ", \"map1\");"); //// If no point searching is allowed, disable it //if (ViewBag.Hierarchy_Object.Map_Search >= 100) //{ // pointSearchingDisabled = true; // scriptBuilder.AppendLine(" disable_point_searching();"); //} if ((text1.Length > 0) && (text2.Length > 0) && (text3.Length > 0) && (text4.Length > 0)) { scriptBuilder.AppendLine(" add_selection_rectangle( " + text1 + ", " + text2 + ", " + text3 + ", " + text4 + " );"); scriptBuilder.AppendLine(" zoom_to_bounds();"); } else if ((text1.Length > 0) && (text2.Length > 0)) { scriptBuilder.AppendLine(" add_selection_point( " + text1 + ", " + text2 + ", 8 );"); } scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } else { // No Google Map API Key scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA[ "); scriptBuilder.AppendLine(" function load() { }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } Search_Script_Reference = scriptBuilder.ToString(); // Get the action name for the button Search_Script_Action = "map_search_sobekcm('" + redirect_stem + "');"; }
/// <summary> Constructor creates a new instance of the Aggregation_HtmlSubwriter class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> public Aggregation_HtmlSubwriter(RequestCache RequestSpecificValues) : base(RequestSpecificValues) { // Get the item aggregation from the SobekCM engine endpoints // If the mode is NULL or the request was already completed, do nothing if ((RequestSpecificValues.Current_Mode == null) || (RequestSpecificValues.Current_Mode.Request_Completed)) return; RequestSpecificValues.Tracer.Add_Trace("Aggregation_HtmlSubwriter.Constructor", "Retrieving collection"); // Check that the current aggregation code is valid if (!UI_ApplicationCache_Gateway.Aggregations.isValidCode(RequestSpecificValues.Current_Mode.Aggregation)) { // Is there a "forward value" if (UI_ApplicationCache_Gateway.Collection_Aliases.ContainsKey(RequestSpecificValues.Current_Mode.Aggregation)) { RequestSpecificValues.Current_Mode.Aggregation = UI_ApplicationCache_Gateway.Collection_Aliases[RequestSpecificValues.Current_Mode.Aggregation]; } } // Use the method in the base class to actually pull the entire hierarchy if (!Get_Collection(RequestSpecificValues.Current_Mode, RequestSpecificValues.Tracer, out hierarchyObject)) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Error; return; } //// Check if a differente skin should be used if this is a collection display //string current_skin_code = RequestSpecificValues.Current_Mode.Skin.ToUpper(); //if ((hierarchyObject != null) && (hierarchyObject.Web_Skins != null) && (hierarchyObject.Web_Skins.Count > 0)) //{ // // Do NOT do this replacement if the web skin is in the URL and this is admin mode // if ((!RequestSpecificValues.Current_Mode.Skin_In_URL) || (RequestSpecificValues.Current_Mode.Mode != Display_Mode_Enum.Administrative)) // { // if (!hierarchyObject.Web_Skins.Contains(current_skin_code.ToLower())) // { // RequestSpecificValues.Current_Mode.Skin = hierarchyObject.Web_Skins[0]; // } // } //} // Run the browse/info work if it is of those modes if (((RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Browse_Info) || (RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Child_Page_Edit))) { RequestSpecificValues.Tracer.Add_Trace("SobekCM_Page_Globals.Browse_Info_Block", "Retrieiving Browse/Info Object"); // If this is a robot, then get the text from the static page if ((RequestSpecificValues.Current_Mode.Is_Robot) && (RequestSpecificValues.Current_Mode.Info_Browse_Mode == "all")) { SobekCM_Assistant assistant = new SobekCM_Assistant(); browse_info_display_text = assistant.Get_All_Browse_Static_HTML(RequestSpecificValues.Current_Mode, RequestSpecificValues.Tracer); RequestSpecificValues.Current_Mode.Writer_Type = Writer_Type_Enum.HTML_Echo; } else { if (!Get_Browse_Info(RequestSpecificValues.Current_Mode, hierarchyObject, UI_ApplicationCache_Gateway.Settings.Servers.Base_Directory, RequestSpecificValues.Tracer, out thisBrowseObject, out datasetBrowseResultsStats, out pagedResults, out staticBrowse)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; //RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Error; } } } // Set some basic values leftButtons = String.Empty; rightButtons = String.Empty; children_icons_added = false; // Check to see if the user should be able to edit the home page if ((RequestSpecificValues.Current_Mode.Mode == Display_Mode_Enum.Aggregation) && (RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Home_Edit)) { if ( RequestSpecificValues.Current_User == null ) RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; else { if ((!RequestSpecificValues.Current_User.Is_System_Admin) && (!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_Aggregation_Admin(hierarchyObject.Code))) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; } } } else if ( RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Home_Edit ) RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; #region Handle post backs from the mySobek sharing, emailin, etc.. buttons NameValueCollection form = HttpContext.Current.Request.Form; if ( form["item_action"] != null) { string action = form["item_action"].ToLower().Trim(); if ((action == "add_aggregation") && ( RequestSpecificValues.Current_User != null )) { SobekCM_Database.User_Set_Aggregation_Home_Page_Flag(RequestSpecificValues.Current_User.UserID, hierarchyObject.ID, true, RequestSpecificValues.Tracer); RequestSpecificValues.Current_User.Set_Aggregation_Home_Page_Flag(hierarchyObject.Code, hierarchyObject.Name, true); HttpContext.Current.Session.Add("ON_LOAD_MESSAGE", "Added aggregation to your home page"); } if (( action == "remove_aggregation") && ( RequestSpecificValues.Current_User != null )) { int removeAggregationID = hierarchyObject.ID; string remove_code = hierarchyObject.Code; string remove_name = hierarchyObject.Name; if ((form["aggregation"] != null) && (form["aggregation"].Length > 0)) { Item_Aggregation_Related_Aggregations aggrInfo = UI_ApplicationCache_Gateway.Aggregations[form["aggregation"]]; if (aggrInfo != null) { remove_code = aggrInfo.Code; removeAggregationID = aggrInfo.ID; } } SobekCM_Database.User_Set_Aggregation_Home_Page_Flag(RequestSpecificValues.Current_User.UserID, removeAggregationID, false, RequestSpecificValues.Tracer); RequestSpecificValues.Current_User.Set_Aggregation_Home_Page_Flag(remove_code, remove_name, false); if (RequestSpecificValues.Current_Mode.Home_Type != Home_Type_Enum.Personalized) { HttpContext.Current.Session.Add("ON_LOAD_MESSAGE", "Removed aggregation from your home page"); } } if ((action == "private_folder") && ( RequestSpecificValues.Current_User != null )) { User_Folder thisFolder = RequestSpecificValues.Current_User.Get_Folder(form["aggregation"]); if (SobekCM_Database.Edit_User_Folder(thisFolder.Folder_ID, RequestSpecificValues.Current_User.UserID, -1, thisFolder.Folder_Name, false, String.Empty, RequestSpecificValues.Tracer) >= 0) thisFolder.IsPublic = false; } if ((action == "email") && ( RequestSpecificValues.Current_User != null )) { string address = form["email_address"].Replace(";", ",").Trim(); string comments = form["email_comments"].Trim(); string format = form["email_format"].Trim().ToUpper(); if (address.Length > 0) { // Determine the email format bool is_html_format = format != "TEXT"; // CC: the user, unless they are already on the list string cc_list = RequestSpecificValues.Current_User.Email; if (address.ToUpper().IndexOf(RequestSpecificValues.Current_User.Email.ToUpper()) >= 0) cc_list = String.Empty; // Send the email string any_error = URL_Email_Helper.Send_Email(address, cc_list, comments, RequestSpecificValues.Current_User.Full_Name, RequestSpecificValues.Current_Mode.Instance_Abbreviation, is_html_format, HttpContext.Current.Items["Original_URL"].ToString(), hierarchyObject.Name, "Collection", RequestSpecificValues.Current_User.UserID); HttpContext.Current.Session.Add("ON_LOAD_MESSAGE", any_error.Length > 0 ? any_error : "Your email has been sent"); RequestSpecificValues.Current_Mode.isPostBack = true; // Do this to force a return trip (cirumnavigate cacheing) string original_url = HttpContext.Current.Items["Original_URL"].ToString(); if (original_url.IndexOf("?") < 0) HttpContext.Current.Response.Redirect(original_url + "?p=" + DateTime.Now.Millisecond, false); else HttpContext.Current.Response.Redirect(original_url + "&p=" + DateTime.Now.Millisecond, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); RequestSpecificValues.Current_Mode.Request_Completed = true; return; } } } #endregion #region Handle post backs from editing the home page text if (( RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Home_Edit ) && ( form["sbkAghsw_HomeTextEdit"] != null)) { string aggregation_folder = UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location + "aggregations\\" + hierarchyObject.Code + "\\"; if (!Directory.Exists(aggregation_folder)) Directory.CreateDirectory(aggregation_folder); string file = hierarchyObject.HomePageHtml.Source; // Make a backup from today, if none made yet if (File.Exists(file)) { DateTime lastWrite = (new FileInfo(file)).LastWriteTime; string new_file = file.ToLower().Replace(".txt", "").Replace(".html", "").Replace(".htm", "") + lastWrite.Year + lastWrite.Month.ToString().PadLeft(2, '0') + lastWrite.Day.ToString() .PadLeft(2, '0')+ ".bak"; if (File.Exists(new_file)) File.Delete(new_file); File.Move(file, new_file); } else { // Ensure the folder exists string directory = Path.GetDirectoryName(file); if (!Directory.Exists(directory)) Directory.CreateDirectory(directory); } // Write to the file now StreamWriter homeWriter = new StreamWriter(file, false); homeWriter.WriteLine(form["sbkAghsw_HomeTextEdit"].Replace("%]", "%>").Replace("[%", "<%")); homeWriter.Flush(); homeWriter.Close(); // Also save this change SobekCM_Database.Save_Item_Aggregation_Milestone(hierarchyObject.Code, "Home page edited (" + Web_Language_Enum_Converter.Enum_To_Name(RequestSpecificValues.Current_Mode.Language) + ")", RequestSpecificValues.Current_User.Full_Name); // Clear this aggreation from the cache CachedDataManager.Aggregations.Remove_Item_Aggregation(hierarchyObject.Code, RequestSpecificValues.Tracer); // If this is all, save the new text as well if (String.Compare("all", hierarchyObject.Code, StringComparison.OrdinalIgnoreCase) == 0) { string home_app_key = "SobekCM_Home_" + RequestSpecificValues.Current_Mode.Language_Code; HttpContext.Current.Application[home_app_key] = form["sbkAghsw_HomeTextEdit"].Replace("%]", "%>").Replace("[%", "<%"); } // Forward along RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; string redirect_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); if (redirect_url.IndexOf("?") > 0) redirect_url = redirect_url + "&refresh=always"; else redirect_url = redirect_url + "?refresh=always"; RequestSpecificValues.Current_Mode.Request_Completed = true; HttpContext.Current.Response.Redirect(redirect_url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); return; } #endregion // If this is a search, verify it is a valid search type if (RequestSpecificValues.Current_Mode.Mode == Display_Mode_Enum.Search) { // Not every collection has every search type... ReadOnlyCollection<Search_Type_Enum> possibleSearches = hierarchyObject.Search_Types; if (!possibleSearches.Contains(RequestSpecificValues.Current_Mode.Search_Type)) { bool found_valid = false; if ((RequestSpecificValues.Current_Mode.Search_Type == Search_Type_Enum.Full_Text) && (possibleSearches.Contains(Search_Type_Enum.dLOC_Full_Text))) { found_valid = true; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.dLOC_Full_Text; } if ((!found_valid) && (RequestSpecificValues.Current_Mode.Search_Type == Search_Type_Enum.Basic) && (possibleSearches.Contains(Search_Type_Enum.Newspaper))) { found_valid = true; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Newspaper; } if (( !found_valid ) && ( possibleSearches.Count > 0 )) { found_valid = true; RequestSpecificValues.Current_Mode.Search_Type = possibleSearches[0]; } if ( !found_valid ) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; } } } #region Create the new subviewer to handle this request // First, create the aggregation view bag AggregationViewBag viewBag = new AggregationViewBag(hierarchyObject, datasetBrowseResultsStats, pagedResults, thisBrowseObject, staticBrowse); if (RequestSpecificValues.Current_Mode.Mode == Display_Mode_Enum.Search) { collectionViewer = AggregationViewer_Factory.Get_Viewer(RequestSpecificValues.Current_Mode.Search_Type, RequestSpecificValues, viewBag); } if (RequestSpecificValues.Current_Mode.Mode == Display_Mode_Enum.Aggregation) { switch (RequestSpecificValues.Current_Mode.Aggregation_Type) { case Aggregation_Type_Enum.Home: case Aggregation_Type_Enum.Home_Edit: if (!hierarchyObject.Custom_Home_Page) { // Are there tiles here? string aggregation_tile_directory = Path.Combine(UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location, hierarchyObject.ObjDirectory, "images", "tiles"); if (Directory.Exists(aggregation_tile_directory)) { string[] jpeg_tiles = Directory.GetFiles(aggregation_tile_directory, "*.jpg"); if (jpeg_tiles.Length > 0) collectionViewer = new Tiles_Home_AggregationViewer(RequestSpecificValues, viewBag); } // If the tiles home page as not built, build the standard viewer if ( collectionViewer == null ) collectionViewer = AggregationViewer_Factory.Get_Viewer(hierarchyObject.Views_And_Searches[0], RequestSpecificValues, viewBag); } else { collectionViewer = new Custom_Home_Page_AggregationViewer(RequestSpecificValues, viewBag); } break; case Aggregation_Type_Enum.Browse_Info: if (datasetBrowseResultsStats == null) { collectionViewer = new Static_Browse_Info_AggregationViewer(RequestSpecificValues, viewBag); } else { collectionViewer = new DataSet_Browse_Info_AggregationViewer(RequestSpecificValues, viewBag); } break; case Aggregation_Type_Enum.Child_Page_Edit: collectionViewer = new Static_Browse_Info_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Browse_By: collectionViewer = new Metadata_Browse_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Browse_Map: collectionViewer = new Map_Browse_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Browse_Map_Beta: collectionViewer = new Map_Browse_AggregationViewer_Beta(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Item_Count: collectionViewer = new Item_Count_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Usage_Statistics: collectionViewer = new Usage_Statistics_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Private_Items: collectionViewer = new Private_Items_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Manage_Menu: collectionViewer = new Manage_Menu_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.User_Permissions: collectionViewer = new User_Permissions_AggregationViewer(RequestSpecificValues, viewBag); break; case Aggregation_Type_Enum.Work_History: collectionViewer = new Work_History_AggregationViewer(RequestSpecificValues, viewBag); break; } } // If execution should end, do it now if (RequestSpecificValues.Current_Mode.Request_Completed) return; if (collectionViewer != null) { // Pull the standard values switch (collectionViewer.Selection_Panel_Display) { case Selection_Panel_Display_Enum.Selectable: if (form["show_subaggrs"] != null) { string show_subaggrs = form["show_subaggrs"].ToUpper(); if (show_subaggrs == "TRUE") RequestSpecificValues.Current_Mode.Show_Selection_Panel = true; } break; case Selection_Panel_Display_Enum.Always: RequestSpecificValues.Current_Mode.Show_Selection_Panel = true; break; } behaviors = collectionViewer.AggregationViewer_Behaviors; } else { behaviors = emptybehaviors; } #endregion }
/// <summary> Constructor for a new instance of the DataSet_Browse_Info_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public DataSet_Browse_Info_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Do nothing }
/// <summary> Constructor for a new instance of the Usage_Statistics_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Usage_Statistics_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Everything done in base class constructor }
/// <summary> Constructor for a new instance of the Custom_Home_Page_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Custom_Home_Page_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // All work done in base class? }
/// <summary> Constructor for a new instance of the Map_Search_AggregationViewer class </summary> ///<param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Search_AggregationViewer_Beta(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { ////redirect //currentMode.Redirect_URL(); #region MY STUFF // Start to build the response StringBuilder mapSearchBuilder = new StringBuilder(); //start of custom content mapSearchBuilder.AppendLine("<td> MapSearchHolder"); #region TEMP HEADER FILES ////standard css //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/jquery-ui.css\"/> "); //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/jquery-searchbox.css\"/> "); ////standard js files //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-ui-1.10.3.custom.min.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-migrate-1.1.1.min.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-rotate.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-knob.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-json-2.4.min.js\"></script> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=AIzaSyCzliz5FjUlEI9D2605b33-etBrENSSBZM&libraries=drawing\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/external_markerclusterer_compiled.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/external_jquery_1.10.2.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/external_jquery_ui.min.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/external_jquery_ui_labeledslider.js\"></script> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Gmaps_Infobox_Js + "\" /></script> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/custom_geoObjects.js\"></script> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/sobekcm_mapsearch.js\"></script> "); mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + Static_Resources_Gateway.Jquery_1_10_2_Js + "default/external_jquery_ui_1.10.4.css\"> "); mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/SobekCM_MapSearch.css\"> "); //apply theming mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/themes/mapsearch/custom_theme_grey.css\"> "); #endregion #region Literal //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_main\"> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header\"> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt1\"></div> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt2\"></div> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt3\"></div> "); ////mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_body\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar1\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_addSearch\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_searchControl\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchControl_text\">New Search</div> "); //mapSearchBuilder.AppendLine(" <div id=\"searchControl_inputs\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input type=\"text\" id=\"userDefinedSearch\" placeholder=\"Search for...\" /> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_searchText\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchText\"> "); //mapSearchBuilder.AppendLine(" You searched for <div id=\"searchText_filter\">all items <a></a></div> <div id=\"searchText_filter\">something <a></a></div> <div id=\"searchText_filter\">points <a></a></div> <div id=\"searchText_filter\">stuff <a></a></div> <div id=\"searchText_filter\">this <a></a></div> <div id=\"searchText_filter\">that <a></a></div> <div id=\"searchText_filter\">something else <a></a></div> <div id=\"searchText_filter\">bacon <a></a></div> <div id=\"searchText_filter\">st augustine <a></a></div> <div id=\"searchText_filter\">wells <a></a></div> inside the \"Unearthing St. Augustine's Colonial Heritage\" collection. "); //mapSearchBuilder.AppendLine(" <!-- Here is enough text for the third line, aaahh the third line! We are not quite there yet... wait for it.. are you waiting? I thought so... --> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_addFilter\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterControl\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_text\">Add Filter</div> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_inputs\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input id=\"userDefinedFilter\" type=\"text\" placeholder=\"Filter for...\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchBox_in\">IN</div> "); //mapSearchBuilder.AppendLine(" <select id=\"filterList\"> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Language</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Publisher</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Topic</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Geographic Area</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Genre</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_view\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_view_buttons\"> "); //mapSearchBuilder.AppendLine(" <div id=\"view_geo\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_brief\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_thumb\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_table\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsHeader\"> "); //mapSearchBuilder.AppendLine(" <div class=\"center-helper\"> "); //mapSearchBuilder.AppendLine(" <div class=\"center-inner\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsPagingLeft\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsPagingLeft\"> "); //mapSearchBuilder.AppendLine(" <div id=\"firstPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" <div class=\"line-left\"></div> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-left\"></div> "); //mapSearchBuilder.AppendLine(" First "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"prevPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-left\"></div> "); //mapSearchBuilder.AppendLine(" Previous "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsCounter\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsCounter\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsPagingRight\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsPagingRight\"> "); //mapSearchBuilder.AppendLine(" <div id=\"nextPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" Next "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-right\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"lastPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" Last "); //mapSearchBuilder.AppendLine(" <div class=\"line-right\"></div> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-right\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsSorter\"> "); //mapSearchBuilder.AppendLine(" <form > "); //mapSearchBuilder.AppendLine(" <select id=\"resultsSorter\" class=\"desc\"> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Title (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Title (Asc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By BibID (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By BibID (Asc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Date (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Date (Asc)</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </form> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox1\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterBox\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterBox_header\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox_header\">Narrow Results By:</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <!-- <div id=\"container_addFilter2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterControl2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_text2\">Add Filter</div> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_inputs2\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input id=\"userDefinedFilter2\" type=\"text\" placeholder=\"Filter for...\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox_in2\">IN</div> "); //mapSearchBuilder.AppendLine(" <select id=\"filterList2\"> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Language</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Publisher</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Topic</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Geographic Area</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Genre</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> --> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox\"> "); //mapSearchBuilder.AppendLine(" <h3>Language</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>French <a>(503)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Spanish <a>(74)</a></li> "); //mapSearchBuilder.AppendLine(" <li>French <a>(5)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Other <a>(4)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <h3>Publisher</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Restoration, Inc. <a>(1108)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Historical Restoration and Preservation Commission <a>(219)</a></li> "); //mapSearchBuilder.AppendLine(" <li>The St. Augustine Record <a>(80)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Planning and Building Department, City of St. Augustine, FL <a>(41)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Ramola Drost <a>(36)</a></li> "); //mapSearchBuilder.AppendLine(" <li>National Archives and Records Office, United States of America <a>(30)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Historical Society <a>(27)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Historic St. Augustine Preservation Board <a>(23)</a></li> "); //mapSearchBuilder.AppendLine(" <li>State Photographic Archives, Strozier Library, Florida State University <a>(14)</a></li> "); //mapSearchBuilder.AppendLine(" <li>National Archives <a>(12)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Florida Souvenir, Co. <a>(10)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Library of Congress <a>(9)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Florida State News Bureau <a>(8)</a></li> "); //mapSearchBuilder.AppendLine(" <li>George A. Smathers Libraries, University of Florida <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Koppel Color Cards <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Topic</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine <a>(890)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine, Fl <a>(88)</a></li> "); //mapSearchBuilder.AppendLine(" <li>46 Saint George Street <a>(73)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Arrivas House <a>(73)</a></li> "); //mapSearchBuilder.AppendLine(" <li>143 Saint George Street <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Dr. Peck House <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Pe�a-Peck House <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Burt House <a>(64)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Ximenez-Fatio House <a>(59)</a></li> "); //mapSearchBuilder.AppendLine(" <li>43 Saint George Street <a>(56)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Geographic Area</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>Florida <a>(1269)</a></li> "); //mapSearchBuilder.AppendLine(" <li>North America <a>(1269)</a></li> "); //mapSearchBuilder.AppendLine(" <li>United States of America <a>(1268)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Johns <a>(870)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine <a>(851)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine <a>(399)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Johns <a>(399)</a></li> "); //mapSearchBuilder.AppendLine(" <li>United States <a>(1)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Genre</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>newspaper <a>(63)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan <a>(35)</a></li> "); //mapSearchBuilder.AppendLine(" <li>coastal chart <a>(29)</a></li> "); //mapSearchBuilder.AppendLine(" <li>map <a>(23)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan view <a>(20)</a></li> "); //mapSearchBuilder.AppendLine(" <li>survey <a>(14)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan and profile <a>(8)</a></li> "); //mapSearchBuilder.AppendLine(" <li>profile <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" <li>manuscript <a>(2)</a></li> "); //mapSearchBuilder.AppendLine(" <li>survey and profile <a>(2)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar3\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_timebar\"> "); //mapSearchBuilder.AppendLine(" <div id=\"timebar_value\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"timebar\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_mainContent\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content1\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content2\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content3\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_map\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsBox\"> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"resultsBox_header\">Search Results</div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox2_scrollContent\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsBox\"> "); //mapSearchBuilder.AppendLine(" <div id=\"result_1\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result1.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Aritst's rendering for possible reconstruction projects along the South side of Cuna Street</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_2\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result2.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artist rendering of possible reconstruction projects in Block 4 and Block 5, centered on the Perez Sanchez House reconstruction; Corner of Charlotte Street and Treasury Street</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_3\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result3.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artists rending of a concept for the reconstruction of the Ribera House, including the Blanco House and Carmona House</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_4\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result4.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artist's Rendering of Block 8, from the corner of Hypolita Street and Charlotte Street, focusing on the Regidor-Clark House</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); #endregion //end of custom content mapSearchBuilder.AppendLine("</td>"); Search_Script_Reference = (mapSearchBuilder.ToString()); #endregion }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Browse_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Get the coordinate information DataTable coordinates = Engine_Database.Get_All_Coordinate_Points_By_Aggregation(ViewBag.Hierarchy_Object.Code, RequestSpecificValues.Tracer); // Add the google script information StringBuilder scriptBuilder = new StringBuilder(10000); // Only continue if there actually IS a map key if (!String.IsNullOrWhiteSpace(UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key)) { scriptBuilder.AppendLine("<script src=\"https://maps.googleapis.com/maps/api/js?key=" + UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key +"\" type=\"text/javascript\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Keydragzoom_Packed_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA["); scriptBuilder.AppendLine(" // Global values"); scriptBuilder.AppendLine(" var map, bounds, custom_icon, info_window, last_center;"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Initialize the map on load "); scriptBuilder.AppendLine(" function load() { "); decimal center_latitude = 0; decimal center_longitude = 0; int zoom = 1; bool zoom_to_extent = true; if ((ViewBag.Hierarchy_Object.Map_Browse_Display != null) && (ViewBag.Hierarchy_Object.Map_Browse_Display.Type == Item_Aggregation_Map_Coverage_Type_Enum.FIXED)) { Item_Aggregation_Map_Coverage_Info mapTypeInfo = ViewBag.Hierarchy_Object.Map_Browse_Display; if ((mapTypeInfo.Latitude.HasValue) && (mapTypeInfo.Longitude.HasValue)) { center_latitude = mapTypeInfo.Latitude.Value; center_longitude = mapTypeInfo.Longitude.Value; zoom = 7; if (mapTypeInfo.ZoomLevel.HasValue) zoom = mapTypeInfo.ZoomLevel.Value; zoom_to_extent = false; } } scriptBuilder.AppendLine(" // Create the map and set some values"); scriptBuilder.AppendLine(" var latlng = new google.maps.LatLng(" + center_latitude + ", " + center_longitude + ");"); scriptBuilder.AppendLine(" var myOptions = { zoom: " + zoom + ", center: latlng, mapTypeId: google.maps.MapTypeId.TERRAIN, streetViewControl: false };"); scriptBuilder.AppendLine(" map = new google.maps.Map(document.getElementById('sbkMbav_MapDiv'), myOptions);"); scriptBuilder.AppendLine(" map.enableKeyDragZoom();"); if ((coordinates != null) && (coordinates.Rows.Count > 0)) { scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the custom icon / marker image"); scriptBuilder.AppendLine(" var iconSize = new google.maps.Size(11, 11);"); scriptBuilder.AppendLine(" var iconAnchor = new google.maps.Point(5, 5);"); scriptBuilder.AppendLine(" var pointer_image = '" + Static_Resources_Gateway.Map_Point_Png + "';"); scriptBuilder.AppendLine(" custom_icon = new google.maps.MarkerImage(pointer_image, iconSize, null, iconAnchor);"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the bounds"); scriptBuilder.AppendLine(" bounds = new google.maps.LatLngBounds();"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Create the info window for display"); scriptBuilder.AppendLine(" info_window = new google.maps.InfoWindow();"); scriptBuilder.AppendLine(" google.maps.event.addListener(info_window, 'closeclick', function() { if (last_center != null) { map.panTo(last_center); last_center = null; } });"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Add all the points"); string last_latitude = coordinates.Rows[0]["Point_Latitude"].ToString(); string last_longitude = coordinates.Rows[0]["Point_Longitude"].ToString(); List<DataRow> bibids_in_this_point = new List<DataRow>(); foreach (DataRow thisRow in coordinates.Rows) { string latitude = thisRow["Point_Latitude"].ToString(); string longitude = thisRow["Point_Longitude"].ToString(); // Is this upcoming point new? if ((latitude != last_latitude) || (longitude != last_longitude)) { // Write the last point, if there was one if (bibids_in_this_point.Count > 0) { // Add the point add_single_point(last_latitude, last_longitude, RequestSpecificValues.Current_Mode, bibids_in_this_point, scriptBuilder); // Assign this as the last value last_latitude = latitude; last_longitude = longitude; // Clear the list of newspapers linked to this point bibids_in_this_point.Clear(); } // Start a new list and include this bib id bibids_in_this_point.Add(thisRow); } else { // Add this bibid to the list bibids_in_this_point.Add(thisRow); } } // Write the last point, if there was one if (bibids_in_this_point.Count > 0) { // Add the point add_single_point(last_latitude, last_longitude, RequestSpecificValues.Current_Mode, bibids_in_this_point, scriptBuilder); // Clear the list of newspapers linked to this point bibids_in_this_point.Clear(); } } // Zoom to extent? if (zoom_to_extent) { scriptBuilder.AppendLine(" map.fitBounds(bounds);"); } scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(); scriptBuilder.AppendLine(" // Add a single point "); scriptBuilder.AppendLine(" function add_point(latitude, longitude, window_content) {"); scriptBuilder.AppendLine(" var point = new google.maps.LatLng(latitude, longitude);"); scriptBuilder.AppendLine(" bounds.extend(point);"); scriptBuilder.AppendLine(" var marker = new google.maps.Marker({ position: point, draggable: false, map: map, icon: custom_icon });"); scriptBuilder.AppendLine(" google.maps.event.addListener(marker, 'click', function() { info_window.setContent(window_content); last_center = map.getCenter(); info_window.open(map, marker); });"); scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } else { // No Google Map API Key scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA[ "); scriptBuilder.AppendLine(" function load() { }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } Search_Script_Reference = scriptBuilder.ToString(); }
/// <summary> Constructor for a new instance of the Private_Items_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Private_Items_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Ensure user has some permissions on this aggregation, or is a power/internal user or admin before showing // them this list if ((RequestSpecificValues.Current_User == null) || (!RequestSpecificValues.Current_User.LoggedOn)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } // Does this user have permissions on this itgem if (RequestSpecificValues.Current_User.PermissionedAggregations != null) { // Do they have some special permissions against this aggregation? bool special_permissions_found = false; foreach (User_Permissioned_Aggregation permissions in RequestSpecificValues.Current_User.PermissionedAggregations) { if (String.Compare(permissions.Code, ViewBag.Hierarchy_Object.Code, StringComparison.OrdinalIgnoreCase) == 0) { if ((permissions.CanChangeVisibility) || (permissions.CanDelete) || (permissions.CanEditBehaviors) || (permissions.CanEditItems) || (permissions.CanEditMetadata) || (permissions.CanPerformQc) || (permissions.CanUploadFiles) || (permissions.IsAdmin) || (permissions.IsCurator)) { special_permissions_found = true; break; } } } // Are they a portal/system admin or power user? if ((!special_permissions_found) && ((RequestSpecificValues.Current_User.Is_Internal_User) || (RequestSpecificValues.Current_User.Is_Portal_Admin) || (RequestSpecificValues.Current_User.Is_System_Admin))) { special_permissions_found = true; } // If no permissions, forward them back if (!special_permissions_found) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } } else { // Are they a portal/system admin or power user? if ((!RequestSpecificValues.Current_User.Is_Internal_User) && (!RequestSpecificValues.Current_User.Is_Portal_Admin) && (!RequestSpecificValues.Current_User.Is_System_Admin)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } } // Get the list of private items int current_sort = RequestSpecificValues.Current_Mode.Sort.HasValue ? RequestSpecificValues.Current_Mode.Sort.Value : 0; int current_page = RequestSpecificValues.Current_Mode.Page.HasValue ? RequestSpecificValues.Current_Mode.Page.Value : 1; privateItems = Engine_Database.Tracking_Get_Aggregation_Private_Items(ViewBag.Hierarchy_Object.Code, (int)RESULTS_PER_PAGE, current_page, current_sort, RequestSpecificValues.Tracer); }
/// <summary> Constructor for a new instance of the Item_Count_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Item_Count_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // All work done in the base constructor }
public Tiles_Home_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Get the list of tiles string aggregation_tile_directory = Path.Combine(UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location, ViewBag.Hierarchy_Object.ObjDirectory, "images", "tiles"); string[] jpeg_tiles = Directory.GetFiles(aggregation_tile_directory, "*.jpg"); // Compute the URL for these images string aggregation_tile_uri = RequestSpecificValues.Current_Mode.Base_URL + "design/aggregations/" + ViewBag.Hierarchy_Object.Code + "/images/tiles/"; // Get the list of all potential tiles, by checking name List <Tiles_Home_Single_Tile> allTiles = new List <Tiles_Home_Single_Tile>(); string bibid = null; string vid = null; foreach (string thisJpegTile in jpeg_tiles) { // Get the filename string thisFileName = Path.GetFileName(thisJpegTile); string thisFileNameSansExtension = Path.GetFileNameWithoutExtension(thisJpegTile); // Check for a link to the bibid/vid string bib_vid_for_link = String.Empty; if ((thisFileNameSansExtension.Length == 10) && (SobekCM_Item.is_bibid_format(thisFileNameSansExtension))) { bib_vid_for_link = thisFileNameSansExtension; bibid = bib_vid_for_link; vid = "00001"; } else if ((thisFileNameSansExtension.Length == 15) && (SobekCM_Item.is_bibid_format(thisFileNameSansExtension.Substring(0, 10))) && (SobekCM_Item.is_vids_format(thisFileNameSansExtension.Substring(10)))) { bib_vid_for_link = thisFileNameSansExtension.Substring(0, 10) + "/" + thisFileNameSansExtension.Substring(10); bibid = thisFileNameSansExtension.Substring(0, 10); vid = thisFileNameSansExtension.Substring(10); } else if ((thisFileNameSansExtension.Length == 16) && (SobekCM_Item.is_bibid_format(thisFileNameSansExtension.Substring(0, 10))) && (SobekCM_Item.is_vids_format(thisFileNameSansExtension.Substring(11)))) { bib_vid_for_link = thisFileNameSansExtension.Substring(0, 10) + "/" + thisFileNameSansExtension.Substring(11); bibid = thisFileNameSansExtension.Substring(0, 10); vid = thisFileNameSansExtension.Substring(11); } // If there was a link calculated, then use this jpeg if (!String.IsNullOrEmpty(bib_vid_for_link)) { allTiles.Add(new Tiles_Home_Single_Tile { JpegUri = aggregation_tile_uri + thisFileName, LinkUri = RequestSpecificValues.Current_Mode.Base_URL + bib_vid_for_link, BibID = bibid ?? String.Empty, VID = vid ?? String.Empty }); } } // Is the metadata cached? string cache_key = ViewBag.Hierarchy_Object.Code + ":TILE METADATA"; tileMetadata = HttpContext.Current.Cache.Get(cache_key) as Database_Results_Info; if (tileMetadata == null) { // Look for the metadat file string metadata_file = Path.Combine(aggregation_tile_directory, "tile_metadata.xml"); // If no file, try to create it if (!File.Exists(metadata_file)) { // Step through each image, collecting the bibs and vids List <string> bibs = new List <string>(); List <string> vids = new List <string>(); foreach (Tiles_Home_Single_Tile thisTile in allTiles) { bibs.Add(thisTile.BibID); vids.Add(thisTile.VID); } // Now, look up each of these bib/vids // First, pad the lists correctly while (bibs.Count % 10 != 0) { bibs.Add(String.Empty); vids.Add(String.Empty); } // Get the aggregation code string aggrCode = ViewBag.Hierarchy_Object.Code; // FOR TESTING DON'T USE COLLECTION CODE aggrCode = ""; // Start the results object Database_Results_Info allResults = new Database_Results_Info(); // Now, get the results int offset = 0; while (offset < bibs.Count) { //Get the results from the database Database_Results_Info results = Engine_Library.Database.Engine_Database.Metadata_By_Bib_Vid(aggrCode, bibs[offset + 0], vids[offset + 0], bibs[offset + 1], vids[offset + 1], bibs[offset + 2], vids[offset + 2], bibs[offset + 3], vids[offset + 3], bibs[offset + 4], vids[offset + 4], bibs[offset + 5], vids[offset + 5], bibs[offset + 6], vids[offset + 6], bibs[offset + 7], vids[offset + 7], bibs[offset + 8], vids[offset + 8], bibs[offset + 9], vids[offset + 9], null); // Combine into full results if ((results != null) && (results.Metadata_Labels != null) && (results.Metadata_Labels.Count > 0)) { allResults.Metadata_Labels = results.Metadata_Labels; } if ((results != null) && (results.Results != null) && (results.Results.Count > 0)) { allResults.Results.AddRange(results.Results); } offset += 10; } // Save these results StreamWriter writer = new StreamWriter(metadata_file, false); XmlSerializer x = new XmlSerializer(allResults.GetType()); x.Serialize(writer, allResults); writer.Close(); } // Check again, and let's read the metadata if (File.Exists(metadata_file)) { try { FileStream fs = new FileStream(metadata_file, FileMode.Open); XmlReader reader = XmlReader.Create(fs); XmlSerializer x = new XmlSerializer(typeof(Database_Results_Info)); // Use the Deserialize method to restore the object's state. tileMetadata = (Database_Results_Info)x.Deserialize(reader); fs.Close(); // Also put this in the cache HttpContext.Current.Cache.Insert(cache_key, tileMetadata, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(5)); } catch (Exception ee) { tileMetadata = null; } } } // If less than or equal to fifteen, copy over as is.. otherwise, choose random ones if (allTiles.Count <= 15) { selectedTiles.AddRange(allTiles); } else { Random randomGen = new Random(); while (selectedTiles.Count < 15) { int random_index = randomGen.Next(0, allTiles.Count); selectedTiles.Add(allTiles[random_index]); allTiles.RemoveAt(random_index); } } }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Browse_AggregationViewer_Beta(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Start to build the response StringBuilder mapSearchBuilder = new StringBuilder(); //start of custom content mapSearchBuilder.AppendLine("<td> mapbrowse placeholder "); #region TEMP HEADER FILES ////standard css //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/jquery-ui.css\"/> "); //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/jquery-searchbox.css\"/> "); ////custom css //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/SobekCM_Mapedit.css\"/> "); //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + CurrentMode.Base_URL + "default/SobekCM_Mapedit_Theme_Default.css\"/> "); ////standard js files //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-ui-1.10.3.custom.min.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-migrate-1.1.1.min.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-rotate.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-knob.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/jquery/jquery-json-2.4.min.js\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=AIzaSyCzliz5FjUlEI9D2605b33-etBrENSSBZM&libraries=drawing\"></script> "); //mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + CurrentMode.Base_URL + "default/scripts/mapedit/gmaps-infobox.js\"></script> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&key=AIzaSyCzliz5FjUlEI9D2605b33-etBrENSSBZM&libraries=drawing\"></script> "); mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"http://hlmatt.com/uf/part2/bin/css/external_jquery_ui_1.10.4.css\"> "); mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"http://hlmatt.com/uf/part2/bin/css/custom_main.css\"> "); mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"http://hlmatt.com/uf/part2/bin/css/custom_theme_grey.css\"> "); mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/external_markerclusterer_compiled.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/external_jquery_1.10.2.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/external_jquery_ui.min.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/external_jquery_ui_labeledslider.js\"></script> "); //mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/custom_main.js\"></script> "); mapSearchBuilder.AppendLine(" <script src=\"http://hlmatt.com/uf/part2/bin/js/custom_geoObjects.js\"></script> "); //mapSearchBuilder.AppendLine(" <link rel=\"stylesheet\" href=\"" + Current_Mode.Base_URL + "default/SobekCM_MapSearch.css\"> "); mapSearchBuilder.AppendLine(" <script type=\"text/javascript\" src=\"" + RequestSpecificValues.Current_Mode.Base_URL + "default/scripts/mapsearch/sobekcm_mapsearch.js\"></script> "); #endregion #region Literal //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_main\"> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header\"> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt1\"></div> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt2\"></div> "); ////mapSearchBuilder.AppendLine(" <div id=\"container_header_pt3\"></div> "); ////mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_body\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar1\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_addSearch\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_searchControl\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchControl_text\">New Search</div> "); //mapSearchBuilder.AppendLine(" <div id=\"searchControl_inputs\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input type=\"text\" id=\"userDefinedSearch\" placeholder=\"Search for...\" /> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_searchText\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchText\"> "); //mapSearchBuilder.AppendLine(" You searched for <div id=\"searchText_filter\">all items <a></a></div> <div id=\"searchText_filter\">something <a></a></div> <div id=\"searchText_filter\">points <a></a></div> <div id=\"searchText_filter\">stuff <a></a></div> <div id=\"searchText_filter\">this <a></a></div> <div id=\"searchText_filter\">that <a></a></div> <div id=\"searchText_filter\">something else <a></a></div> <div id=\"searchText_filter\">bacon <a></a></div> <div id=\"searchText_filter\">st augustine <a></a></div> <div id=\"searchText_filter\">wells <a></a></div> inside the \"Unearthing St. Augustine's Colonial Heritage\" collection. "); //mapSearchBuilder.AppendLine(" <!-- Here is enough text for the third line, aaahh the third line! We are not quite there yet... wait for it.. are you waiting? I thought so... --> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_addFilter\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterControl\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_text\">Add Filter</div> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_inputs\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input id=\"userDefinedFilter\" type=\"text\" placeholder=\"Filter for...\"> "); //mapSearchBuilder.AppendLine(" <div id=\"searchBox_in\">IN</div> "); //mapSearchBuilder.AppendLine(" <select id=\"filterList\"> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Language</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Publisher</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Topic</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Geographic Area</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Genre</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_view\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_view_buttons\"> "); //mapSearchBuilder.AppendLine(" <div id=\"view_geo\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_brief\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_thumb\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"view_table\" class=\"view_button\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsHeader\"> "); //mapSearchBuilder.AppendLine(" <div class=\"center-helper\"> "); //mapSearchBuilder.AppendLine(" <div class=\"center-inner\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsPagingLeft\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsPagingLeft\"> "); //mapSearchBuilder.AppendLine(" <div id=\"firstPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" <div class=\"line-left\"></div> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-left\"></div> "); //mapSearchBuilder.AppendLine(" First "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"prevPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-left\"></div> "); //mapSearchBuilder.AppendLine(" Previous "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsCounter\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsCounter\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsPagingRight\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsPagingRight\"> "); //mapSearchBuilder.AppendLine(" <div id=\"nextPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" Next "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-right\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"lastPage\" class=\"pagingButton\"> "); //mapSearchBuilder.AppendLine(" Last "); //mapSearchBuilder.AppendLine(" <div class=\"line-right\"></div> "); //mapSearchBuilder.AppendLine(" <div class=\"arrow-right\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsSorter\"> "); //mapSearchBuilder.AppendLine(" <form > "); //mapSearchBuilder.AppendLine(" <select id=\"resultsSorter\" class=\"desc\"> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Title (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Title (Asc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By BibID (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By BibID (Asc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Date (Desc)</option> "); //mapSearchBuilder.AppendLine(" <option class=\"opt\">Sort By Date (Asc)</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </form> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox1\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterBox\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterBox_header\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox_header\">Narrow Results By:</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <!-- <div id=\"container_addFilter2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_filterControl2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_text2\">Add Filter</div> "); //mapSearchBuilder.AppendLine(" <div id=\"filterControl_inputs2\" class=\"form-wrapper cf\"> "); //mapSearchBuilder.AppendLine(" <input id=\"userDefinedFilter2\" type=\"text\" placeholder=\"Filter for...\"> "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox_in2\">IN</div> "); //mapSearchBuilder.AppendLine(" <select id=\"filterList2\"> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Language</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Publisher</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Topic</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Geographic Area</option> "); //mapSearchBuilder.AppendLine(" <option class=\"filterListItem\">Genre</option> "); //mapSearchBuilder.AppendLine(" </select> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> --> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"filterBox\"> "); //mapSearchBuilder.AppendLine(" <h3>Language</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>French <a>(503)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Spanish <a>(74)</a></li> "); //mapSearchBuilder.AppendLine(" <li>French <a>(5)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Other <a>(4)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <h3>Publisher</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Restoration, Inc. <a>(1108)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Historical Restoration and Preservation Commission <a>(219)</a></li> "); //mapSearchBuilder.AppendLine(" <li>The St. Augustine Record <a>(80)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Planning and Building Department, City of St. Augustine, FL <a>(41)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Ramola Drost <a>(36)</a></li> "); //mapSearchBuilder.AppendLine(" <li>National Archives and Records Office, United States of America <a>(30)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine Historical Society <a>(27)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Historic St. Augustine Preservation Board <a>(23)</a></li> "); //mapSearchBuilder.AppendLine(" <li>State Photographic Archives, Strozier Library, Florida State University <a>(14)</a></li> "); //mapSearchBuilder.AppendLine(" <li>National Archives <a>(12)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Florida Souvenir, Co. <a>(10)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Library of Congress <a>(9)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Florida State News Bureau <a>(8)</a></li> "); //mapSearchBuilder.AppendLine(" <li>George A. Smathers Libraries, University of Florida <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Koppel Color Cards <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Topic</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine <a>(890)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine, Fl <a>(88)</a></li> "); //mapSearchBuilder.AppendLine(" <li>46 Saint George Street <a>(73)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Arrivas House <a>(73)</a></li> "); //mapSearchBuilder.AppendLine(" <li>143 Saint George Street <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Dr. Peck House <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Pe�a-Peck House <a>(65)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Burt House <a>(64)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Ximenez-Fatio House <a>(59)</a></li> "); //mapSearchBuilder.AppendLine(" <li>43 Saint George Street <a>(56)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Geographic Area</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>Florida <a>(1269)</a></li> "); //mapSearchBuilder.AppendLine(" <li>North America <a>(1269)</a></li> "); //mapSearchBuilder.AppendLine(" <li>United States of America <a>(1268)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Johns <a>(870)</a></li> "); //mapSearchBuilder.AppendLine(" <li>Saint Augustine <a>(851)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Augustine <a>(399)</a></li> "); //mapSearchBuilder.AppendLine(" <li>St. Johns <a>(399)</a></li> "); //mapSearchBuilder.AppendLine(" <li>United States <a>(1)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <h3>Genre</h3> "); //mapSearchBuilder.AppendLine(" <div> "); //mapSearchBuilder.AppendLine(" <div class=\"sortResults\">sort A - z</div> "); //mapSearchBuilder.AppendLine(" <ul> "); //mapSearchBuilder.AppendLine(" <li>newspaper <a>(63)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan <a>(35)</a></li> "); //mapSearchBuilder.AppendLine(" <li>coastal chart <a>(29)</a></li> "); //mapSearchBuilder.AppendLine(" <li>map <a>(23)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan view <a>(20)</a></li> "); //mapSearchBuilder.AppendLine(" <li>survey <a>(14)</a></li> "); //mapSearchBuilder.AppendLine(" <li>plan and profile <a>(8)</a></li> "); //mapSearchBuilder.AppendLine(" <li>profile <a>(7)</a></li> "); //mapSearchBuilder.AppendLine(" <li>manuscript <a>(2)</a></li> "); //mapSearchBuilder.AppendLine(" <li>survey and profile <a>(2)</a></li> "); //mapSearchBuilder.AppendLine(" </ul> "); //mapSearchBuilder.AppendLine(" <div class=\"loadmoreResults\">load more</div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbar3\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_timebar\"> "); //mapSearchBuilder.AppendLine(" <div id=\"timebar_value\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"timebar\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_mainContent\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content1\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content2\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_content3\"></div> "); //mapSearchBuilder.AppendLine(" <div id=\"container_map\"></div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox2\"> "); //mapSearchBuilder.AppendLine(" <div id=\"container_resultsBox\"> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"resultsBox_header\">Search Results</div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" <div id=\"container_toolbox2_scrollContent\"> "); //mapSearchBuilder.AppendLine(" <div id=\"resultsBox\"> "); //mapSearchBuilder.AppendLine(" <div id=\"result_1\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result1.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Aritst's rendering for possible reconstruction projects along the South side of Cuna Street</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_2\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result2.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artist rendering of possible reconstruction projects in Block 4 and Block 5, centered on the Perez Sanchez House reconstruction; Corner of Charlotte Street and Treasury Street</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_3\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result3.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artists rending of a concept for the reconstruction of the Ribera House, including the Blanco House and Carmona House</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" <div id=\"result_4\" class=\"result\"> "); //mapSearchBuilder.AppendLine(" <img class=\"result_thumb\" src=\"http://hlmatt.com/uf/part2/resources/result4.jpg\"/> "); //mapSearchBuilder.AppendLine(" <p class=\"result_desc\">Artist's Rendering of Block 8, from the corner of Hypolita Street and Charlotte Street, focusing on the Regidor-Clark House</p> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" </div> "); //mapSearchBuilder.AppendLine(" "); #endregion //end of custom content mapSearchBuilder.AppendLine("</td>"); Search_Script_Reference = (mapSearchBuilder.ToString()); }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="SearchType"> Type of search from the current http request </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Search_Type_Enum SearchType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (SearchType) { case Search_Type_Enum.Advanced: if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange)) { return(new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); } if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType)) { return(new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Basic: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Full_Text: return(new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Newspaper: return(new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Map: return(new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Map_Beta: return(new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag)); case Search_Type_Enum.dLOC_Full_Text: return(new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag)); default: return(null); } }
/// <summary> Constructor for a new instance of the No_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public No_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Do nothing }
/// <summary> Constructor for objects which implement this abstract class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> protected abstractAggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { this.RequestSpecificValues = RequestSpecificValues; this.ViewBag = ViewBag; }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="ViewType"> Aggregation view type </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Item_Aggregation_Views_Searches_Enum ViewType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (ViewType) { case Item_Aggregation_Views_Searches_Enum.Advanced_Search: return(new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType: return(new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange: return(new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_YearRange: return(new Basic_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_FullTextOption: return(new Basic_Text_Search_Combined_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_MimeType: Item_Aggregation_Front_Banner frontBannerImage2 = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage2 != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.FullText_Search: return(new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.No_Home_Search: return(new No_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Newspaper_Search: return(new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Map_Search: return(new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Map_Search_Beta: return(new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.DLOC_FullText_Search: return(new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Empty: return(new Empty_AggregationViewer(RequestSpecificValues, ViewBag)); default: return(null); } }
/// <summary> Constructor for a new instance of the Metadata_Browse_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Empty_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Do nothing else }
/// <summary> Constructor for a new instance of the Map_Search_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Map_Search_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { // Compute the redirect stem to use string fields = RequestSpecificValues.Current_Mode.Search_Fields; string search_string = RequestSpecificValues.Current_Mode.Search_String; RequestSpecificValues.Current_Mode.Search_String = String.Empty; RequestSpecificValues.Current_Mode.Search_Fields = String.Empty; RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Results; RequestSpecificValues.Current_Mode.Search_Type = Search_Type_Enum.Map; RequestSpecificValues.Current_Mode.Search_Precision = Search_Precision_Type_Enum.Inflectional_Form; string redirect_stem = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Search; RequestSpecificValues.Current_Mode.Search_String = search_string; RequestSpecificValues.Current_Mode.Search_Fields = fields; // Now, populate the search terms, if there was one or some text1 = String.Empty; text2 = String.Empty; text3 = String.Empty; text4 = String.Empty; if (RequestSpecificValues.Current_Mode.Search_String.Length > 0) { string[] splitter = RequestSpecificValues.Current_Mode.Search_String.Split(",".ToCharArray()); bool isNumber = true; foreach (char thisChar in splitter[0]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) { isNumber = false; } } if (isNumber) { text1 = splitter[0].Replace(" =", " or "); if (splitter.Length > 1) { foreach (char thisChar in splitter[1]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) { isNumber = false; } } if (isNumber) { text2 = splitter[1].Replace(" =", " or "); if (splitter.Length > 2) { foreach (char thisChar in splitter[2]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) { isNumber = false; } } if (isNumber) { text3 = splitter[2].Replace(" =", " or "); foreach (char thisChar in splitter[3]) { if ((!Char.IsDigit(thisChar)) && (thisChar != '.') && (thisChar != '-')) { isNumber = false; } } if (isNumber) { text4 = splitter[3].Replace(" =", " or "); } } } } } } } // Add the google script information mapHeight = 500; StringBuilder scriptBuilder = new StringBuilder(); // Only continue if there actually IS a map key if (!String.IsNullOrWhiteSpace(UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key)) { scriptBuilder.AppendLine("<script src=\"https://maps.googleapis.com/maps/api/js?key=" + UI_ApplicationCache_Gateway.Settings.System.Google_Map_API_Key + "\" type=\"text/javascript\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Sobekcm_Map_Search_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\" src=\"" + Static_Resources_Gateway.Sobekcm_Map_Tool_Js + "\"></script>"); scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA["); scriptBuilder.AppendLine(" function load() { "); // Set the latitude and longitude int zoom = 1; decimal latitude = 0; decimal longitude = 0; if (ViewBag.Hierarchy_Object.Map_Search_Display != null) { if ((ViewBag.Hierarchy_Object.Map_Search_Display.ZoomLevel.HasValue) && (ViewBag.Hierarchy_Object.Map_Search_Display.Latitude.HasValue) && (ViewBag.Hierarchy_Object.Map_Search_Display.Longitude.HasValue)) { latitude = ViewBag.Hierarchy_Object.Map_Search_Display.Latitude.Value; longitude = ViewBag.Hierarchy_Object.Map_Search_Display.Longitude.Value; zoom = ViewBag.Hierarchy_Object.Map_Search_Display.ZoomLevel.Value; } } scriptBuilder.AppendLine(" load_search_map(" + latitude + ", " + longitude + ", " + zoom + ", \"map1\");"); //// If no point searching is allowed, disable it //if (ViewBag.Hierarchy_Object.Map_Search >= 100) //{ // pointSearchingDisabled = true; // scriptBuilder.AppendLine(" disable_point_searching();"); //} if ((text1.Length > 0) && (text2.Length > 0) && (text3.Length > 0) && (text4.Length > 0)) { scriptBuilder.AppendLine(" add_selection_rectangle( " + text1 + ", " + text2 + ", " + text3 + ", " + text4 + " );"); scriptBuilder.AppendLine(" zoom_to_bounds();"); } else if ((text1.Length > 0) && (text2.Length > 0)) { scriptBuilder.AppendLine(" add_selection_point( " + text1 + ", " + text2 + ", 8 );"); } scriptBuilder.AppendLine(" }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } else { // No Google Map API Key scriptBuilder.AppendLine("<script type=\"text/javascript\">"); scriptBuilder.AppendLine(" //<![CDATA[ "); scriptBuilder.AppendLine(" function load() { }"); scriptBuilder.AppendLine(" //]]>"); scriptBuilder.AppendLine("</script>"); } Search_Script_Reference = scriptBuilder.ToString(); // Get the action name for the button Search_Script_Action = "map_search_sobekcm('" + redirect_stem + "');"; }
/// <summary> Constructor for a new instance of the Static_Browse_Info_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Static_Browse_Info_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { bool isAdmin = (RequestSpecificValues.Current_User != null) && (RequestSpecificValues.Current_User.Is_Aggregation_Admin(ViewBag.Hierarchy_Object.Code)); if ((RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Child_Page_Edit) && (!isAdmin)) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; } NameValueCollection form = HttpContext.Current.Request.Form; if ((RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Child_Page_Edit) && (form["sbkSbia_ChildTextEdit"] != null) && (RequestSpecificValues.Current_User != null)) { string aggregation_folder = UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location + "aggregations\\" + ViewBag.Hierarchy_Object.Code + "\\"; string file = aggregation_folder + ViewBag.Browse_Object.Source; // Get the header information as well if (!String.IsNullOrEmpty(form["admin_childpage_title"])) { ViewBag.Static_Web_Content.Title = form["admin_childpage_title"]; } if (form["admin_childpage_author"] != null) { ViewBag.Static_Web_Content.Author = form["admin_childpage_author"]; } if (form["admin_childpage_date"] != null) { ViewBag.Static_Web_Content.Date = form["admin_childpage_date"]; } if (form["admin_childpage_description"] != null) { ViewBag.Static_Web_Content.Description = form["admin_childpage_description"]; } if (form["admin_childpage_keywords"] != null) { ViewBag.Static_Web_Content.Keywords = form["admin_childpage_keywords"]; } if (form["admin_childpage_extrahead"] != null) { ViewBag.Static_Web_Content.Extra_Head_Info = form["admin_childpage_extrahead"]; } // Make a backup from today, if none made yet if (File.Exists(file)) { DateTime lastWrite = (new FileInfo(file)).LastWriteTime; string new_file = file.ToLower().Replace(".txt", "").Replace(".html", "").Replace(".htm", "") + lastWrite.Year + lastWrite.Month.ToString().PadLeft(2, '0') + lastWrite.Day.ToString().PadLeft(2, '0') + ".bak"; if (File.Exists(new_file)) { File.Delete(new_file); } File.Move(file, new_file); } // Assign the new text ViewBag.Static_Web_Content.Content = form["sbkSbia_ChildTextEdit"].Replace("%]", "%>").Replace("[%", "<%"); ViewBag.Static_Web_Content.Date = DateTime.Now.ToLongDateString(); ViewBag.Static_Web_Content.Save_To_File(file); // Also save this change SobekCM_Database.Save_Item_Aggregation_Milestone(ViewBag.Hierarchy_Object.Code, "Child page '" + ViewBag.Browse_Object.Code + "' edited (" + Web_Language_Enum_Converter.Enum_To_Name(RequestSpecificValues.Current_Mode.Language) + ")", RequestSpecificValues.Current_User.Full_Name); // Forward along RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; if (ViewBag.Browse_Object.Browse_Type == Item_Aggregation_Child_Visibility_Enum.Metadata_Browse_By) { RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_By; } string redirect_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); if (redirect_url.IndexOf("?") > 0) { redirect_url = redirect_url + "&refresh=always"; } else { redirect_url = redirect_url + "?refresh=always"; } RequestSpecificValues.Current_Mode.Request_Completed = true; HttpContext.Current.Response.Redirect(redirect_url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } }
/// <summary> Constructor for a new instance of the Static_Browse_Info_AggregationViewer class </summary> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> Aggregation-specific request information, such as aggregation object and any browse object requested </param> public Static_Browse_Info_AggregationViewer(RequestCache RequestSpecificValues, AggregationViewBag ViewBag) : base(RequestSpecificValues, ViewBag) { bool isAdmin = (RequestSpecificValues.Current_User != null) && (RequestSpecificValues.Current_User.Is_Aggregation_Admin(ViewBag.Hierarchy_Object.Code)); if (( RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Child_Page_Edit) && ( !isAdmin)) RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; NameValueCollection form = HttpContext.Current.Request.Form; if ((RequestSpecificValues.Current_Mode.Aggregation_Type == Aggregation_Type_Enum.Child_Page_Edit) && (form["sbkSbia_ChildTextEdit"] != null) && ( RequestSpecificValues.Current_User != null )) { string aggregation_folder = UI_ApplicationCache_Gateway.Settings.Servers.Base_Design_Location + "aggregations\\" + ViewBag.Hierarchy_Object.Code + "\\"; string file = aggregation_folder + ViewBag.Browse_Object.Source; // Get the header information as well if ( !String.IsNullOrEmpty(form["admin_childpage_title"])) { ViewBag.Static_Web_Content.Title = form["admin_childpage_title"]; } if (form["admin_childpage_author"] != null) ViewBag.Static_Web_Content.Author = form["admin_childpage_author"]; if (form["admin_childpage_date"] != null) ViewBag.Static_Web_Content.Date = form["admin_childpage_date"]; if (form["admin_childpage_description"] != null) ViewBag.Static_Web_Content.Description = form["admin_childpage_description"]; if (form["admin_childpage_keywords"] != null) ViewBag.Static_Web_Content.Keywords = form["admin_childpage_keywords"]; if (form["admin_childpage_extrahead"] != null) ViewBag.Static_Web_Content.Extra_Head_Info = form["admin_childpage_extrahead"]; // Make a backup from today, if none made yet if (File.Exists(file)) { DateTime lastWrite = (new FileInfo(file)).LastWriteTime; string new_file = file.ToLower().Replace(".txt", "").Replace(".html", "").Replace(".htm", "") + lastWrite.Year + lastWrite.Month.ToString().PadLeft(2, '0') + lastWrite.Day.ToString() .PadLeft(2, '0')+ ".bak"; if (File.Exists(new_file)) File.Delete(new_file); File.Move(file, new_file); } // Assign the new text ViewBag.Static_Web_Content.Content = form["sbkSbia_ChildTextEdit"].Replace("%]", "%>").Replace("[%", "<%"); ViewBag.Static_Web_Content.Date = DateTime.Now.ToLongDateString(); ViewBag.Static_Web_Content.Save_To_File(file); // Also save this change SobekCM_Database.Save_Item_Aggregation_Milestone(ViewBag.Hierarchy_Object.Code, "Child page '" + ViewBag.Browse_Object.Code + "' edited (" + Web_Language_Enum_Converter.Enum_To_Name(RequestSpecificValues.Current_Mode.Language) + ")", RequestSpecificValues.Current_User.Full_Name); // Forward along RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_Info; if (ViewBag.Browse_Object.Browse_Type == Item_Aggregation_Child_Visibility_Enum.Metadata_Browse_By) RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Browse_By; string redirect_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); if (redirect_url.IndexOf("?") > 0) redirect_url = redirect_url + "&refresh=always"; else redirect_url = redirect_url + "?refresh=always"; RequestSpecificValues.Current_Mode.Request_Completed = true; HttpContext.Current.Response.Redirect(redirect_url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } }