'use' => 'a'
),
+ // List View File
+ 'list_view_file' => array(
+ 'field' => 'list_view_file',
+ 'type' => 'list',
+ 'list' => $this->config['member_view_list'],
+ 'force_list' => true,
+ 'use' => 'a',
+ ),
+
+ // Grid View File
+ 'grid_view_file' => array(
+ 'field' => 'grid_view_file',
+ 'type' => 'list',
+ 'list' => $this->config['member_view_grid'],
+ 'force_list' => true,
+ 'use' => 'a',
+ ),
+
+ // Detail View File
+ 'detail_view_file' => array(
+ 'field' => 'detail_view_file',
+ 'type' => 'list',
+ 'list' => $this->config['member_view_detail'],
+ 'force_list' => true,
+ 'use' => 'a',
+ ),
+
// Front-end Listings - Show Featured Members
'list_show_featured' => array(
'field' => 'list_show_featured',
;
; Main Configuration File
-; Gaslight Media Members Database Plugin
+; Gaslight Media Members Database Plugin
;
; Image sizes array is outsize of the sections below and is added to $config after the section is selected.
; Any sizes added to this section will used by the Data Abstract to generate that size when images are uploaded.
-; Crop value:
+; Crop value:
; 1. If false (default), images will not be cropped.
-; 2. If true, images will be cropped to the specified width/height aspect ratio.
-
+; 2. If true, images will be cropped to the specified width/height aspect ratio.
+
[imageSizes]
large['width'] = 800
map_interface_numb['None'] = 0
map_interface_numb['Leaflet'] = 1
map_interface_numb['Google'] = 2
+
+member_view_list['listTypeList'] = 'Default'
+member_view_list['listTypeListA'] = 'Style 2'
+
+member_view_grid['listTypeGrid'] = 'Default'
+member_view_grid['listTypeGridA'] = 'WMTA Style'
+
+member_view_detail['detail'] = 'Default'
+member_view_detail['detailA'] = 'WMTA Style'
*/
define('GLM_MEMBERS_PLUGIN_VERSION', '2.11.2');
-define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.50');
+define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.51');
// Check if plugin version is not current in WordPress option and if needed updated it
if (GLM_MEMBERS_PLUGIN_VERSION != get_option('glmMembersDatabasePluginVersion')) {
// Update all general setttings
$generalSettings = $this->updateEntry( 1 );
+ // echo '<pre>$generalSettings: ' . print_r( $generalSettings, true ) . '</pre>';
if ( $generalSettings[ 'status' ] ) {
$settings_updated = true;
} else {
// Try to get the first (should be only) entry for general settings.
$generalSettings = $this->editEntry( $id );
+ // echo '<pre>$generalSettings: ' . print_r( $generalSettings, true ) . '</pre>';
break;
}
if ( defined( 'GLM_MEMBER_LIST_AJAX_LOADER' ) && GLM_MEMBER_LIST_AJAX_LOADER ) {
if ( $view == 'grid' ) {
- $viewFile = 'front/members/listTypeGrid.html';
+ $viewFile = 'front/members/' . $this->config['settings']['grid_view_file'] . '.html';
} else {
- $viewFile = 'front/members/listTypeList.html';
+ $viewFile = 'front/members/' . $this->config['settings']['list_view_file'] . '.html';
}
}
+++ /dev/null
--- Gaslight Media Members Database
--- File Created: 12/29/16 12:06:00
--- Database Version: 1.1.50
--- Database Creation Script
---
--- To permit each query below to be executed separately,
--- all queries must be separated by a line with four dashes
---
--- **** BE SURE TO ALSO UPDATE drop_database_Vxxx.sql FILE WHEN CHANGING TABLES ****
---
-
--- Amenities
-CREATE TABLE {prefix}amenities (
- id INT NOT NULL AUTO_INCREMENT,
- active TINYINT(1) NULL, -- Amenity is active flag
- name TINYTEXT NULL, -- Name of amenity
- descr TEXT NULL, -- Description of amenity
- short_descr TINYTEXT NULL, -- Short description of amenity
- ref_type INT NULL, -- Type of entity these amenities are associated with - see plugin.ini ref_type tables
- uses_value BOOLEAN NULL, -- Flag indicating whether the amenity requires a quantity number
- PRIMARY KEY (id),
- INDEX(name(20))
-);
-
-----
-
--- Amenity Reference - Links a specific amenity to a specific entity of type ref_type
-CREATE TABLE {prefix}amenity_ref (
- id INT NOT NULL AUTO_INCREMENT,
- amenity INT NULL, -- Pointer to amenity in amenities table
- ref_type INT NULL, -- Copy of ref_type from matching amenities table entry - to simplify searches
- ref_dest INT NULL, -- Pointer to the specific entity of type ref_type
- amenity_value TINYTEXT NULL, -- Quantity if amenity uses values
- PRIMARY KEY (id),
- INDEX(ref_type),
- INDEX(ref_dest)
-);
-
-----
-
--- groups
-CREATE TABLE {prefix}amenity_groups (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of the Group
- PRIMARY KEY (id),
- INDEX(name(20))
-);
-
-----
-
--- Amenity Group - Links a specific amenity to groups
-CREATE TABLE {prefix}grouped_amenities (
- id INT NOT NULL AUTO_INCREMENT,
- group_id INT, -- Pointer to the group
- amenity_id INT, -- Pointer to the Amenity
- searchable BOOLEAN DEFAULT '0', -- Flag indicating whether the amenity group will show in the search form
- PRIMARY KEY (id)
-);
-
-----
-
--- Member Cateogries - used with member information records
-CREATE TABLE {prefix}categories (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of this category
- descr TEXT NULL, -- Description of this category
- short_descr TINYTEXT NULL, -- Short description of this category
- parent INT NULL, -- Pointer to parent category in this table - if there is one
- PRIMARY KEY (id)
-);
-
-----
-
--- Mapping of categories to specific member information records
-CREATE TABLE {prefix}category_member_info (
- id INT NOT NULL AUTO_INCREMENT,
- category INT NULL, -- Pointer to category in categories table
- member_info INT NULL, -- Pointer to member information record
- PRIMARY KEY (id),
- CONSTRAINT {prefix}categories_fk_1
- FOREIGN KEY (category)
- REFERENCES {prefix}categories (id)
- ON DELETE CASCADE,
- INDEX(category),
- INDEX(member_info)
-);
-
-----
-
--- Cities
-CREATE TABLE {prefix}cities (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of city
- state TINYTEXT NULL, -- State
- enable_weather BOOLEAN DEFAULT '0', -- Enable Weather for this city
- lat FLOAT NULL, -- Latitude of city's location
- lon FLOAT NULL, -- Longitude of city's location
- county INT NULL, -- County reference to county table
- temp_max TINYTEXT NULL, -- Max temp
- temp_min TINYTEXT NULL, -- Min temp
- icon TINYTEXT NULL, -- Icon url
- weather TINYTEXT NULL, -- weather
- moreinfo TEXT NULL, -- moreinfo
- wx_time DATETIME NULL, -- last update time for weather
- PRIMARY KEY (id)
-);
-
-----
-
--- Member Click Through Stats Data - Totals of URL click-throughs - Preserved for 2 years
-CREATE TABLE {prefix}clickthrough_stats (
- member INT NOT NULL, -- ID of member
- stat_type INT NOT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
- stat_date DATE NOT NULL, -- Date for which these stats are accumulated (date or first date of week or month)
- clicks INT NULL, -- Number of Clicks
- PRIMARY KEY (member, stat_type, stat_date),
- INDEX (member),
- INDEX (stat_type),
- INDEX (stat_date)
-);
-
-----
-
--- Files - Files are stored under /wp-content/uploads/glm-member-db/files/
-CREATE TABLE {prefix}files (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Original name of the file - might be URL if copied via HTTP
- status TINYINT(1) NULL, -- Display/Use status - See plugin.ini status table
- file_name TINYTEXT NULL, -- Stored file name for the file
- descr TEXT NULL, -- Description
- caption TINYTEXT NULL, -- Caption for the image
- position INT NULL, -- Numeric position for sequence of display
- ref_type INT NULL, -- Type of entity this image is associated with
- ref_dest INT NULL, -- Pointer to the specific entity of ref_type this image is associated with
- PRIMARY KEY (id),
- INDEX(name(20)),
- INDEX(file_name(20)),
- INDEX(ref_type),
- INDEX(ref_dest)
-);
-
-----
-
--- Images - Images are stored under /wp-content/uploads/glm-member-db/images/{size}/
-CREATE TABLE {prefix}images (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Original name of the image - might be URL if copied via HTTP
- status TINYINT(1) NULL, -- Display/Use status - See plugin.ini status table
- selected BOOLEAN NULL, -- A single special image in the current gallery for this entity
- featured BOOLEAN null, -- Image is a member of a group of featured images
- file_name TINYTEXT NULL, -- Stored file name for the image
- descr TEXT NULL, -- Description
- caption TINYTEXT NULL, -- Caption for the image
- position INT NULL, -- Numeric position for sequence of display
- ref_type INT NULL, -- Type of entity this image is associated with
- ref_dest INT NULL, -- Pointer to the specific entity of ref_type this image is associated with
- PRIMARY KEY (id),
- INDEX(name(20)),
- INDEX(file_name(20)),
- INDEX(ref_type),
- INDEX(ref_dest)
-);
-
-----
-
--- Primary member records - One for each member
-CREATE TABLE {prefix}members (
- id INT NOT NULL AUTO_INCREMENT,
- access INT NULL, -- Access type - See access table in plugin.ini
- member_type INT NULL, -- Pointer to member type in member_type table
- created DATE NULL, -- Date member record was created
- name TINYTEXT NULL, -- Member name
- member_slug TINYTEXT NULL, -- Member name slug for canonical URLs (lowercase, "-" for spaces, no punctuation)
- notes TEXT NULL, -- General notes - Not displayed in front-end
- old_member_id TINYTEXT NULL, -- Old member ID if imported from old database
- featured BOOLEAN DEFAULT '0', -- Whether the member is featured
- PRIMARY KEY (id),
- INDEX(name(20)),
- INDEX(member_slug(20)),
- INDEX(created),
- INDEX(old_member_id(20))
-);
-
-----
-
--- Member Detail Display Stats Data - Totals of times detail page is displayed - Preserved for 2 years
-CREATE TABLE {prefix}member_detail_stats (
- member INT NOT NULL, -- ID of member
- stat_type INT NOT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
- stat_date DATE NOT NULL, -- Date for which these stats are accumulated (date or first date of week or month)
- clicks INT NULL, -- Number of Clicks
- PRIMARY KEY (member, stat_type, stat_date),
- INDEX (member),
- INDEX (stat_type),
- INDEX (stat_date)
-);
-
-----
-
--- Member information version record - May be multiples per member - Only one with status "Active" for a distinct date range
-CREATE TABLE {prefix}member_info (
- id INT NOT NULL AUTO_INCREMENT,
- member INT NULL, -- Pointer to member record in table members
- member_name TINYTEXT NULL, -- Copy of member name from members table entry for fast reference
- status INT NULL, -- Status of this member information record - See plugin.ini status table
- reference_name TINYTEXT NULL, -- Reference name for this member information record - Not displayed on front-end
- has_no_map_data BOOLEAN DEFAULT '0', -- True if member info record has no map data
- has_no_profile BOOLEAN DEFAULT '0', -- True if member has no profile record
- descr TEXT NULL, -- Description
- short_descr TEXT NULL, -- Short description
- addr1 TINYTEXT NULL, -- Main member location address line 1
- addr2 TINYTEXT NULL, -- Address line 2
- city INT NULL, -- Pointer to City in cities table
- state TINYTEXT NULL, -- Two character state code - matches states.ini entries
- country TINYTEXT NULL, -- Two character country code - matches countries.ini entries
- zip TINYTEXT NULL, -- ZIP/Postal code
- lat FLOAT NULL, -- Latitude of member's location
- lon FLOAT NULL, -- Longitude of member's location
- region INT NULL, -- Pointer to entry in regions table
- county INT NULL, -- Pointer to entry in regions table
- phone TINYTEXT NULL, -- Primary phone number
- toll_free TINYTEXT NULL, -- Toll Free phone number
- url TINYTEXT NULL, -- URL with information about this member
- reservation_url TEXT NULL, -- Reservation URL
- email TINYTEXT NULL, -- Main E-Mail address for this member
- logo TINYTEXT NULL, -- Member logo
- cc_type INT NULL, -- Bitmap of credit card types accepted - See credit_card array in plugin.ini
- video_url TINYTEXT NULL, -- Video URL
- video_file TINYTEXT NULL, -- Video File Name
- video_title TINYTEXT NULL, -- Video Title
- video_descr TEXT NULL, -- Video Description
- video_type INT NULL, -- Video Type - See plugin.ini video type table.
- live_cam_url TINYTEXT NULL, -- Live Cam URL
- live_cam_title TINYTEXT NULL, -- Live Cam Title
- live_cam_descr TEXT NULL, -- Live Cam Description
- live_cam_type INT NULL, -- Live Cam Type - See plugin.ini video type table.
- mailing_addr1 TINYTEXT NULL, -- Mailing Address 1
- mailing_addr2 TINYTEXT NULL, -- Mailing Address 2
- mailing_city INT NULL, -- Mailing City (Pointer to City in cities table)
- mailing_state TINYTEXT NULL, -- Mailing State (Two character state code - matches states.ini entries)
- mailing_zip TINYTEXT NULL, -- Mailing ZIP/Postal code
- notes TEXT NULL, -- General notes - Not displayed in front-end
- create_time TIMESTAMP NULL, -- Create date/time
- modify_time TIMESTAMP NULL, -- Last update date/time
- PRIMARY KEY (id),
- INDEX(status),
- INDEX(city),
- INDEX(zip(10)),
- INDEX(lat),
- INDEX(lon),
- INDEX(region),
- INDEX(county),
- FULLTEXT KEY member_name (member_name)
-);
-
-----
-
--- Member type - Can be used to assign members to different "classes" of membership (i.e. Full, Associate, Premium)
--- Mostly for internal use by the member organization, but could be displayed - Consider a short_description if they are.
-CREATE TABLE {prefix}member_type (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of member type
- descr TINYTEXT NULL, -- Description of member type
- PRIMARY KEY (id)
-);
-
-----
-
--- Regions - Used to segment members into various geographical regions - can be cities, counties, or other logical regions
-CREATE TABLE {prefix}regions (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of region
- descr TEXT NULL, -- Description of region
- short_descr TINYTEXT NULL, -- Short description of region
- PRIMARY KEY (id)
-);
-
-----
-
--- Counties
-CREATE TABLE {prefix}counties (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of county
- descr TEXT NULL, -- Description of county
- short_descr TINYTEXT NULL, -- Short description of county
- PRIMARY KEY (id)
-);
-
-----
-
--- File Library Cateogries - used with "Files Library" - Created due to PDF failures in WordPress Media Library
-CREATE TABLE {prefix}file_library_categories (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Name of this category
- descr TEXT NULL, -- Description of this category
- short_descr TINYTEXT NULL, -- Short description of this category
- parent INT NULL, -- Pointer to parent category in this table - if there is one
- PRIMARY KEY (id)
-);
-
-----
-
--- Files Library - Files are stored under /wp-content/uploads/glm-member-db/filesLibrary/
-CREATE TABLE {prefix}file_library (
- id INT NOT NULL AUTO_INCREMENT,
- name TINYTEXT NULL, -- Original name of the file - might be URL if copied via HTTP
- file_name TINYTEXT NULL, -- Stored file name for the file
- descr TEXT NULL, -- Description
- title TINYTEXT NULL, -- File title
- last_access_time DATETIME NULL, -- Upload time or last access time
- PRIMARY KEY (id),
- INDEX(name(20)),
- INDEX(file_name(20))
-);
-
-----
-
--- General settings available on Management page in admin - Only 1 entry in this table
--- Items in this table should be all self-explanatory
-CREATE TABLE {prefix}settings_general (
- id INT NOT NULL AUTO_INCREMENT,
- admin_debug BOOLEAN DEFAULT '0',
- admin_debug_verbose BOOLEAN DEFAULT '0',
- front_debug BOOLEAN DEFAULT '0',
- front_debug_verbose BOOLEAN DEFAULT '0',
- enable_members BOOLEAN DEFAULT '1',
- selected_map_interface SMALLINT DEFAULT '1',
- leaflet_tile_server TINYTEXT DEFAULT '',
- leaflet_tile_server_key TINYTEXT DEFAULT '',
- google_maps_api_key TINYTEXT DEFAULT '',
- maps_default_lat FLOAT DEFAULT '45.3749',
- maps_default_lon FLOAT DEFAULT '-84.9592',
- maps_default_zoom INTEGER DEFAULT '10',
- time_zone TINYTEXT DEFAULT NULL,
- canonical_member_page TINYTEXT DEFAULT NULL,
- phone_infix TINYTEXT DEFAULT NULL,
- phone_format TINYTEXT DEFAULT NULL,
- default_state TINYTEXT DEFAULT NULL,
- enable_counties BOOLEAN DEFAULT '0',
- enable_multiple_profiles BOOLEAN DEFAULT '0',
- enable_single_profile BOOLEAN DEFAULT '0', -- Hide the add profile and clone profile links/buttons
- enable_member_reports BOOLEAN DEFAULT '1',
- enable_caching BOOLEAN DEFAULT '1',
- enable_contact_edit_only BOOLEAN DEFAULT '0',
- memb_info_location BOOLEAN DEFAULT '1',
- memb_info_contact BOOLEAN DEFAULT '1',
- memb_info_categories BOOLEAN DEFAULT '1',
- memb_info_images BOOLEAN DEFAULT '1',
- memb_info_files BOOLEAN DEFAULT '1',
- memb_info_video BOOLEAN DEFAULT '1',
- memb_info_cam BOOLEAN DEFAULT '1',
- file_library BOOLEAN DEFAULT '0',
- list_show_map BOOLEAN DEFAULT '1',
- list_show_featured BOOLEAN DEFAULT '0',
- list_show_featured_count SMALLINT DEFAULT '3',
- list_show_list BOOLEAN DEFAULT '1',
- list_order_list SMALLINT DEFAULT '10',
- list_pagination BOOLEAN DEFAULT '1',
- list_ajax_pagination BOOLEAN DEFAULT '0',
- list_pagination_count SMALLINT DEFAULT '20',
- list_show_sidebar_area BOOLEAN DEFAULT '0',
- list_show_header_text BOOLEAN DEFAULT '1',
- list_show_entities_found BOOLEAN DEFAULT '1',
- list_show_entities_shown BOOLEAN DEFAULT '1',
- list_show_search_filters_opened BOOLEAN DEFAULT '0',
- list_show_search BOOLEAN DEFAULT '1',
- list_show_search_text BOOLEAN DEFAULT '1',
- list_show_search_category BOOLEAN DEFAULT '1',
- list_show_search_amenities BOOLEAN DEFAULT '1',
- list_show_search_region BOOLEAN DEFAULT '1',
- list_show_search_alpha BOOLEAN DEFAULT '1',
- list_show_search_city BOOLEAN DEFAULT '0',
- list_floating_search BOOLEAN DEFAULT '0',
- list_floating_search_distance_top INTEGER DEFAULT '0', -- How far from the top the sticky Search/Filters box should hover
- list_show_detail_link BOOLEAN DEFAULT '1',
- list_show_logo BOOLEAN DEFAULT '1',
- list_logo_size TINYTEXT NULL,
- list_logo_for_mobile BOOLEAN DEFAULT '1',
- list_show_address BOOLEAN DEFAULT '1',
- list_show_street BOOLEAN DEFAULT '1',
- list_show_citystatezip BOOLEAN DEFAULT '1',
- list_show_country BOOLEAN DEFAULT '1',
- list_show_region BOOLEAN DEFAULT '1',
- list_show_descr BOOLEAN DEFAULT '0',
- list_show_short_descr BOOLEAN DEFAULT '1',
- list_show_phone BOOLEAN DEFAULT '1',
- list_show_tollfree BOOLEAN DEFAULT '1',
- list_show_url BOOLEAN DEFAULT '1',
- list_show_url_newtarget BOOLEAN DEFAULT '1',
- list_show_email BOOLEAN DEFAULT '1',
- list_show_categories BOOLEAN DEFAULT '0',
- list_show_creditcards BOOLEAN DEFAULT '0',
- list_show_amenities BOOLEAN DEFAULT '0',
- list_show_logo_filler BOOLEAN DEFAULT '1',
- list_show_live_cam BOOLEAN DEFAULT '1',
- list_map_show_opened BOOLEAN DEFAULT '0',
- list_map_show_detaillink BOOLEAN DEFAULT '1',
- list_map_show_logo BOOLEAN DEFAULT '0',
- list_map_logo_size TINYTEXT NULL,
- list_map_show_descr BOOLEAN DEFAULT '0',
- list_map_show_short_descr BOOLEAN DEFAULT '1',
- list_map_show_address BOOLEAN DEFAULT '1',
- list_map_show_street BOOLEAN DEFAULT '1',
- list_map_show_citystatezip BOOLEAN DEFAULT '1',
- list_map_show_country BOOLEAN DEFAULT '1',
- list_map_show_region BOOLEAN DEFAULT '1',
- list_map_show_phone BOOLEAN DEFAULT '1',
- list_map_show_tollfree BOOLEAN DEFAULT '1',
- list_map_show_url BOOLEAN DEFAULT '1',
- list_map_show_url_newtarget BOOLEAN DEFAULT '1',
- list_map_show_email BOOLEAN DEFAULT '1',
- list_map_show_categories BOOLEAN DEFAULT '0',
- list_map_show_creditcards BOOLEAN DEFAULT '0',
- list_map_show_amenities BOOLEAN DEFAULT '0',
- list_show_packages BOOLEAN DEFAULT '0',
- list_show_packages_link BOOLEAN DEFAULT '0',
- list_header_text TINYTEXT DEFAULT NULL,
- detail_auto_expand_sections BOOLEAN DEFAULT '0',
- detail_show_map BOOLEAN DEFAULT '1',
- detail_show_directions BOOLEAN DEFAULT '1',
- detail_show_logo BOOLEAN DEFAULT '1',
- detail_logo_size TINYTEXT NULL,
- detail_show_descr BOOLEAN DEFAULT '1',
- detail_show_short_descr BOOLEAN DEFAULT '0',
- detail_show_address BOOLEAN DEFAULT '1',
- detail_show_street BOOLEAN DEFAULT '1',
- detail_show_citystatezip BOOLEAN DEFAULT '1',
- detail_show_country BOOLEAN DEFAULT '1',
- detail_show_region BOOLEAN DEFAULT '1',
- detail_show_phone BOOLEAN DEFAULT '1',
- detail_show_tollfree BOOLEAN DEFAULT '1',
- detail_show_url BOOLEAN DEFAULT '1',
- detail_show_url_newtarget BOOLEAN DEFAULT '1',
- detail_show_email BOOLEAN DEFAULT '1',
- detail_show_categories BOOLEAN DEFAULT '0',
- detail_show_creditcards BOOLEAN DEFAULT '0',
- detail_show_amenities BOOLEAN DEFAULT '1',
- detail_show_imagegallery BOOLEAN DEFAULT '1',
- detail_show_coupons BOOLEAN DEFAULT '0',
- detail_show_packages BOOLEAN DEFAULT '0',
- detail_show_events BOOLEAN DEFAULT '0',
- detail_show_video BOOLEAN DEFAULT '0',
- detail_show_live_cam BOOLEAN DEFAULT '0',
- detail_top_offset_autoscroll INTEGER DEFAULT '0', -- Determines the distance from the top when autoscrolling to a section on member detail pages
- detail_map_show_logo BOOLEAN DEFAULT '0',
- detail_map_logo_size TINYTEXT NULL,
- detail_map_show_descr BOOLEAN DEFAULT '0',
- detail_map_show_short_descr BOOLEAN DEFAULT '1',
- detail_map_show_address BOOLEAN DEFAULT '1',
- detail_map_show_street BOOLEAN DEFAULT '1',
- detail_map_show_citystatezip BOOLEAN DEFAULT '1',
- detail_map_show_country BOOLEAN DEFAULT '1',
- detail_map_show_region BOOLEAN DEFAULT '1',
- detail_map_show_phone BOOLEAN DEFAULT '1',
- detail_map_show_tollfree BOOLEAN DEFAULT '1',
- detail_map_show_url BOOLEAN DEFAULT '1',
- detail_map_show_url_newtarget BOOLEAN DEFAULT '1',
- detail_map_show_email BOOLEAN DEFAULT '1',
- detail_map_show_categories BOOLEAN DEFAULT '0',
- detail_map_show_creditcards BOOLEAN DEFAULT '0',
- detail_map_show_amenities BOOLEAN DEFAULT '0',
- members_only_support_email TINYTEXT DEFAULT '',
- members_only_support_phone TINYTEXT DEFAULT '',
- updates_notification_to TINYTEXT DEFAULT '', -- To email address for the notification email
- updates_notification_from TINYTEXT DEFAULT '', -- From header for the notification email
- updates_notification TEXT DEFAULT '', -- Notification message
- short_desc_char_limit INTEGER DEFAULT '120', -- How many characters the short description is limited to - also used for importing
- use_cluster_markers BOOLEAN DEFAULT '0', -- Flag to say if cluster markers should be use in maps
- recaptcha_site_key TINYTEXT DEFAULT '', -- reCAPTCHA site key
- recaptcha_secret_key TINYTEXT DEFAULT '', -- reCAPTCHA secret key
- recaptcha_header_code TEXT DEFAULT '', -- reCAPTCHA code for page header
- recaptcha_form_code TEXT DEFAULT '', -- reCAPTCHA code for captcha form field
- new_member_intro TEXT NULL, -- New Member intro
- new_member_thankyou TEXT NULL, -- New Member thank you
- new_member_type_default INTEGER DEFAULT '0', -- New Member member type default
- new_member_notice_to TINYTEXT NULL, -- New Member notice To:
- new_member_notice_from TINYTEXT NULL, -- weather
- new_member_notice_message TEXT NULL, -- New Member notice Message
- PRIMARY KEY (id)
-);
-
-----
-
--- Set default entry
-INSERT INTO {prefix}settings_general
- ( id, time_zone, canonical_member_page, list_logo_size, list_map_logo_size, detail_logo_size, detail_map_logo_size,
- list_pagination, list_pagination_count, enable_counties, enable_multiple_profiles, enable_member_reports, enable_caching, updates_notification, enable_single_profile )
- VALUES
- ( 1, 'America/Detroit', 'member-detail', 'large', 'thumb', 'large', 'thumb', '1', 20, 0, 0, 1, 1,
- 'A member has updated their record and is now in a pending state.', 0)
-;
-
-----
-
--- Terms used in site modifiable on Management page in admin - Only 1 entry in this table
--- Terms in this table should be all self-explanatory
-CREATE TABLE {prefix}settings_terms (
- id INT NOT NULL AUTO_INCREMENT,
- term_admin_menu_members TINYTEXT NULL,
- term_admin_menu_member_list TINYTEXT NULL,
- term_admin_menu_member TINYTEXT NULL,
- term_admin_menu_configure TINYTEXT NULL,
- term_admin_menu_settings TINYTEXT NULL,
- term_admin_menu_shortcodes TINYTEXT NULL,
- term_admin_menu_members_dashboard TINYTEXT NULL,
- term_admin_menu_members_list TINYTEXT NULL,
- term_admin_menu_members_reports TINYTEXT NULL,
- term_admin_menu_member_dashboard TINYTEXT NULL,
- term_admin_menu_member_info TINYTEXT NULL,
- term_admin_menu_member_locations TINYTEXT NULL,
- term_admin_menu_member_facilities TINYTEXT NULL,
- term_admin_menu_member_attractions TINYTEXT NULL,
- term_admin_menu_member_contacts TINYTEXT NULL,
- term_admin_menu_configure_member_types TINYTEXT NULL,
- term_admin_menu_configure_member_cats TINYTEXT NULL,
- term_admin_menu_configure_accom_types TINYTEXT NULL,
- term_admin_menu_configure_amenities TINYTEXT NULL,
- term_admin_menu_configure_cities TINYTEXT NULL,
- term_admin_menu_configure_counties TINYTEXT NULL,
- term_admin_menu_configure_regions TINYTEXT NULL,
- term_admin_menu_settings_general TINYTEXT NULL,
- term_admin_menu_settings_terms TINYTEXT NULL,
- term_admin_menu_settings_development TINYTEXT NULL,
- term_member TINYTEXT NULL,
- term_member_cap TINYTEXT NULL,
- term_member_plur TINYTEXT NULL,
- term_member_plur_cap TINYTEXT NULL,
- term_location TINYTEXT NULL,
- term_location_cap TINYTEXT NULL,
- term_location_plur TINYTEXT NULL,
- term_location_plur_cap TINYTEXT NULL,
- term_county TINYTEXT NULL,
- term_county_cap TINYTEXT NULL,
- term_county_plur TINYTEXT NULL,
- term_county_plur_cap TINYTEXT NULL,
- term_facility TINYTEXT NULL,
- term_facility_cap TINYTEXT NULL,
- term_facility_plur TINYTEXT NULL,
- term_facility_plur_cap TINYTEXT NULL,
- term_attraction TINYTEXT NULL,
- term_attraction_cap TINYTEXT NULL,
- term_attraction_plur TINYTEXT NULL,
- term_attraction_plur_cap TINYTEXT NULL,
- term_contact TINYTEXT NULL,
- term_contact_cap TINYTEXT NULL,
- term_contact_plur TINYTEXT NULL,
- term_contact_plur_cap TINYTEXT NULL,
- term_webcam_cap TINYTEXT NULL,
- PRIMARY KEY (id)
-);
-
-----
-
--- Default terms entry
-INSERT INTO {prefix}settings_terms
- (
- id,
- term_admin_menu_members,
- term_admin_menu_member_list,
- term_admin_menu_member,
- term_admin_menu_configure,
- term_admin_menu_settings,
- term_admin_menu_shortcodes,
- term_admin_menu_members_dashboard,
- term_admin_menu_members_list,
- term_admin_menu_members_reports,
- term_admin_menu_member_dashboard,
- term_admin_menu_member_info,
- term_admin_menu_member_locations,
- term_admin_menu_member_facilities,
- term_admin_menu_member_attractions,
- term_admin_menu_member_contacts,
- term_admin_menu_configure_member_types,
- term_admin_menu_configure_member_cats,
- term_admin_menu_configure_accom_types,
- term_admin_menu_configure_amenities,
- term_admin_menu_configure_cities,
- term_admin_menu_configure_counties,
- term_admin_menu_configure_regions,
- term_admin_menu_settings_general,
- term_admin_menu_settings_terms,
- term_admin_menu_settings_development,
- term_member,
- term_member_cap,
- term_member_plur,
- term_member_plur_cap,
- term_location,
- term_location_cap,
- term_location_plur,
- term_location_plur_cap,
- term_county,
- term_county_cap,
- term_county_plur,
- term_county_plur_cap,
- term_facility,
- term_facility_cap,
- term_facility_plur,
- term_facility_plur_cap,
- term_attraction,
- term_attraction_cap,
- term_attraction_plur,
- term_attraction_plur_cap,
- term_contact,
- term_contact_cap,
- term_contact_plur,
- term_contact_plur_cap,
- term_webcam_cap
- )
- VALUES
- (
- 1,
- 'Members',
- 'Member',
- 'Member',
- 'Configure',
- 'Management',
- 'Shortcodes',
- 'Dashboard',
- 'Member List',
- 'Reports',
- 'Member Dashboard',
- 'Member Info',
- 'Locations',
- 'Facilities',
- 'Attractions',
- 'Contacts',
- 'Member Types',
- 'Member Categories',
- 'Accommodation Types',
- 'Amenities',
- 'Cities',
- 'Counties',
- 'Regions',
- 'General Settings',
- 'Terms & Phrases',
- 'Development',
- 'member',
- 'Member',
- 'members',
- 'Members',
- 'location',
- 'Location',
- 'locations',
- 'Locations',
- 'county',
- 'County',
- 'counties',
- 'Counties',
- 'facility',
- 'Facility',
- 'facilities',
- 'Facilities',
- 'attraction',
- 'Attraction',
- 'attractions',
- 'Attractions',
- 'contact',
- 'Contact',
- 'contacts',
- 'Contacts',
- 'Webcam'
- )
-;
-
-----
-
--- Shortcode Output Cache
-CREATE TABLE {prefix}cache (
- shortcode TINYTEXT NULL,
- cache_code TINYTEXT NOT NULL,
- created DATETIME NULL,
- html MEDIUMTEXT NULL,
- PRIMARY KEY (cache_code(20)),
- INDEX (created)
-);
-
-----
-
--- Theme Settings - Only 1 entry in this table
-CREATE TABLE {prefix}settings_theme (
- id INT NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (id)
-);
-
-----
-
--- Default Theme Settings entry
-INSERT INTO {prefix}settings_theme
- (
- id
- )
- VALUES
- (
- 1
- )
-;
-
-----
-
--- Member Email Notifications
-CREATE TABLE {prefix}email_notifications (
- id INT NOT NULL AUTO_INCREMENT,
- notification_message TEXT NULL,
- declined_message TEXT NULL,
- approved_message TEXT NULL,
- to_email TINYTEXT NULL,
- from_email TINYTEXT NULL,
- PRIMARY KEY (id)
-);
-
-----
-
--- Set default email notifications
-INSERT INTO {prefix}email_notifications
- ( id, notification_message, declined_message, approved_message )
-VALUES
- ( 1, 'A member has requested a profile update.', 'Your profile update has been declined.', 'Your profile has been approved!' );
-
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 12/29/16 12:06:00
+-- Database Version: 1.1.51
+-- Database Creation Script
+--
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashes
+--
+-- **** BE SURE TO ALSO UPDATE drop_database_Vxxx.sql FILE WHEN CHANGING TABLES ****
+--
+
+-- Amenities
+CREATE TABLE {prefix}amenities (
+ id INT NOT NULL AUTO_INCREMENT,
+ active TINYINT(1) NULL, -- Amenity is active flag
+ name TINYTEXT NULL, -- Name of amenity
+ descr TEXT NULL, -- Description of amenity
+ short_descr TINYTEXT NULL, -- Short description of amenity
+ ref_type INT NULL, -- Type of entity these amenities are associated with - see plugin.ini ref_type tables
+ uses_value BOOLEAN NULL, -- Flag indicating whether the amenity requires a quantity number
+ PRIMARY KEY (id),
+ INDEX(name(20))
+);
+
+----
+
+-- Amenity Reference - Links a specific amenity to a specific entity of type ref_type
+CREATE TABLE {prefix}amenity_ref (
+ id INT NOT NULL AUTO_INCREMENT,
+ amenity INT NULL, -- Pointer to amenity in amenities table
+ ref_type INT NULL, -- Copy of ref_type from matching amenities table entry - to simplify searches
+ ref_dest INT NULL, -- Pointer to the specific entity of type ref_type
+ amenity_value TINYTEXT NULL, -- Quantity if amenity uses values
+ PRIMARY KEY (id),
+ INDEX(ref_type),
+ INDEX(ref_dest)
+);
+
+----
+
+-- groups
+CREATE TABLE {prefix}amenity_groups (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of the Group
+ PRIMARY KEY (id),
+ INDEX(name(20))
+);
+
+----
+
+-- Amenity Group - Links a specific amenity to groups
+CREATE TABLE {prefix}grouped_amenities (
+ id INT NOT NULL AUTO_INCREMENT,
+ group_id INT, -- Pointer to the group
+ amenity_id INT, -- Pointer to the Amenity
+ searchable BOOLEAN DEFAULT '0', -- Flag indicating whether the amenity group will show in the search form
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Member Cateogries - used with member information records
+CREATE TABLE {prefix}categories (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of this category
+ descr TEXT NULL, -- Description of this category
+ short_descr TINYTEXT NULL, -- Short description of this category
+ parent INT NULL, -- Pointer to parent category in this table - if there is one
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Mapping of categories to specific member information records
+CREATE TABLE {prefix}category_member_info (
+ id INT NOT NULL AUTO_INCREMENT,
+ category INT NULL, -- Pointer to category in categories table
+ member_info INT NULL, -- Pointer to member information record
+ PRIMARY KEY (id),
+ CONSTRAINT {prefix}categories_fk_1
+ FOREIGN KEY (category)
+ REFERENCES {prefix}categories (id)
+ ON DELETE CASCADE,
+ INDEX(category),
+ INDEX(member_info)
+);
+
+----
+
+-- Cities
+CREATE TABLE {prefix}cities (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of city
+ state TINYTEXT NULL, -- State
+ enable_weather BOOLEAN DEFAULT '0', -- Enable Weather for this city
+ lat FLOAT NULL, -- Latitude of city's location
+ lon FLOAT NULL, -- Longitude of city's location
+ county INT NULL, -- County reference to county table
+ temp_max TINYTEXT NULL, -- Max temp
+ temp_min TINYTEXT NULL, -- Min temp
+ icon TINYTEXT NULL, -- Icon url
+ weather TINYTEXT NULL, -- weather
+ moreinfo TEXT NULL, -- moreinfo
+ wx_time DATETIME NULL, -- last update time for weather
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Member Click Through Stats Data - Totals of URL click-throughs - Preserved for 2 years
+CREATE TABLE {prefix}clickthrough_stats (
+ member INT NOT NULL, -- ID of member
+ stat_type INT NOT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
+ stat_date DATE NOT NULL, -- Date for which these stats are accumulated (date or first date of week or month)
+ clicks INT NULL, -- Number of Clicks
+ PRIMARY KEY (member, stat_type, stat_date),
+ INDEX (member),
+ INDEX (stat_type),
+ INDEX (stat_date)
+);
+
+----
+
+-- Files - Files are stored under /wp-content/uploads/glm-member-db/files/
+CREATE TABLE {prefix}files (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Original name of the file - might be URL if copied via HTTP
+ status TINYINT(1) NULL, -- Display/Use status - See plugin.ini status table
+ file_name TINYTEXT NULL, -- Stored file name for the file
+ descr TEXT NULL, -- Description
+ caption TINYTEXT NULL, -- Caption for the image
+ position INT NULL, -- Numeric position for sequence of display
+ ref_type INT NULL, -- Type of entity this image is associated with
+ ref_dest INT NULL, -- Pointer to the specific entity of ref_type this image is associated with
+ PRIMARY KEY (id),
+ INDEX(name(20)),
+ INDEX(file_name(20)),
+ INDEX(ref_type),
+ INDEX(ref_dest)
+);
+
+----
+
+-- Images - Images are stored under /wp-content/uploads/glm-member-db/images/{size}/
+CREATE TABLE {prefix}images (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Original name of the image - might be URL if copied via HTTP
+ status TINYINT(1) NULL, -- Display/Use status - See plugin.ini status table
+ selected BOOLEAN NULL, -- A single special image in the current gallery for this entity
+ featured BOOLEAN null, -- Image is a member of a group of featured images
+ file_name TINYTEXT NULL, -- Stored file name for the image
+ descr TEXT NULL, -- Description
+ caption TINYTEXT NULL, -- Caption for the image
+ position INT NULL, -- Numeric position for sequence of display
+ ref_type INT NULL, -- Type of entity this image is associated with
+ ref_dest INT NULL, -- Pointer to the specific entity of ref_type this image is associated with
+ PRIMARY KEY (id),
+ INDEX(name(20)),
+ INDEX(file_name(20)),
+ INDEX(ref_type),
+ INDEX(ref_dest)
+);
+
+----
+
+-- Primary member records - One for each member
+CREATE TABLE {prefix}members (
+ id INT NOT NULL AUTO_INCREMENT,
+ access INT NULL, -- Access type - See access table in plugin.ini
+ member_type INT NULL, -- Pointer to member type in member_type table
+ created DATE NULL, -- Date member record was created
+ name TINYTEXT NULL, -- Member name
+ member_slug TINYTEXT NULL, -- Member name slug for canonical URLs (lowercase, "-" for spaces, no punctuation)
+ notes TEXT NULL, -- General notes - Not displayed in front-end
+ old_member_id TINYTEXT NULL, -- Old member ID if imported from old database
+ featured BOOLEAN DEFAULT '0', -- Whether the member is featured
+ PRIMARY KEY (id),
+ INDEX(name(20)),
+ INDEX(member_slug(20)),
+ INDEX(created),
+ INDEX(old_member_id(20))
+);
+
+----
+
+-- Member Detail Display Stats Data - Totals of times detail page is displayed - Preserved for 2 years
+CREATE TABLE {prefix}member_detail_stats (
+ member INT NOT NULL, -- ID of member
+ stat_type INT NOT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
+ stat_date DATE NOT NULL, -- Date for which these stats are accumulated (date or first date of week or month)
+ clicks INT NULL, -- Number of Clicks
+ PRIMARY KEY (member, stat_type, stat_date),
+ INDEX (member),
+ INDEX (stat_type),
+ INDEX (stat_date)
+);
+
+----
+
+-- Member information version record - May be multiples per member - Only one with status "Active" for a distinct date range
+CREATE TABLE {prefix}member_info (
+ id INT NOT NULL AUTO_INCREMENT,
+ member INT NULL, -- Pointer to member record in table members
+ member_name TINYTEXT NULL, -- Copy of member name from members table entry for fast reference
+ status INT NULL, -- Status of this member information record - See plugin.ini status table
+ reference_name TINYTEXT NULL, -- Reference name for this member information record - Not displayed on front-end
+ has_no_map_data BOOLEAN DEFAULT '0', -- True if member info record has no map data
+ has_no_profile BOOLEAN DEFAULT '0', -- True if member has no profile record
+ descr TEXT NULL, -- Description
+ short_descr TEXT NULL, -- Short description
+ addr1 TINYTEXT NULL, -- Main member location address line 1
+ addr2 TINYTEXT NULL, -- Address line 2
+ city INT NULL, -- Pointer to City in cities table
+ state TINYTEXT NULL, -- Two character state code - matches states.ini entries
+ country TINYTEXT NULL, -- Two character country code - matches countries.ini entries
+ zip TINYTEXT NULL, -- ZIP/Postal code
+ lat FLOAT NULL, -- Latitude of member's location
+ lon FLOAT NULL, -- Longitude of member's location
+ region INT NULL, -- Pointer to entry in regions table
+ county INT NULL, -- Pointer to entry in regions table
+ phone TINYTEXT NULL, -- Primary phone number
+ toll_free TINYTEXT NULL, -- Toll Free phone number
+ url TINYTEXT NULL, -- URL with information about this member
+ reservation_url TEXT NULL, -- Reservation URL
+ email TINYTEXT NULL, -- Main E-Mail address for this member
+ logo TINYTEXT NULL, -- Member logo
+ cc_type INT NULL, -- Bitmap of credit card types accepted - See credit_card array in plugin.ini
+ video_url TINYTEXT NULL, -- Video URL
+ video_file TINYTEXT NULL, -- Video File Name
+ video_title TINYTEXT NULL, -- Video Title
+ video_descr TEXT NULL, -- Video Description
+ video_type INT NULL, -- Video Type - See plugin.ini video type table.
+ live_cam_url TINYTEXT NULL, -- Live Cam URL
+ live_cam_title TINYTEXT NULL, -- Live Cam Title
+ live_cam_descr TEXT NULL, -- Live Cam Description
+ live_cam_type INT NULL, -- Live Cam Type - See plugin.ini video type table.
+ mailing_addr1 TINYTEXT NULL, -- Mailing Address 1
+ mailing_addr2 TINYTEXT NULL, -- Mailing Address 2
+ mailing_city INT NULL, -- Mailing City (Pointer to City in cities table)
+ mailing_state TINYTEXT NULL, -- Mailing State (Two character state code - matches states.ini entries)
+ mailing_zip TINYTEXT NULL, -- Mailing ZIP/Postal code
+ notes TEXT NULL, -- General notes - Not displayed in front-end
+ create_time TIMESTAMP NULL, -- Create date/time
+ modify_time TIMESTAMP NULL, -- Last update date/time
+ PRIMARY KEY (id),
+ INDEX(status),
+ INDEX(city),
+ INDEX(zip(10)),
+ INDEX(lat),
+ INDEX(lon),
+ INDEX(region),
+ INDEX(county),
+ FULLTEXT KEY member_name (member_name)
+);
+
+----
+
+-- Member type - Can be used to assign members to different "classes" of membership (i.e. Full, Associate, Premium)
+-- Mostly for internal use by the member organization, but could be displayed - Consider a short_description if they are.
+CREATE TABLE {prefix}member_type (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of member type
+ descr TINYTEXT NULL, -- Description of member type
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Regions - Used to segment members into various geographical regions - can be cities, counties, or other logical regions
+CREATE TABLE {prefix}regions (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of region
+ descr TEXT NULL, -- Description of region
+ short_descr TINYTEXT NULL, -- Short description of region
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Counties
+CREATE TABLE {prefix}counties (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of county
+ descr TEXT NULL, -- Description of county
+ short_descr TINYTEXT NULL, -- Short description of county
+ PRIMARY KEY (id)
+);
+
+----
+
+-- File Library Cateogries - used with "Files Library" - Created due to PDF failures in WordPress Media Library
+CREATE TABLE {prefix}file_library_categories (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Name of this category
+ descr TEXT NULL, -- Description of this category
+ short_descr TINYTEXT NULL, -- Short description of this category
+ parent INT NULL, -- Pointer to parent category in this table - if there is one
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Files Library - Files are stored under /wp-content/uploads/glm-member-db/filesLibrary/
+CREATE TABLE {prefix}file_library (
+ id INT NOT NULL AUTO_INCREMENT,
+ name TINYTEXT NULL, -- Original name of the file - might be URL if copied via HTTP
+ file_name TINYTEXT NULL, -- Stored file name for the file
+ descr TEXT NULL, -- Description
+ title TINYTEXT NULL, -- File title
+ last_access_time DATETIME NULL, -- Upload time or last access time
+ PRIMARY KEY (id),
+ INDEX(name(20)),
+ INDEX(file_name(20))
+);
+
+----
+
+-- General settings available on Management page in admin - Only 1 entry in this table
+-- Items in this table should be all self-explanatory
+CREATE TABLE {prefix}settings_general (
+ id INT NOT NULL AUTO_INCREMENT,
+ admin_debug BOOLEAN DEFAULT '0',
+ admin_debug_verbose BOOLEAN DEFAULT '0',
+ front_debug BOOLEAN DEFAULT '0',
+ front_debug_verbose BOOLEAN DEFAULT '0',
+ enable_members BOOLEAN DEFAULT '1',
+ selected_map_interface SMALLINT DEFAULT '1',
+ leaflet_tile_server TINYTEXT DEFAULT '',
+ leaflet_tile_server_key TINYTEXT DEFAULT '',
+ google_maps_api_key TINYTEXT DEFAULT '',
+ maps_default_lat FLOAT DEFAULT '45.3749',
+ maps_default_lon FLOAT DEFAULT '-84.9592',
+ maps_default_zoom INTEGER DEFAULT '10',
+ time_zone TINYTEXT DEFAULT NULL,
+ canonical_member_page TINYTEXT DEFAULT NULL,
+ phone_infix TINYTEXT DEFAULT NULL,
+ phone_format TINYTEXT DEFAULT NULL,
+ default_state TINYTEXT DEFAULT NULL,
+ enable_counties BOOLEAN DEFAULT '0',
+ enable_multiple_profiles BOOLEAN DEFAULT '0',
+ enable_single_profile BOOLEAN DEFAULT '0', -- Hide the add profile and clone profile links/buttons
+ enable_member_reports BOOLEAN DEFAULT '1',
+ enable_caching BOOLEAN DEFAULT '1',
+ enable_contact_edit_only BOOLEAN DEFAULT '0',
+ memb_info_location BOOLEAN DEFAULT '1',
+ memb_info_contact BOOLEAN DEFAULT '1',
+ memb_info_categories BOOLEAN DEFAULT '1',
+ memb_info_images BOOLEAN DEFAULT '1',
+ memb_info_files BOOLEAN DEFAULT '1',
+ memb_info_video BOOLEAN DEFAULT '1',
+ memb_info_cam BOOLEAN DEFAULT '1',
+ file_library BOOLEAN DEFAULT '0',
+ list_show_map BOOLEAN DEFAULT '1',
+ list_show_featured BOOLEAN DEFAULT '0',
+ list_show_featured_count SMALLINT DEFAULT '3',
+ list_show_list BOOLEAN DEFAULT '1',
+ list_order_list SMALLINT DEFAULT '10',
+ list_pagination BOOLEAN DEFAULT '1',
+ list_ajax_pagination BOOLEAN DEFAULT '0',
+ list_pagination_count SMALLINT DEFAULT '20',
+ list_show_sidebar_area BOOLEAN DEFAULT '0',
+ list_show_header_text BOOLEAN DEFAULT '1',
+ list_show_entities_found BOOLEAN DEFAULT '1',
+ list_show_entities_shown BOOLEAN DEFAULT '1',
+ list_show_search_filters_opened BOOLEAN DEFAULT '0',
+ list_show_search BOOLEAN DEFAULT '1',
+ list_show_search_text BOOLEAN DEFAULT '1',
+ list_show_search_category BOOLEAN DEFAULT '1',
+ list_show_search_amenities BOOLEAN DEFAULT '1',
+ list_show_search_region BOOLEAN DEFAULT '1',
+ list_show_search_alpha BOOLEAN DEFAULT '1',
+ list_show_search_city BOOLEAN DEFAULT '0',
+ list_floating_search BOOLEAN DEFAULT '0',
+ list_floating_search_distance_top INTEGER DEFAULT '0', -- How far from the top the sticky Search/Filters box should hover
+ list_show_detail_link BOOLEAN DEFAULT '1',
+ list_show_logo BOOLEAN DEFAULT '1',
+ list_logo_size TINYTEXT NULL,
+ list_logo_for_mobile BOOLEAN DEFAULT '1',
+ list_show_address BOOLEAN DEFAULT '1',
+ list_show_street BOOLEAN DEFAULT '1',
+ list_show_citystatezip BOOLEAN DEFAULT '1',
+ list_show_country BOOLEAN DEFAULT '1',
+ list_show_region BOOLEAN DEFAULT '1',
+ list_show_descr BOOLEAN DEFAULT '0',
+ list_show_short_descr BOOLEAN DEFAULT '1',
+ list_show_phone BOOLEAN DEFAULT '1',
+ list_show_tollfree BOOLEAN DEFAULT '1',
+ list_show_url BOOLEAN DEFAULT '1',
+ list_show_url_newtarget BOOLEAN DEFAULT '1',
+ list_show_email BOOLEAN DEFAULT '1',
+ list_show_categories BOOLEAN DEFAULT '0',
+ list_show_creditcards BOOLEAN DEFAULT '0',
+ list_show_amenities BOOLEAN DEFAULT '0',
+ list_show_logo_filler BOOLEAN DEFAULT '1',
+ list_show_live_cam BOOLEAN DEFAULT '1',
+ list_map_show_opened BOOLEAN DEFAULT '0',
+ list_map_show_detaillink BOOLEAN DEFAULT '1',
+ list_map_show_logo BOOLEAN DEFAULT '0',
+ list_map_logo_size TINYTEXT NULL,
+ list_map_show_descr BOOLEAN DEFAULT '0',
+ list_map_show_short_descr BOOLEAN DEFAULT '1',
+ list_map_show_address BOOLEAN DEFAULT '1',
+ list_map_show_street BOOLEAN DEFAULT '1',
+ list_map_show_citystatezip BOOLEAN DEFAULT '1',
+ list_map_show_country BOOLEAN DEFAULT '1',
+ list_map_show_region BOOLEAN DEFAULT '1',
+ list_map_show_phone BOOLEAN DEFAULT '1',
+ list_map_show_tollfree BOOLEAN DEFAULT '1',
+ list_map_show_url BOOLEAN DEFAULT '1',
+ list_map_show_url_newtarget BOOLEAN DEFAULT '1',
+ list_map_show_email BOOLEAN DEFAULT '1',
+ list_map_show_categories BOOLEAN DEFAULT '0',
+ list_map_show_creditcards BOOLEAN DEFAULT '0',
+ list_map_show_amenities BOOLEAN DEFAULT '0',
+ list_show_packages BOOLEAN DEFAULT '0',
+ list_show_packages_link BOOLEAN DEFAULT '0',
+ list_header_text TINYTEXT DEFAULT NULL,
+ list_view_file TINYTEXT NULL,
+ grid_view_file TINYTEXT NULL,
+ detail_view_file TINYTEXT NULL,
+ detail_auto_expand_sections BOOLEAN DEFAULT '0',
+ detail_show_map BOOLEAN DEFAULT '1',
+ detail_show_directions BOOLEAN DEFAULT '1',
+ detail_show_logo BOOLEAN DEFAULT '1',
+ detail_logo_size TINYTEXT NULL,
+ detail_show_descr BOOLEAN DEFAULT '1',
+ detail_show_short_descr BOOLEAN DEFAULT '0',
+ detail_show_address BOOLEAN DEFAULT '1',
+ detail_show_street BOOLEAN DEFAULT '1',
+ detail_show_citystatezip BOOLEAN DEFAULT '1',
+ detail_show_country BOOLEAN DEFAULT '1',
+ detail_show_region BOOLEAN DEFAULT '1',
+ detail_show_phone BOOLEAN DEFAULT '1',
+ detail_show_tollfree BOOLEAN DEFAULT '1',
+ detail_show_url BOOLEAN DEFAULT '1',
+ detail_show_url_newtarget BOOLEAN DEFAULT '1',
+ detail_show_email BOOLEAN DEFAULT '1',
+ detail_show_categories BOOLEAN DEFAULT '0',
+ detail_show_creditcards BOOLEAN DEFAULT '0',
+ detail_show_amenities BOOLEAN DEFAULT '1',
+ detail_show_imagegallery BOOLEAN DEFAULT '1',
+ detail_show_coupons BOOLEAN DEFAULT '0',
+ detail_show_packages BOOLEAN DEFAULT '0',
+ detail_show_events BOOLEAN DEFAULT '0',
+ detail_show_video BOOLEAN DEFAULT '0',
+ detail_show_live_cam BOOLEAN DEFAULT '0',
+ detail_top_offset_autoscroll INTEGER DEFAULT '0', -- Determines the distance from the top when autoscrolling to a section on member detail pages
+ detail_map_show_logo BOOLEAN DEFAULT '0',
+ detail_map_logo_size TINYTEXT NULL,
+ detail_map_show_descr BOOLEAN DEFAULT '0',
+ detail_map_show_short_descr BOOLEAN DEFAULT '1',
+ detail_map_show_address BOOLEAN DEFAULT '1',
+ detail_map_show_street BOOLEAN DEFAULT '1',
+ detail_map_show_citystatezip BOOLEAN DEFAULT '1',
+ detail_map_show_country BOOLEAN DEFAULT '1',
+ detail_map_show_region BOOLEAN DEFAULT '1',
+ detail_map_show_phone BOOLEAN DEFAULT '1',
+ detail_map_show_tollfree BOOLEAN DEFAULT '1',
+ detail_map_show_url BOOLEAN DEFAULT '1',
+ detail_map_show_url_newtarget BOOLEAN DEFAULT '1',
+ detail_map_show_email BOOLEAN DEFAULT '1',
+ detail_map_show_categories BOOLEAN DEFAULT '0',
+ detail_map_show_creditcards BOOLEAN DEFAULT '0',
+ detail_map_show_amenities BOOLEAN DEFAULT '0',
+ members_only_support_email TINYTEXT DEFAULT '',
+ members_only_support_phone TINYTEXT DEFAULT '',
+ updates_notification_to TINYTEXT DEFAULT '', -- To email address for the notification email
+ updates_notification_from TINYTEXT DEFAULT '', -- From header for the notification email
+ updates_notification TEXT DEFAULT '', -- Notification message
+ short_desc_char_limit INTEGER DEFAULT '120', -- How many characters the short description is limited to - also used for importing
+ use_cluster_markers BOOLEAN DEFAULT '0', -- Flag to say if cluster markers should be use in maps
+ recaptcha_site_key TINYTEXT DEFAULT '', -- reCAPTCHA site key
+ recaptcha_secret_key TINYTEXT DEFAULT '', -- reCAPTCHA secret key
+ recaptcha_header_code TEXT DEFAULT '', -- reCAPTCHA code for page header
+ recaptcha_form_code TEXT DEFAULT '', -- reCAPTCHA code for captcha form field
+ new_member_intro TEXT NULL, -- New Member intro
+ new_member_thankyou TEXT NULL, -- New Member thank you
+ new_member_type_default INTEGER DEFAULT '0', -- New Member member type default
+ new_member_notice_to TINYTEXT NULL, -- New Member notice To:
+ new_member_notice_from TINYTEXT NULL, -- weather
+ new_member_notice_message TEXT NULL, -- New Member notice Message
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Set default entry
+INSERT INTO {prefix}settings_general
+ ( id, time_zone, canonical_member_page, list_logo_size, list_map_logo_size, detail_logo_size, detail_map_logo_size,
+ list_pagination, list_pagination_count, enable_counties, enable_multiple_profiles, enable_member_reports, enable_caching, updates_notification, enable_single_profile,
+ list_view_file, grid_view_file, detail_view_file )
+ VALUES
+ ( 1, 'America/Detroit', 'member-detail', 'large', 'thumb', 'large', 'thumb', '1', 20, 0, 0, 1, 1,
+ 'A member has updated their record and is now in a pending state.', 0,
+ 'listTypeList', 'listTypeGrid', 'detail')
+;
+
+----
+
+-- Terms used in site modifiable on Management page in admin - Only 1 entry in this table
+-- Terms in this table should be all self-explanatory
+CREATE TABLE {prefix}settings_terms (
+ id INT NOT NULL AUTO_INCREMENT,
+ term_admin_menu_members TINYTEXT NULL,
+ term_admin_menu_member_list TINYTEXT NULL,
+ term_admin_menu_member TINYTEXT NULL,
+ term_admin_menu_configure TINYTEXT NULL,
+ term_admin_menu_settings TINYTEXT NULL,
+ term_admin_menu_shortcodes TINYTEXT NULL,
+ term_admin_menu_members_dashboard TINYTEXT NULL,
+ term_admin_menu_members_list TINYTEXT NULL,
+ term_admin_menu_members_reports TINYTEXT NULL,
+ term_admin_menu_member_dashboard TINYTEXT NULL,
+ term_admin_menu_member_info TINYTEXT NULL,
+ term_admin_menu_member_locations TINYTEXT NULL,
+ term_admin_menu_member_facilities TINYTEXT NULL,
+ term_admin_menu_member_attractions TINYTEXT NULL,
+ term_admin_menu_member_contacts TINYTEXT NULL,
+ term_admin_menu_configure_member_types TINYTEXT NULL,
+ term_admin_menu_configure_member_cats TINYTEXT NULL,
+ term_admin_menu_configure_accom_types TINYTEXT NULL,
+ term_admin_menu_configure_amenities TINYTEXT NULL,
+ term_admin_menu_configure_cities TINYTEXT NULL,
+ term_admin_menu_configure_counties TINYTEXT NULL,
+ term_admin_menu_configure_regions TINYTEXT NULL,
+ term_admin_menu_settings_general TINYTEXT NULL,
+ term_admin_menu_settings_terms TINYTEXT NULL,
+ term_admin_menu_settings_development TINYTEXT NULL,
+ term_member TINYTEXT NULL,
+ term_member_cap TINYTEXT NULL,
+ term_member_plur TINYTEXT NULL,
+ term_member_plur_cap TINYTEXT NULL,
+ term_location TINYTEXT NULL,
+ term_location_cap TINYTEXT NULL,
+ term_location_plur TINYTEXT NULL,
+ term_location_plur_cap TINYTEXT NULL,
+ term_county TINYTEXT NULL,
+ term_county_cap TINYTEXT NULL,
+ term_county_plur TINYTEXT NULL,
+ term_county_plur_cap TINYTEXT NULL,
+ term_facility TINYTEXT NULL,
+ term_facility_cap TINYTEXT NULL,
+ term_facility_plur TINYTEXT NULL,
+ term_facility_plur_cap TINYTEXT NULL,
+ term_attraction TINYTEXT NULL,
+ term_attraction_cap TINYTEXT NULL,
+ term_attraction_plur TINYTEXT NULL,
+ term_attraction_plur_cap TINYTEXT NULL,
+ term_contact TINYTEXT NULL,
+ term_contact_cap TINYTEXT NULL,
+ term_contact_plur TINYTEXT NULL,
+ term_contact_plur_cap TINYTEXT NULL,
+ term_webcam_cap TINYTEXT NULL,
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Default terms entry
+INSERT INTO {prefix}settings_terms
+ (
+ id,
+ term_admin_menu_members,
+ term_admin_menu_member_list,
+ term_admin_menu_member,
+ term_admin_menu_configure,
+ term_admin_menu_settings,
+ term_admin_menu_shortcodes,
+ term_admin_menu_members_dashboard,
+ term_admin_menu_members_list,
+ term_admin_menu_members_reports,
+ term_admin_menu_member_dashboard,
+ term_admin_menu_member_info,
+ term_admin_menu_member_locations,
+ term_admin_menu_member_facilities,
+ term_admin_menu_member_attractions,
+ term_admin_menu_member_contacts,
+ term_admin_menu_configure_member_types,
+ term_admin_menu_configure_member_cats,
+ term_admin_menu_configure_accom_types,
+ term_admin_menu_configure_amenities,
+ term_admin_menu_configure_cities,
+ term_admin_menu_configure_counties,
+ term_admin_menu_configure_regions,
+ term_admin_menu_settings_general,
+ term_admin_menu_settings_terms,
+ term_admin_menu_settings_development,
+ term_member,
+ term_member_cap,
+ term_member_plur,
+ term_member_plur_cap,
+ term_location,
+ term_location_cap,
+ term_location_plur,
+ term_location_plur_cap,
+ term_county,
+ term_county_cap,
+ term_county_plur,
+ term_county_plur_cap,
+ term_facility,
+ term_facility_cap,
+ term_facility_plur,
+ term_facility_plur_cap,
+ term_attraction,
+ term_attraction_cap,
+ term_attraction_plur,
+ term_attraction_plur_cap,
+ term_contact,
+ term_contact_cap,
+ term_contact_plur,
+ term_contact_plur_cap,
+ term_webcam_cap
+ )
+ VALUES
+ (
+ 1,
+ 'Members',
+ 'Member',
+ 'Member',
+ 'Configure',
+ 'Management',
+ 'Shortcodes',
+ 'Dashboard',
+ 'Member List',
+ 'Reports',
+ 'Member Dashboard',
+ 'Member Info',
+ 'Locations',
+ 'Facilities',
+ 'Attractions',
+ 'Contacts',
+ 'Member Types',
+ 'Member Categories',
+ 'Accommodation Types',
+ 'Amenities',
+ 'Cities',
+ 'Counties',
+ 'Regions',
+ 'General Settings',
+ 'Terms & Phrases',
+ 'Development',
+ 'member',
+ 'Member',
+ 'members',
+ 'Members',
+ 'location',
+ 'Location',
+ 'locations',
+ 'Locations',
+ 'county',
+ 'County',
+ 'counties',
+ 'Counties',
+ 'facility',
+ 'Facility',
+ 'facilities',
+ 'Facilities',
+ 'attraction',
+ 'Attraction',
+ 'attractions',
+ 'Attractions',
+ 'contact',
+ 'Contact',
+ 'contacts',
+ 'Contacts',
+ 'Webcam'
+ )
+;
+
+----
+
+-- Shortcode Output Cache
+CREATE TABLE {prefix}cache (
+ shortcode TINYTEXT NULL,
+ cache_code TINYTEXT NOT NULL,
+ created DATETIME NULL,
+ html MEDIUMTEXT NULL,
+ PRIMARY KEY (cache_code(20)),
+ INDEX (created)
+);
+
+----
+
+-- Theme Settings - Only 1 entry in this table
+CREATE TABLE {prefix}settings_theme (
+ id INT NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Default Theme Settings entry
+INSERT INTO {prefix}settings_theme
+ (
+ id
+ )
+ VALUES
+ (
+ 1
+ )
+;
+
+----
+
+-- Member Email Notifications
+CREATE TABLE {prefix}email_notifications (
+ id INT NOT NULL AUTO_INCREMENT,
+ notification_message TEXT NULL,
+ declined_message TEXT NULL,
+ approved_message TEXT NULL,
+ to_email TINYTEXT NULL,
+ from_email TINYTEXT NULL,
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Set default email notifications
+INSERT INTO {prefix}email_notifications
+ ( id, notification_message, declined_message, approved_message )
+VALUES
+ ( 1, 'A member has requested a profile update.', 'Your profile update has been declined.', 'Your profile has been approved!' );
+
'1.1.48' => array('version' => '1.1.48', 'tables' => 23, 'date' => '02/14/19'),
'1.1.49' => array('version' => '1.1.49', 'tables' => 23, 'date' => '02/15/19'),
'1.1.50' => array('version' => '1.1.50', 'tables' => 23, 'date' => '02/20/19'),
+ '1.1.51' => array('version' => '1.1.51', 'tables' => 23, 'date' => '02/26/19'),
);
+++ /dev/null
--- Gaslight Media Members Database
--- File Created: 12/09/14 15:27:15
--- Database Version: 1.1.46
--- Database Deletion Script
--- Note: Tables with DELETE CASCADE must appear before referenced table
-
-DROP TABLE IF EXISTS
- {prefix}amenities,
- {prefix}amenity_ref,
- {prefix}category_member_info,
- {prefix}cities,
- {prefix}clickthrough_stats,
- {prefix}images,
- {prefix}files,
- {prefix}members,
- {prefix}member_detail_stats,
- {prefix}member_info,
- {prefix}member_type,
- {prefix}regions,
- {prefix}counties,
- {prefix}settings_general,
- {prefix}settings_terms,
- {prefix}settings_theme,
- {prefix}categories,
- {prefix}amenity_groups,
- {prefix}grouped_amenities,
- {prefix}cache,
- {prefix}file_library_categories,
- {prefix}file_library,
- {prefix}email_notifications
-;
-
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 12/09/14 15:27:15
+-- Database Version: 1.1.46
+-- Database Deletion Script
+-- Note: Tables with DELETE CASCADE must appear before referenced table
+
+DROP TABLE IF EXISTS
+ {prefix}amenities,
+ {prefix}amenity_ref,
+ {prefix}category_member_info,
+ {prefix}cities,
+ {prefix}clickthrough_stats,
+ {prefix}images,
+ {prefix}files,
+ {prefix}members,
+ {prefix}member_detail_stats,
+ {prefix}member_info,
+ {prefix}member_type,
+ {prefix}regions,
+ {prefix}counties,
+ {prefix}settings_general,
+ {prefix}settings_terms,
+ {prefix}settings_theme,
+ {prefix}categories,
+ {prefix}amenity_groups,
+ {prefix}grouped_amenities,
+ {prefix}cache,
+ {prefix}file_library_categories,
+ {prefix}file_library,
+ {prefix}email_notifications
+;
+
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 2019-02-15
+-- Database Version: 1.1.49
+-- Database Update From Previous Version Script
+--
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashes
+
+-- Add setting
+ALTER TABLE {prefix}settings_general ADD COLUMN list_view_file TINYTEXT NULL;
+
+----
+
+-- Add setting
+ALTER TABLE {prefix}settings_general ADD COLUMN grid_view_file TINYTEXT NULL;
+
+----
+
+-- Add setting
+ALTER TABLE {prefix}settings_general ADD COLUMN detail_view_file TINYTEXT NULL;
+
+----
+
+-- Update current settings
+UPDATE {prefix}settings_general set list_view_file = 'listTypeList', grid_view_file = 'listTypeGrid', detail_view_file = 'detail';
<select id="default-state" data-id="default_state" class="location-address" name="default_state">
<option value=""></option>
{foreach from=$genSettings.fieldData.default_state.list item=v}
- <option value="{$v.value}"{if $v.default} selected="selected"{/if}>
- {$v.name}
- </option>
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>
+ {$v.name}
+ </option>
{/foreach}
</select>
</td>
</tr>
</table>
- <!-- Member List Page Options -->
+ {* Member List Page Options *}
<table id="glm-table-list" class="glm-admin-table glm-settings-table glm-hidden">
<tr>
<td>
<table class="glm-admin-table glm-admin-table-inner">
<tr><td colspan="2"><h2>Member List Display Options</h2></td></tr>
+ <tr>
+ <th>List View File</th>
+ <td>
+ <select name="list_view_file">
+ {foreach from=$genSettings.fieldData.list_view_file.list item=v}
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>
+ {$v.name}
+ </option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th>Grid View File</th>
+ <td>
+ <select name="grid_view_file">
+ {foreach from=$genSettings.fieldData.grid_view_file.list item=v}
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>
+ {$v.name}
+ </option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th>Detail View File</th>
+ <td>
+ <select name="detail_view_file">
+ {foreach from=$genSettings.fieldData.detail_view_file.list item=v}
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>
+ {$v.name}
+ </option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
<tr><th>Show Featured Member List:</th><td><input type="checkbox" name="list_show_featured"{if $genSettings.fieldData.list_show_featured.value} checked="checked"{/if}></td></tr>
<tr><th>Max Featured Members to List:</th><td><input type="text" name="list_show_featured_count" value="{$genSettings.fieldData.list_show_featured_count}" placeholder="0" maxlength="2"></td></tr>
<tr><th>Show Member List:</th><td><input type="checkbox" name="list_show_list"{if $genSettings.fieldData.list_show_list.value} checked="checked"{/if}></td></tr>
<th>Member List Order</th>
<td>
<select name="list_order_list">
- {foreach from=$genSettings.fieldData.list_order_list.list item=v}
- <option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
- {/foreach}
+ {foreach from=$genSettings.fieldData.list_order_list.list item=v}
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
+ {/foreach}
</select>
</td>
</tr>
--- /dev/null
+{include file='front/members/header.html'}
+
+{apply_filters('glm-member-db-front-members-detail-pageTop', '', $member.id)}
+
+{if $haveMember}
+
+ {if $settings.detail_show_map}
+<!-- <div id="glm-locationMap-container" class="row">
+ <div id="glm-locationMap" class="glm-map small-12 columns">(map loads here)</div>
+ </div>-->
+ {/if}
+ {if $settings.detail_show_directions}
+<!-- <div id="glm-directionsMap-container" class="glm-hidden">
+ <div id="glm-directionsMap" class="glm-map">(directions load here)</div>
+ <div id="directions-panel"></div>
+ </div>
+
+ <div class="row">
+ <div id="glm-directions" class="small-12 columns glm-member-entry-container">
+ <div class="row">
+ <div class="small-12 medium-4 columns">
+ Directions type:
+ <select id="directionsType" name="directionsType">
+ <option value="DRIVING">Driving</option>
+ <option value="WALKING">Walking</option>
+ <option value="BICYCLING">Bicycling</option>
+ <option value="TRANSIT">Transit Services</option> - Doesn't seem to work
+ </select>
+ </div>
+ <div class="small-12 medium-8 columns">
+ Enter address to show directions ...
+ <input id="glm-startLocation" type="text" name="startLocation" class="glm-form-text-input" placeholder=""><br>
+ </div>
+ </div>
+ <div class="row">
+ <div style="text-align: center;">
+ <input type="submit" id="glm-showDirectionsButton" class="button button-secondary glm-button glm-member-button" value="Show Directions">
+ <input type="submit" id="glm-showLocationButton" class="button button-secondary glm-button glm-hidden glm-member-button" value="Show {$terms.term_member_cap} Location">
+ </div>
+ </div>
+ </div>
+ </div>-->
+ {/if}
+<a id="topAnchor"></a>
+
+<!-- <h3>{$terms.term_member_cap} Detail</h3>-->
+ <div class="">
+ <script>//document.write('<a id="glm-member-detail-takeback-mini" class="button glm-member-button" href="' + document.referrer + '"><span>Back to listing</span></a>');</script>
+ <a id="glm-member-detail-takeback-mini" class="glm-member-db-takeback-mini button glm-member-button" href="javascript:history.go(-1)"><span>Back to listing</span></a>
+ <div id="glm-member-detail-container" class="columns glm-member-container">
+ <div id="glm-member-detail-top-box" class="">
+ {if $member.logo && $settings.detail_show_logo}
+<!-- <div class="glm-member-detail-logo-wrapper">
+ <img class="glm-member-list-image-left" src="{$glmPluginMediaUrl}/images/{$settings.detail_logo_size}/{$member.logo}">
+ </div>-->
+ {/if}
+ {if $member.url && $settings.detail_show_url}
+ <input type="hidden" id="glm-member-detail-click-logged" value="0">
+ {/if}
+
+ <div id="glm-member-detail-contact-info" class="">
+ <h4 class="glm-member-title"> {$member.member}</h4>
+ <!-- Member name, address, and basic information -->
+
+ {if $settings.detail_show_address}
+ <div class="glm-member-detail-address-wrapper">
+ {apply_filters('glm-member-db-front-members-detail-addressTop', '', $member.id)}
+ {if $settings.detail_show_street}
+ {if $member.addr1}<div>{$member.addr1}</div>{/if}
+ {if $member.addr2}<div>{$member.addr2}</div>{/if}
+ {/if}
+ {if $settings.memb_info_location && $settings.detail_show_citystatezip}
+ <div>
+ {if $member.city}
+ <span>{$member.city}{if $member.state.value}, {/if}</span>
+ {/if}
+ {if $member.state.value}
+ <span>{$member.state.value}</span>
+ {/if}
+ {if $member.zip}
+ {$member.zip}
+ {/if}
+ </div>
+ {/if}
+ {if $member.country.name && $settings.detail_show_country}
+ <div>{$member.country.name}</div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-addressBottom', '', $member.id)}
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-otherDetailTop', '', $member.id)}
+ {if $settings.memb_info_location && $member.region && $settings.detail_show_region}
+ <div class="glm-member-detail-region-wrapper">
+ {$terms.term_admin_menu_configure_regions}: {$member.region}
+ </div>
+ {/if}
+ {if $settings.memb_info_location}
+ <div class="glm-member-detail-phone-wrapper">
+ {if $member.phone && $settings.detail_show_phone}
+ <div class="glm-member-detail-contact-phone">
+ <div class="glm-field-value">Phone: {apply_filters('glm_associate_phone_filter', $member.phone)}</div>
+ </div>
+ {/if}
+ {if $member.toll_free && $settings.detail_show_tollfree}
+ <div>
+ <div class="glm-field-value">Toll Free: {apply_filters('glm_associate_phone_filter', $member.toll_free)}</div>
+ </div>
+ {/if}
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-otherDetailBottom', '', $member.id)}
+ <div id="glm-member-detail-links">
+ {apply_filters('glm-member-db-front-members-detail-linksTop', '', $member.id)}
+ {if $settings.detail_show_url}<a id="glm-member-detail-website-link" class="small-12" data-member-id="{$member.member_pointer}" data-member-slug="{$member.member_slug}" href="{$member.url}"{if $settings.detail_show_url_newtarget} target="_blank"{/if}>Visit Website</a>{/if}
+ {if $member.email && $settings.detail_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
+ {if $member.reservation_url}<a target="_blank" href="{$member.reservation_url}">Reserve Now</a>{/if}
+ {if $settings.detail_show_coupons && $coupons}<a href="#glm-member-detail-coupons">Coupons</a>{/if}
+ {if $member.live_cam_type.value==1 && $member.live_cam_url != "" && $settings.detail_show_live_cam}
+ <a target="_blank" href="{$member.live_cam_url}">
+ {$terms.term_webcam_cap}
+ </a>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-linksBottom', '', $member.id)}
+ </div>
+
+ <div class="glm-member-db-socials">
+ {apply_filters('glm-member-db-front-members-list-memberDetailBottom', '', $member.id)}
+ {apply_filters('glm-member-db-front-members-social-list', '', $member.id)}
+ </div>
+ </div>
+
+ {if $settings.detail_show_map}
+ <div id="glm-member-detail-map-wrapper" class="">
+ <div id="glm-locationMap-container" style="height: 140px;">
+ {if $settings.selected_map_interface == 1}
+ <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.3/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin=""/>
+ <script src="https://unpkg.com/leaflet@1.3.3/dist/leaflet.js" integrity="sha512-tAGcCfR4Sc5ZP5ZoVz0quoZDYX5aCtEm/eu1KhSLj2c9eFrylXZknQYmxUssFaVJKvvc0dJQixhGjG2yXWiV9Q==" crossorigin=""></script>
+ <link rel="stylesheet" href="{$jsUrl}/Leaflet.loading/src/Control.Loading.css" />
+ <script src="{$jsUrl}/Leaflet.loading/src/Control.Loading.js"></script>
+ <div id="LeafletMapContainer" style="height: 250px; width: 100%;">(map loads here)</div>
+ {/if}
+ {if $settings.selected_map_interface == 2}
+ <script src="//maps.googleapis.com/maps/api/js?sensor=true&key={$settings.google_maps_api_key}"></script>
+ <script type="text/javascript">var enableDraggable = true;</script>
+ <div id="glm-locationMap" class="glm-map glmgrid-small-12 glmgrid-columns">(map loads here)</div>
+ {/if}
+ </div>
+ <div id="glm-member-detail-map-button" class="button map-button">view map</div>
+
+ <div id="member-lat" rel="{$member.lat}"></div>
+ <div id="member-lon" rel="{$member.lon}"></div>
+ <form id="MemberDrivingDirectionsForm" name="MemberDrivingDirectionsForm" method="post" action="">
+ <input type="hidden" id="MemberLocation" name="MemberLocation" value="{$member.member_name|escape}">
+ <input type="hidden" id="MemberLat" name="MemberLat" value="{$member.lat}">
+ <input type="hidden" id="MemberLon" name="MemberLon" value="{$member.lon}">
+ <input type="submit" class="button map-button text-center" id="MemberDrivingDirectionSubmit" name="MemberDrivingDirectionSubmit" value="Directions">
+ <input type="submit" class="button map-button text-center" id="MemberDrivingDirectionSubmitMobile" name="MemberDrivingDirectionSubmit" value="Driving Directions">
+ </form>
+ </div>
+ {/if}
+ </div>
+
+
+<!-- Attributes: amenitities, credit cards, etc -->
+ <div id="glm-member-detail-descr-row" class="small-12 columns">
+ {apply_filters('glm-member-db-front-members-detail-attributesTop', '', $member.id)}
+<!-- {if $featuredImage}
+ <div class="glm-member-detail-featured-image-wrapper small-12 columns">
+ <img src="{$glmPluginMediaUrl}/images/large/{$featuredImage}">
+ {if $featuredImageCaption}
+ <div class="glm-member-detail-featured-image-caption">
+ {$featuredImageCaption}
+ </div>
+ {/if}
+ </div>
+ {/if}-->
+ <div id="glm-member-detail-intro-desc">
+ {if $member.short_descr && $settings.detail_show_short_descr}{$member.short_descr|nl2br}{/if}
+ </div>
+ <div id="glm-member-detail-fullprofile-toggle">Expand All</div>
+ <div id="glm-member-detail-data-container">
+ {apply_filters('glm-member-db-front-members-detail-packages', '', $member.id)}
+ <div id="glm-member-detail-description-toggle" class="glm-member-detail-content-toggle">Description</div>
+ <div id="glm-member-detail-description-container" class="glm-member-detail-content-data">
+ <div id="glm-member-detail-description" >
+ {if $member.descr && $settings.detail_show_descr}
+ {apply_filters('glm-member-db-front-members-detail-descriptionTop', '', $member.id)}
+ {$member.descr|nl2br}
+ {apply_filters('glm-member-db-front-members-detail-descriptionBottom', '', $member.id)}
+ {/if}
+ </div>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+
+ {apply_filters('glm-member-db-front-members-detail-events', '', $member.id)}
+
+ {apply_filters('glm-member-db-front-members-detail-couponsBefore', '', $member.id)}
+ {if $settings.detail_show_coupons && $coupons}
+ <div id="glm-member-detail-coupons-toggle" class="glm-member-detail-content-toggle">Coupons</div>
+ <div id="glm-member-detail-coupons-container" class="glm-member-detail-content-data small-12">
+ <a name="glm-member-detail-coupons"></a>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-couponsAfter', '', $member.id)}
+
+ {apply_filters('glm-member-db-front-members-detail-amenitiesBefore', '', $member.id)}
+ {if $member.amenities && $settings.detail_show_amenities}
+ <div id="glm-member-detail-amenities-toggle" class="glm-member-detail-content-toggle">Amenities & Services</div>
+ <div id="glm-member-detail-amenities-container" class="glm-member-detail-content-data small-12">
+ <table class="glm-member-detail-table">
+ {foreach $member.amenities as $a}
+ <tr>
+ <td>
+ {$a.name}
+ </td>
+ </tr>
+ {/foreach}
+ </table>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-amenitiesAfter', '', $member.id)}
+<!-- Not using credit cards for now
+ {apply_filters('glm-member-db-front-members-detail-creditcardsBefore', '', $member.id)}
+ {if $member.cc_type && $settings.detail_show_creditcards}
+ <div id="glm-member-detail-creditcards-toggle" class="glm-member-detail-content-toggle">Credit Cards</div>
+ <div id="glm-member-detail-creditcards-container" class="glm-member-detail-content-data small-12">
+ <table class="glm-member-detail-table">
+ <tr><th>Credit Cards Accepted:</th></tr>
+ {foreach $member.cc_type.names as $c}
+ <tr><td>{$c}</td></tr>
+ {/foreach}
+ </table>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-creditcardsAfter', '', $member.id)}
+-->
+ {apply_filters('glm-member-db-front-members-detail-categoriesBefore', '', $member.id)}
+ {if $member.categories && $settings.detail_show_categories}
+ <div id="glm-member-detail-categories-toggle" class="glm-member-detail-content-toggle">Categories</div>
+ <div id="glm-member-detail-categories-container" class="glm-member-detail-content-data small-12">
+ <table class="glm-member-detail-table">
+<!-- <tr><th>{$terms.term_member_cap} Categories</th></tr>-->
+ {foreach $member.categories as $c}
+ <tr>
+ <td>
+ {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
+ </td>
+ </tr>
+ {/foreach}
+ </table>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-categoriesAfter', '', $member.id)}
+ {apply_filters('glm-member-db-front-members-detail-videoBefore', '', $member.id)}
+ {if $member.video_url && $settings.detail_show_video}
+ <div id="glm-member-detail-video-toggle" class="glm-member-detail-content-toggle">Video</div>
+ <div id="glm-member-detail-video-container" class="glm-member-detail-content-data small-12">
+ <table class="glm-member-detail-table">
+ <div><h3 class="glm-member-detail-video-title">{$member.video_title}</h3></div>
+ <div class="glm-member-detail-video-embed">{$member.video_embed}</div>
+ <div class="glm-member-detail-video-descr"><p>{$member.video_descr}</p></div>
+ </table>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-detail-videoAfter', '', $member.id)}
+
+ {apply_filters('glm-member-db-front-members-detail-liveCamBefore', '', $member.id)}
+ {if $member.live_cam_type.value!=1 && $member.live_cam_url && $settings.detail_show_live_cam}
+ <div id="glm-member-detail-live-cam-toggle" class="glm-member-detail-content-toggle">{$terms.term_webcam_cap}</div>
+ <div id="glm-member-detail-live-cam-container" class="glm-member-detail-content-data small-12">
+ <table class="glm-member-detail-table">
+ <div><h3 class="glm-member-detail-live-cam-title">{$member.live_cam_title}</h3></div>
+ {if $member.live_cam_type.value == 2}
+ <img width="auto" max-height="315" src="{$member.live_cam_url}">
+ {/if}
+ <div class="glm-member-detail-live-cam-descr"><p>{$member.live_cam_descr}</p></div>
+ </table>
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+
+ {if $haveFiles}
+ <div id='glm-member-detail-files-toggle' class='glm-member-detail-content-toggle'>Files</div>
+ <div id='glm-member-detail-files-container' class='glm-member-detail-content-data small-12'>
+ {foreach $files as $file}
+ <a class="glm-file-detail" href="{$glmPluginMediaUrl}/files/{$file.file_name}" target="_blank">{if $file.caption}{$file.caption}{else}{$file.name}{/if}</a>
+ {/foreach}
+ <div class='glm-member-detail-sub-data-links row'>
+ <a class='glm-member-detail-content-toggle'>Collapse</a>
+ <a class='glm-member-detail-link-to-top'>Back to top</a>
+ </div>
+ </div>
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-detail-liveCamAfter', '', $member.id)}
+
+ {$customFields = apply_filters('get_glm_custom_fields','glm-member-db',$member.memberInfoId)}
+ {if !empty($customFields[0].field_data)}
+ <div id="glm-member-detail-hours-toggle" class="glm-member-detail-content-toggle">Hours</div>
+ <div id="glm-member-detail-hours-container" class="glm-member-detail-content-data">
+ <div id="glm-member-detail-hours" >
+
+ {foreach $customFields as $field}
+ {if $field.field_data}
+ <div class="glm-member-detail-custom-field">
+ <div class="row">
+ <span class="glm-member-detail-custom-field-name small-12 medium-5 columns" >{$field.field_name}</span>
+ <span class="glm-member-detail-custom-field-data small-12 medium-7 columns">{$field.field_data}</span>
+ </div>
+
+ </div>
+ {/if}
+ {/foreach}
+ </div>
+
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-detail-imageGalleryBefore', '', $member.id)}
+ {if $settings.detail_show_imagegallery && $haveImageGallery}
+ <div id="glm-member-detail-images-toggle" class="glm-member-detail-content-toggle">Photos</div>
+ <div id="glm-member-detail-images-container" class="glm-member-detail-content-data small-12">
+ {apply_filters('glm-member-db-front-members-detail-galleryTop', '', $member.id)}
+<!-- <h2>Photo Gallery</h2>-->
+
+ <ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-3">
+ {foreach $imageGallery as $i}
+ <li>
+ <a class="glm-member-detail-images-thumb fancybox" data-fancybox="images" rel="gallery1" href="{$glmPluginMediaUrl}/images/large/{$i.file_name}" style="background-image: url('{$glmPluginMediaUrl}/images/small/{$i.file_name}')">
+ <img class="glm-member-filler-image" src="{$assetsUrl}/filler_s.gif" alt="{$i.caption}">
+ </a>
+ </li>
+ {/foreach}
+ </ul>
+ {apply_filters('glm-member-db-front-members-detail-galleryBottom', '', $member.id)}
+ <div class="glm-member-detail-sub-data-links row">
+ <a class="glm-member-detail-content-toggle">Collapse</a>
+ <a class="glm-member-detail-link-to-top">Back to top</a>
+ </div>
+ </div>
+ {/if}
+ {apply_filters('glm-member-db-front-members-detail-imageGalleryAfter', '', $member.id)}
+
+ {apply_filters('glm-member-db-front-members-detail-dataBottom','',$member.id)}
+ </div>
+ </div>
+ {apply_filters('glm-member-db-front-members-detail-attributesBottom', '', $member.id)}
+<!-- Image Gallery -->
+
+ </div>
+ </div>
+ {apply_filters('glm-member-db-front-members-detail-pageBottom', '', $member.id)}
+
+ <div id="findingYourLocationDialog" title="Your present location">
+ <p>
+ We would like to lookup your present location so we can provide accurate directions.
+ </p><p>
+ Your browser may ask for your permission to determine your location
+ (possibly at the top of this page).
+ </p><p>
+ If you agree, we will use your current location as the starting point for
+ directions. If you don't agree, you may enter a starting location when the map is displayed.
+ </p>
+ </div>
+
+ <script type="text/javascript">
+ {apply_filters('glm-member-db-front-members-detail-jqueryScriptTop', '', $member.id)}
+
+ jQuery(document).ready(function($) {
+
+ // Dialog box to show when submitting checkout page
+ $( "#findingYourLocationDialog" ).dialog({
+ autoOpen: false,
+ width: 600
+ });
+ $( "#lookingUpYourLocationDialog" ).dialog({
+ autoOpen: false,
+ width: 600
+ });
+
+ var trackToConsole = true; // Send debug/progress messages to developers console (Firefox)
+ var trackPositionInterval = 60000; // Time interval for getting user's current geolocation - 1 Min
+ var highAccuracyPoisition = true; // Request high-accuracy user geolocation from user's device
+ var postionTimeout = 15000; // Maximum amount of time we'll wait for geolocation result - 15 Sec
+
+ // Process form for sending user to Google Maps for driving directions
+ $("#MemberDrivingDirectionsForm").submit(function(){
+
+ var stopGeolocation = false;
+ var myCurrentLocation = false;
+
+ // If we already have a location
+ if (myCurrentLocation) {
+ sendToGoogleMaps(myCurrentLocation);
+ } else {
+
+ // We don't yet have a location, so try to get it
+ if (navigator.geolocation) {
+
+ $( "#findingYourLocationDialog" ).dialog("open");
+
+ // Get the user's location
+ navigator.geolocation.getCurrentPosition(function(position) {
+
+ // Save their current location
+ myCurrentLocation = {
+ lat: position.coords.latitude,
+ lon: position.coords.longitude
+ };
+
+ $( "#findingYourLocationDialog" ).dialog("close");
+ sendToGoogleMaps(myCurrentLocation);
+
+ // If we can't get the location, then go without it
+ },
+ function(err) {
+ $( "#findingYourLocationDialog" ).dialog("close");
+ sendToGoogleMaps(false);
+ },
+ {
+ enableHighAccuracy: highAccuracyPoisition,
+ timeout: postionTimeout,
+ maximumAge: trackPositionInterval - 100 // Allows cached position resulting from other requests during interval
+ });
+
+ }
+
+ }
+
+ return false;
+
+ });
+
+ function sendToGoogleMaps(myLocation) {
+ var lat = plusifyMyValue(jQuery("#MemberLat").val());
+ var lon = plusifyMyValue(jQuery("#MemberLon").val());
+ var dest = '&destination=' + lat + '%2C+' + lon;
+
+ var origin = '';
+ if (myLocation) {
+ var myLat = plusifyMyValue(myLocation.lat);
+ var myLon = plusifyMyValue(myLocation.lon);
+ origin = '&origin=' + myLat + '%2C+' + myLon;
+ }
+
+ var url = "https://www.google.com/maps/dir/?api=1" + origin + dest;
+ window.open(url, '_blank');
+ }
+
+ function plusifyMyValue(v) {
+ if (v > 0) {
+ v = '+' + v;
+ }
+ return v;
+ }
+
+ // change the member detail photos grid structure depending
+ var images_container = $("#glm-member-detail-images-container");
+ // Check if Foundation exists first
+ if ( typeof window.Foundation != 'undefined' ) {
+ var foundation_version = window.Foundation.version;
+
+ if( foundation_version.charAt(0) === "6" ){
+ images_container.children('ul').removeClass('small-block-grid-1 medium-block-grid-2 large-block-grid-3');
+ images_container.children('ul').addClass('row small-up-1 medium-up-2 large-up-3');
+ images_container.children('ul').find('li').addClass('column');
+ }
+ }
+
+ // Replace all non-number special characters in a phone number with the designated infix
+ {if $settings.phone_infix}
+ //var processedPhone = $('.glm-member-detail-contact-phone .glm-field-value').text().trim().replace(/[^a-zA-Z0-9 ]/g, '{$settings.phone_infix}');
+ //$('.glm-member-detail-contact-phone .glm-field-value').text(processedPhone);
+ {/if}
+
+ // Check a hidden field to see if this is a page refresh (doesn't detect forced reload)
+ var isRefresh = $("#glm-member-detail-click-logged").val();
+
+ // Also check the HTML 5 performance.navigation.type value (1 = reload, 2 = via history)
+ if(window.performance && (performance.navigation.type == 1 || performance.navigation.type == 2)) {
+ isRefresh = 1;
+ }
+
+ // If this is not a refresh or reload, send AJAX action to record click.
+ if (isRefresh == 0) {
+ $.ajax({
+ url: "{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberDetailClick&memberId={$member.member_pointer}&memberSlug={$member.member_slug}"
+ });
+ $("#glm-member-detail-click-logged").val(1);
+ }
+
+ // Processes click-through counts for website links
+ $('#glm-member-detail-website-link').on('click', function() {
+
+ // Get member ID
+ var memberId = $(this).attr('data-member-id');
+ var memberSlug = $(this).attr('data-member-slug');
+
+ // Send AJAX action to record click.
+ $.ajax({
+ url: "{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=memberClickThrough&memberId=" + memberId + "&memberSlug=" + memberSlug
+ });
+
+ });
+
+ // Automatically zoom and expand the relevant
+ $('html').addClass('glmassociatememberdetail glmassociatetop');
+ if ("{$expanded}" != "") {
+ var expandTarget = "glm-member-detail-{$expanded}";
+ if ($("#"+expandTarget+"-container").length) {
+ $("#"+expandTarget+"-container").show("fast", "swing", function() {});
+ $("#"+expandTarget+"-toggle").addClass("selected");
+ fullProfileCheck(expandTarget);
+ $('html, body').animate({
+ scrollTop: $("#"+expandTarget+"-toggle").offset().top-10
+ }, 500);
+ }
+ }
+
+ $("a.glm-member-detail-images-thumb").fancybox({
+
+ helpers: {
+ overlay: { locked: false },
+ title: { type: 'inside'},
+ },
+ afterLoad: function(){
+ this.title = $(this.element).find('img').attr('alt');
+ }
+ });
+
+ $("a.glm-member-detail-images-thumb").click(function(e) {
+ e.preventDefault();
+ });
+
+ $('.glm-member-detail-link-to-top').click(function () {
+ $('body,html').animate({
+ scrollTop: $("#glm-member-detail-takeback-mini").offset().top-10
+ }, 75);
+ });
+
+ // Open the appropriate section if a link is clicked
+ $('.link-open-detail-content-data').click(function(e) {
+ var target = $(this).attr("id").slice(0, -5);
+ // e.g.: #glm-member-detail-packages-link
+ $("#"+target+"-container").show("fast", "swing", function() {});
+ $("#"+target+"-toggle").addClass("selected");
+ fullProfileCheck(target);
+ $('html, body').animate({
+ scrollTop: $("#"+target+"-toggle").offset().top-{$settings.detail_top_offset_autoscroll}
+ }, 500);
+ });
+
+ // Open the following sections by default
+ if ($(window).width() >= 1024) {
+
+ if( $("#glm-member-detail-packages-container").length > 0 && $("#glm-member-detail-packages-toggle").length > 0){
+ $("#glm-member-detail-packages-container").slideToggle("fast", "swing", function() {});
+ $("#glm-member-detail-packages-toggle").toggleClass("selected");
+ }
+
+ if( $("#glm-member-detail-images-container").length > 0 && $("#glm-member-detail-description-toggle").length > 0){
+ $("#glm-member-detail-images-container").slideToggle("fast", "swing", function() {});
+ $("#glm-member-detail-images-toggle").toggleClass("selected");
+ }
+
+ }
+
+ // Open or close the appropriate section if a toggle is clicked
+ $(".glm-member-detail-content-toggle").not("#glm-member-detail-fullprofile-toggle").click(function() {
+ if($(this).parents('.glm-member-detail-sub-data-links').length) {
+ var target = $(this).parent().parent().attr("id").slice(0, -10);
+ } else {
+ var target = $(this).attr("id").slice(0, -7);
+ }
+ $("#"+target+"-container").slideToggle("fast", "swing", function() {});
+ $("#"+target+"-toggle").toggleClass("selected");
+ fullProfileCheck(target);
+ });
+
+ // Change the toggle button based on whether all the content sections are expanded
+ function fullProfileCheck(target) {
+ if ($("#glm-member-detail-data-container > .glm-member-detail-content-toggle.selected").length == $("#glm-member-detail-data-container > .glm-member-detail-content-toggle").length) {
+ $("#glm-member-detail-fullprofile-toggle").addClass("selected");
+ } else {
+ $("#glm-member-detail-fullprofile-toggle").removeClass("selected");
+ }
+ }
+
+ // Open or close every data container if the fullprofile toggle is clicked
+ $("#glm-member-detail-fullprofile-toggle").click(function() {
+ if ($(this).hasClass("selected")) {
+ $(".glm-member-detail-content-data").slideUp(175, "swing", function() {});
+ $(".glm-member-detail-content-toggle").removeClass("selected");
+ $(this).toggleClass("selected");
+ } else {
+ $(".glm-member-detail-content-data").not($(this)).slideDown(350, "swing", function() {});
+ $(".glm-member-detail-content-toggle").addClass("selected");
+ $(this).toggleClass("selected");
+ }
+ });
+
+ // Expand the takeback button on hover. Progressively add ellipses when clicked and loading
+ $("#glm-member-detail-takeback-mini").click(function() {
+ $("#glm-member-detail-takeback-mini span").html("Loading");
+ $("#glm-member-detail-takeback-mini").css('min-width','170px');
+ var count = 0;
+ setInterval(function(){
+ count++;
+ var dots = new Array(count % 5).join(' .');
+ $('#glm-member-detail-takeback-mini span').html("Loading ." + dots);
+ }, 500);
+ });
+
+
+ {if $settings.detail_show_map}
+
+ // Expand/contract map container and change the toggle button
+ $("#glm-member-detail-map-button").click(function() {
+ var mapC = "#glm-locationMap-container";
+ var map = "#glm-locationMap";
+ var mapNewH = 0;
+ var mapOverflow = 'hidden';
+ var mapBtnTxt = 'view map';
+ if ($(mapC).height() == 0) {
+ mapNewH = 140;
+ mapV = 'visible';
+ mapBtnTxt = 'hide map'
+ }
+ $(mapC).animate({
+ overflow: mapOverflow,
+ height: mapNewH
+ }, 140, "swing", function() {
+
+ });
+ $(this).html(mapBtnTxt);
+ });
+
+ {if $settings.selected_map_interface == 1}
+
+ /*
+ * Leaflet Map
+ * API reference: https://leafletjs.com/reference-1.3.2.html
+ */
+
+ // Get member location if available, otherwise use this site's default locatgion
+ var myLocation = false;
+ {if $member.lat != 0 && $member.lon != 0}
+ var memberLat = {$member.lat};
+ var memberLon = {$member.lon};
+ {else}
+ var memberLat = {$settings.maps_default_lat}};
+ var memberLon = {$settings.maps_default_lon}};
+ {/if}
+
+ function initMap() {
+
+ var leafletMap = L.map('LeafletMapContainer').setView([memberLat, memberLon], {$settings.maps_default_zoom});
+ var leafletTileServer = '{$settings.leaflet_tile_server}/{$settings.leaflet_tile_server_key}/' + {literal}'{z}/{x}/{y}.png'{/literal};
+ var leafletMinZoom = 5;
+ var leafletMaxZoom = 18;
+ var geocoder;
+
+
+ // Tile server
+ L.tileLayer(leafletTileServer, {
+ attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.gaslightmedia.com/">Gaslight Media</a>',
+ minZoom: leafletMinZoom,
+ maxZoom: leafletMaxZoom,
+ id: 'nothot'
+ }).addTo(leafletMap);
+
+ var loadingControl = L.Control.loading({
+ separate: true,
+ delayIndicator: 500
+ });
+ leafletMap.addControl(loadingControl);
+
+ // Marker
+ var leafletMarker = L.marker([memberLat, memberLon]).addTo(leafletMap);
+
+ }
+
+ {/if}
+
+ {if $settings.selected_map_interface == 2}
+
+ /*
+ * Google Maps
+ * API reference: https://developers.google.com/maps/documentation/javascript/reference
+ */
+
+ var myLocation = false;
+ {if $member.lat != 0 && $member.lon != 0}
+ var memberlocation = new google.maps.LatLng({$member.lat}, {$member.lon});
+ {else}
+ var memberlocation = new google.maps.LatLng({$settings.maps_default_lat}, {$settings.maps_default_lon});
+ {/if}
+
+ function initMap() {
+
+ // Set default - Need to make this configurable
+ var map = new google.maps.Map(document.getElementById('glm-locationMap'), {
+ zoom: {$settings.maps_default_zoom},
+ center: memberlocation,
+ disableDefaultUI: false,
+ mapTypeId: google.maps.MapTypeId.MAP,
+ });
+
+ // Create a marker for this member
+ {if $member.lat != 0 && $member.lon != 0}
+ var marker = new google.maps.Marker({
+ map: map,
+ position: new google.maps.LatLng({$member.lat}, {$member.lon}),
+ draggable: false,
+ animation: google.maps.Animation.DROP,
+ title: '{$member.member|escape}'
+ });
+ {/if}
+
+ }
+
+ // Load map
+ google.maps.event.addDomListener(window, 'load', initMap);
+
+ {/if}
+
+ {/if} {*detail_show_map*}
+
+ $(window).load(function(){
+ initMap();
+ });
+
+ }); // jquery
+
+ {apply_filters('glm-member-db-front-members-detail-jqueryScriptBottom', '', $member.id)}
+
+
+
+ </script>
+
+{else}
+ <p>For some reason the specified {$terms.term_member} was not found. Please try again.</p>
+{/if}
+
+
+{include file='front/footer.html'}
<div id="glm-member-list-filters-close" class="button glm-button glm-member-list-filters-toggle">Close</div>
{/if}
<form action="{$thisUrl}?glm_action=list#glm-member-list-filters-button" method="post" enctype="multipart/form-data">
- {if isset($smarty.request.s)}<input type="hidden" name="s" value="{$smarty.request.s|escape}">{/if}
+ {if isset($wpSearch)}<input type="hidden" name="s" value="{$wpSearch|escape:quotes}">{/if}
<div class="glma-small-12 glma-columns glm-member-search glm-member-entry-container glm-member-container">
{apply_filters('glm-member-db-front-members-list-searchFormTop', '')}
<div>
{if $showSettings.list_show_search_alpha && !$isSearchPage}
<div class="glm-alpha-links">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if isset($smarty.request.s) && $smarty.request.s}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
+ <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
{foreach $alphaList as $a}
- <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}&textSearch={$textSearch}{if isset($smarty.request.s) && $smarty.request.s}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
+ <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}&textSearch={$textSearch}{if isset($wpSearch) && $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
{/foreach}
</div>
{/if}
{if ( $prevStart || $nextStart ) && !$settings.list_ajax_pagination}
<br>
<div class="paging-container">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if isset($smarty.request.s)}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if isset($smarty.request.s)}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+ <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+ <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
</div>
<br>
{/if}
loading...
</div>
{else}
- {if $view == list || $view == map}
- {include file='front/members/listTypeList.html'}
+ {if $view == 'list' || $view == 'map'}
+ {include file="front/members/{$settings.list_view_file}.html"}
{/if}
- {if $view == grid}
- {include file='front/members/listTypeGrid.html'}
+ {if $view == 'grid'}
+ {include file="front/members/{$settings.grid_view_file}.html"}
{/if}
- {if $view == uptravel}
+ {if $view == 'uptravel'}
{include file='front/members/listTypeUptravel.html'}
{/if}
{/if}
{if ( $prevStart || $nextStart ) && !$settings.list_ajax_pagination}
<br>
<div class="paging-container">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if isset($smarty.request.s)}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if isset($smarty.request.s)}&s={$smarty.request.s|escape}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+ <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+ <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}{if $wpSearch}&s={$wpSearch|escape:'html'}{/if}&categorySearch={$catSearchSelected}®ionSearch={$regionSearchSelected}&citySearch={$citySearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
</div>
<br>
{/if}
--- /dev/null
+{* List Type Grid *}
+<ul class="row">
+ {foreach $members as $member}
+ <li class="glm-member-list-record columns small-12 medium-6 large-4">
+ <a class="anchorWrapper"{if $showSettings.list_show_detail_link && !$member.has_no_profile.value} href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/"{else} style="cursor: default;"{/if}>
+ {apply_filters('glm-member-db-front-members-list-memberAbove', '', $member.member_pointer)}
+ <div class="glm-member-db-border-wrap">
+ {apply_filters('glm-member-db-front-members-list-memberTop', '', $member.member_pointer)}
+
+ <div class="glm-member-list-image-wrapper"{if $settings.list_show_detail_link && !$member.has_no_profile.value} href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/"{/if}>
+
+ {if $member.featured}
+ <div class="glm-member-list-featured-tag">
+ featured
+ </div>
+ {/if}
+
+ {if $member.logo && $showSettings.list_show_logo}
+ <div class="glm-member-list-has-image">
+ {apply_filters('glm-member-db-front-members-list-memberImageTop', '', $member.member_pointer)}
+ <img class="glm-member-list-image" src="{$glmPluginMediaUrl}/images/grid/{$member.logo}">
+ </div>
+ {elseif $showSettings.list_show_logo_filler}
+ <div class="glm-member-list-has-image">
+ {apply_filters('glm-member-db-front-members-list-memberImageTop', '', $member.member_pointer)}
+ <img class="glm-member-list-image-filler" src="{$assetsUrl}/filler_s.gif">
+ </div>
+ {else}
+ <div class="glm-member-list-missing-image"></div>
+ {/if}
+ </div>
+ <div class="glm-member-list-info-wrapper">
+ <h4 class="glm-member-title"> {$member.member} </h4>
+ <div class="glm-member-list-description small-12 columns">
+ <div>
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionTop', '', $member.member_pointer)}
+ {if $member.short_descr && $showSettings.list_show_short_descr}
+ {$member.short_descr|nl2br}
+ {/if}
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionBottom', '', $member.member_pointer)}
+ </div>
+ </div>
+ {if $member.city}
+ <div class="glm-member-list-address-container">
+ <span class="member-city">{$member.city}{if $member.state.value}{/if}</span><br>
+ </div>
+ {/if}
+ {if $settings.memb_info_location && $member.region && $showSettings.list_show_region}
+ <div class="glm-member-list-region-container">
+ Region: {$member.region}
+ </div>
+ {/if}
+ {if ($settings.memb_info_contact && $member.phone && $showSettings.list_show_phone) || ($settings.memb_info_contact && $member.toll_free && $showSettings.list_show_tollfree)}
+ <div class="glm-member-list-phone-container">
+ {if $member.phone && $showSettings.list_show_phone}<span class="glm-member-db-phone">{apply_filters('glm_associate_phone_filter', $member.phone)} </span>{/if}
+ </div>
+ {/if}
+ </div>
+ </div> {* End of glm-member-db-border *}
+ </a>
+ <div class="glm-member-list-sub-links">
+ <ul>
+ {if $member.url && $showSettings.list_show_url}<li><a href="{$member.url}"{if $showSettings.list_show_url_newtarget} target="_blank"{/if}>Website</a></li>{/if}
+ {* {if $member.phone && $showSettings.list_map_show_phone}<a href="tel:+{$member.phone}">Phone</a>{/if} *}
+ {$packageLink = apply_filters('glm-member-db-front-members-list-linksBottom', '', $member.member_pointer)}
+ {if $packageLink}<li>{$packageLink}</li>{/if}
+ {if $member.reservation_url}<li><a target="_blank" href="{$member.reservation_url}">Reserve Now</a></li>{/if}
+
+ {if $showSettings.list_show_live_cam}
+ {if $member.live_cam_type.name == "Web Page" && $member.live_cam_url && $showSettings.list_show_live_cam}
+ <li><a target="_blank" href="{$member.live_cam_url}">{$terms.term_webcam_cap}</a></li>
+ {else if $member.live_cam_type.name == "Camera Image"}
+ <li><a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?expanded=live-cam">{$terms.term_webcam_cap}</a></li>
+ {/if}
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-list-memberBelow', '', $member.member_pointer)}
+ </ul>
+ </div>
+ </li> {* end of li.glm-member-list-record *}
+ {/foreach} {*$members*}
+</ul>
--- /dev/null
+{* List Type View *}
+
+{foreach $members as $member}
+
+ {apply_filters('glm-member-db-front-members-list-memberAbove', '', $member.member_pointer)}
+ <div class="glm-member-list-container glm-member-container glma-small-12 glma-columns {if $member.featured}featured{/if}">
+
+ {apply_filters('glm-member-db-front-members-list-memberTop', '', $member.member_pointer)}
+ {if $member.featured}
+ <div class="glm-member-list-featured-tag">
+ featured
+ </div>
+ {/if}
+
+ {* Member Logo - Medium and up *}
+
+ <div class="glm-member-list-data glma-small-12 glma-columns">
+ {if $member.logo && $showSettings.list_show_logo}
+ <div class="glm-member-list-image-wrapper glma-right glma-small-12 glma-medium-4 glma-columns {if !$settings.list_logo_for_mobile}mobile-hide{/if}">
+ {apply_filters('glm-member-db-front-members-list-memberImageTop', '', $member.member_pointer)}
+ <div class="glm-member-list-image-border clearfix">
+ <img src="{$glmPluginMediaUrl}/images/{$settings.list_logo_size}/{$member.logo}">
+ </div>
+ </div>
+ {elseif $showSettings.list_show_logo_filler}
+ <div class="glm-member-list-image-wrapper glma-right glma-small-12 glma-medium-4 glma-columns {if !$settings.list_logo_for_mobile}mobile-hide{/if}">
+ {apply_filters('glm-member-db-front-members-list-memberImageTop', '', $member.member_pointer)}
+ </div>
+ {/if}
+ <div class="glm-member-list-active-info glma-small-12 glma-medium-8 glma-columns glma-small-right glma-medium-left ">
+
+ {apply_filters('glm-member-db-front-members-list-memberInfoTop', '', $member.member_pointer)}
+
+ <h4 class="glm-member-title">
+ {if $showSettings.list_show_detail_link && !$member.has_no_profile.value}
+ <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}">{$member.member}</a>
+ {else}
+ {$member.member}
+ {/if}
+ </h4>
+ {if $showSettings.list_show_address}
+ <div class="glm-member-list-address-wrapper">
+
+ {apply_filters('glm-member-db-front-members-list-memberAddressTop', '', $member.member_pointer)}
+
+ {if $showSettings.list_show_street}
+ {if $member.addr1 && $showSettings.list_show_address}<div>{$member.addr1}</div>{/if}
+ {if $member.addr2 && $showSettings.list_show_address}<div>{$member.addr2}</div>{/if}
+ {/if}
+ {if $settings.memb_info_location && $showSettings.list_show_citystatezip}
+ <div>
+ {if $member.city}
+ <span>{$member.city}{if $member.state.value}, {/if}</span>
+ {/if}
+ {if $member.state.value}
+ <span>{$member.state.value}</span>
+ {/if}
+ {if $member.zip}
+ {$member.zip}
+ {/if}
+ </div>
+ {/if}
+ {if $member.country.name && $showSettings.list_show_country}
+ <div>{$member.country.name}</div>
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-list-memberAddressBottom', '', $member.member_pointer)}
+
+ </div>
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-list-memberDetailTop', '', $member.member_pointer)}
+
+ {if ($settings.memb_info_contact && $member.phone && $showSettings.list_show_phone) || ($settings.memb_info_contact && $member.toll_free && $showSettings.list_show_tollfree)}
+ <div>
+ {if $member.phone && $showSettings.list_show_phone}<span class="glm-member-db-phone">Phone: {apply_filters('glm_associate_phone_filter', $member.phone)} </span>{/if}
+ {if $member.toll_free && $showSettings.list_show_tollfree}<span class="glm-member-db-phone-tollfree">{apply_filters('glm_associate_phone_filter', $member.toll_free)}</span>{/if}
+ </div>
+ {/if}
+ {if $settings.memb_info_location && $member.region && $showSettings.list_show_region}<div><b>Region:</b> {$member.region}</div>{/if}
+
+ <div class="glm-member-list-links">
+
+ {apply_filters('glm-member-db-front-members-list-memberLinksTop', '', $member.member_pointer)}
+
+ {if $member.url && $showSettings.list_show_url}<a class='glm-member-list-website-link' data-member-id="{$member.member_pointer}" data-member-slug="{$member.member_slug}" href="{$member.url}"{if $showSettings.list_show_url_newtarget} target="_blank"{/if} >Visit Website</a>{/if}
+ {if $member.email && $showSettings.list_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
+ {if $member.reservation_url}<a target="_blank" href="{$member.reservation_url}">Reserve Now</a>{/if}
+ {if $settings.list_show_live_cam}
+ {if $member.live_cam_type.name == "Web Page" && $member.live_cam_url && $settings.list_show_live_cam}
+ <a target="_blank" href="{$member.live_cam_url}">{$terms.term_webcam_cap}</a>
+ {else if $member.live_cam_type.name == "Camera Image"}
+ <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}?expanded=live-cam">{$terms.term_webcam_cap}</a>
+ {/if}
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-list-linksBottom', '', $member.member_pointer)}
+
+ </div>
+ <div class="glm-member-db-socials">
+
+ {apply_filters('glm-member-db-front-members-social-list', '', $member.member_pointer)}
+
+ </div>
+
+ <div class="glm-member-list-description glma-small-12 glma-columns">
+ <div>
+
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionTop', '', $member.member_pointer)}
+
+ {if $member.short_descr && $showSettings.list_show_short_descr}
+ {$member.short_descr|nl2br}
+ {if $showSettings.list_show_detail_link && !$member.has_no_profile.value}
+ <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$member.member_slug}/{if $settings.enable_multiple_profiles}{$member.id}/{/if}">More</a>
+ {/if}
+ {/if}
+
+ {apply_filters('glm-member-db-front-members-list-memberDescriptionBottom', '', $member.member_pointer)}
+
+ </div>
+ <div class="glm-member-list-items">
+ {if isset($member.categories) && $member.categories && $showSettings.list_show_categories}
+ <b>{$terms.term_member_cap} Categories</b>
+ <ul>
+ {foreach $member.categories as $c}
+ <li>
+ {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
+ </li>
+ {/foreach}
+ </ul>
+ {/if}
+ {if $member.cc_type && $showSettings.list_show_creditcards}
+ <b>Credit Cards Accepted:</b>
+ <ul>
+ {foreach $member.cc_type.names as $c}
+ <li>{$c}</li>
+ {/foreach}
+ </ul>
+ {/if}
+ {if isset($member.categories) && $member.amenities && $showSettings.list_show_amenities}
+ <b>{$terms.term_member_cap} Amenities</b>
+ <ul>
+ {foreach $member.amenities as $A}
+ <li>
+ {$A.name}
+ </li>
+ {/foreach}
+ </ul>
+ {/if}
+ </div>
+ </div>
+
+ {apply_filters('glm-member-db-front-members-list-memberDetailBottom', '', $member.member_pointer)}
+
+ </div>
+
+ {apply_filters('glm-member-db-front-members-list-memberDataBelow', '', $member.member_pointer)}
+
+ </div>
+
+ {apply_filters('glm-member-db-front-members-list-memberBelow', '', $member.member_pointer)}
+
+ </div>
+
+{/foreach} {* members *}
+
+{apply_filters('glm-member-db-front-members-list-memberBottom', '', $member.member_pointer)}