Added featured member functionality. Set in management.
Added options to show packages on the list or not.
Added option for term to use on grid view for packages link.
Option added to select whether to show logo filler image or not.
'use' => 'gle'
),
+ // Member Featured
+ 'featured' => array (
+ 'field' => 'member',
+ 'as' => 'featured',
+ 'type' => 'pointer',
+ 'p_table' => GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members',
+ 'p_field' => 'featured',
+ 'p_static' => true,
+ 'required' => false,
+ 'use' => 'gle'
+ ),
+
// Member Pointer index
'member_pointer' => array (
'field' => 'member',
'use' => 'gl'
),
+ // Whether this is a featured member
+ 'featured' => array (
+ 'field' => 'featured',
+ 'type' => 'checkbox',
+ 'use' => 'a',
+ 'default' => 0, // not featured
+ ),
+
/*
* Has pending information
*
'p_where' => 'status = '.$this->config['status_numb']['Pending'],
'p_sum' => true,
'use' => 'gl'
- )
+ )
+
);
if (is_admin() && GLM_MEMBERS_PLUGIN_ADMIN_DEBUG_VERBOSE) {
'created' => $fSave['created'],
'access_short' => $fSave['access_short'],
'member_type_short' => $fSave['member_type_short'],
+ 'featured' => $fSave['featured'],
'active_id' => $fSave['active_id']
);
'use' => 'a'
),
+ // Front-end Listings - Show List
+ 'list_header_text' => array(
+ 'field' => 'list_header_text',
+ 'type' => 'text',
+ 'use' => 'a'
+ ),
+
// Front-end Listings - Show Search Form
'list_show_search' => array(
'field' => 'list_show_search',
'use' => 'a'
),
+ // Front-end Listings - Show Logo Filler
+ 'list_show_logo_filler' => array(
+ 'field' => 'list_show_logo_filler',
+ 'type' => 'checkbox',
+ 'use' => 'a'
+ ),
+
// Front-end Listings - Logo Size
'list_logo_size' => array(
'field' => 'list_logo_size',
}
.glm-member-db-list .glm-member-db-border-wrap {
border-radius: 4px;
+ overflow: hidden;
}
.glm-member-list-social {
margin-top: 5px;
position: relative;
display: block;
overflow: hidden;
- min-height: 30px;
padding: 0;
}
.glm-member-db-list .glm-member-list-image-wrapper > img {
float: left;
width: 33%;
text-align: center;
+ font-size: 16px;
}
.glm-member-db-list-view .glm-member-list-sub-links > a:first-child {
/* text-align:left;*/
font-weight: bold;
}
.glm-member-db-grid-view .glm-member-list-sub-links > a::before {
- color: #adadad;
- font-size: 18px;
- padding: 0 7px;
content: "";
}
.glm-member-db-grid-view .glm-member-list-sub-links {
}
.glm-member-db-grid-view .glm-member-list-sub-links > a:nth-child(n+2):before {
content: "|";
- display: inline-block;
+ display: inline-block;
+ color: #adadad;
+ font-size: 16px;
+ padding: 0 7px;
}
.glm-member-db-grid-view .glm-member-list-sub-links:last-child {
/* text-align: right;*/
.glm-member-detail-logo-wrapper {
text-align: center;
}
+.glm-member-list-featured-tag {
+ background-color: green;
+ color: white;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding: 5px 20px;
+ position: absolute;
+ text-shadow: 1px 0 white;
+ text-transform: uppercase;
+ z-index: 1;
+}
.glm-member-detail-featured-image-wrapper {
padding: 0;
overflow: hidden;
*/
define('GLM_MEMBERS_PLUGIN_VERSION', '2.5.0');
-define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.13');
+define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.14');
// Check if plugin version is not current in WordPress option and if needed updated it
if (GLM_MEMBERS_PLUGIN_VERSION != get_option('glmMembersDatabasePluginVersion')) {
$haveFilter = true;
}
+ // Check for "Featured Only
+ if (isset($_REQUEST['filterFeatured'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info I
+ WHERE I.status = ".$this->config['status_numb']['Featured']."
+ AND I.member = T.id
+ )";
+
+ $filterFeatured = true;
+ $haveFilter = true;
+ }
+
// Get a current list of members without paging
$list = $this->getList($where, "member_name");
'categories' => $categories,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'numbDisplayed' => $numbDisplayed,
'lastDisplayed' => $lastDisplayed,
", ARRAY_A);
}
-
+
// End of - Get member view stats
$thisDate = date('m/d/Y');
$where = ' true ';
$filterPending = false;
$filterArchived = false;
+ $filterFeatured = false;
$haveFilter = false;
$numbDisplayed = false;
$lastDisplayed = false;
$haveFilter = true;
}
+ // Check for "Featured Only
+ if (isset($_REQUEST['filterFeatured'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members I
+ WHERE I.featured = 1
+ AND I.id = T.id
+
+ )";
+ $filterFeatured = true;
+ $haveFilter = true;
+ }
+
// Get count of members listed
$memberCount = $this->getStats($where);
'categories' => $categories,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'numbDisplayed' => $numbDisplayed,
'lastDisplayed' => $lastDisplayed,
'list' => 'list_show_list',
'name-link' => 'list_show_detail_link',
'logo' => 'list_show_logo',
+ 'logo-filler' => 'list_show_logo_filler',
'address' => 'list_show_address',
'street' => 'list_show_street',
'city-state-zip' => 'list_show_citystatezip',
$whereSep = '';
$filterPending = false;
$filterArchived = false;
+ $filterFeatured = false;
$filterName = false;
$haveFilter = false;
$textSearch = '';
'membersFound' => $membersFound,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'filterName' => stripslashes($filterName),
'textSearch' => $textSearch,
+++ /dev/null
--- Gaslight Media Members Database
--- File Created: 12/09/14 15:27:15
--- Database Version: 1.1.12
--- 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
- PRIMARY KEY (id)
-);
-
-----
-
--- Member Click Through Stats Data - Totals of URL click-throughs - Preserved for 2 years
-CREATE TABLE {prefix}clickthrough_stats (
- member INT NULL, -- ID of member
- stat_type INT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
- stat_date DATE 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
- 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 INT NULL, -- Old member ID if imported from old database
- PRIMARY KEY (id),
- INDEX(name(20)),
- INDEX(member_slug(20)),
- INDEX(created)
-);
-
-----
-
--- Member Detail Display Stats Data - Totals of times detail page is displayed - Preserved for 2 years
-CREATE TABLE {prefix}member_detail_stats (
- member INT NULL, -- ID of member
- stat_type INT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
- stat_date DATE 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
- 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
- phone TINYTEXT NULL, -- Primary phone number
- toll_free TINYTEXT NULL, -- Toll Free phone number
- url TINYTEXT NULL, -- URL with information about this member
- 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.
- 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)
-);
-
-----
-
--- 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)
-);
-
-----
-
--- 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',
- 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,
- list_show_map BOOLEAN DEFAULT '1',
- list_show_list 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_alpha BOOLEAN DEFAULT '1',
- list_floating_search BOOLEAN DEFAULT '0',
- list_floating_search_distance_top INTEGER DEFAULT '0',
- list_show_detail_link BOOLEAN DEFAULT '1',
- list_show_logo BOOLEAN DEFAULT '1',
- list_logo_size TINYTEXT NULL,
- 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_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',
- 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_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 '',
- 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 )
- VALUES
- ( 1, 'America/Detroit', 'member-detail', 'large', 'thumb', 'large', 'thumb' )
-;
-
-----
-
--- 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_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_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,
- 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_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_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
- )
- 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',
- 'Regions',
- 'General Settings',
- 'Terms & Phrases',
- 'Development',
- 'member',
- 'Member',
- 'members',
- 'Members',
- 'location',
- 'Location',
- 'locations',
- 'Locations',
- 'facility',
- 'Facility',
- 'facilities',
- 'Facilities',
- 'attraction',
- 'Attraction',
- 'attractions',
- 'Attractions',
- 'contact',
- 'Contact',
- 'contacts',
- 'Contacts'
- )
-;
-
-----
-
--- 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
- )
-;
-
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 12/09/14 15:27:15
+-- Database Version: 1.1.14
+-- 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
+ PRIMARY KEY (id)
+);
+
+----
+
+-- Member Click Through Stats Data - Totals of URL click-throughs - Preserved for 2 years
+CREATE TABLE {prefix}clickthrough_stats (
+ member INT NULL, -- ID of member
+ stat_type INT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
+ stat_date DATE 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
+ 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 INT 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)
+);
+
+----
+
+-- Member Detail Display Stats Data - Totals of times detail page is displayed - Preserved for 2 years
+CREATE TABLE {prefix}member_detail_stats (
+ member INT NULL, -- ID of member
+ stat_type INT NULL, -- Type of stat 1 = day, 2 = week, 3 = month
+ stat_date DATE 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
+ 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
+ phone TINYTEXT NULL, -- Primary phone number
+ toll_free TINYTEXT NULL, -- Toll Free phone number
+ url TINYTEXT NULL, -- URL with information about this member
+ 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.
+ 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)
+);
+
+----
+
+-- 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)
+);
+
+----
+
+-- 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',
+ 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,
+ list_show_map BOOLEAN DEFAULT '1',
+ list_show_list 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_alpha BOOLEAN DEFAULT '1',
+ list_floating_search BOOLEAN DEFAULT '0',
+ list_floating_search_distance_top INTEGER DEFAULT '0',
+ list_show_detail_link BOOLEAN DEFAULT '1',
+ list_show_logo BOOLEAN DEFAULT '1',
+ list_logo_size TINYTEXT NULL,
+ 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_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_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_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 '',
+ 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 )
+ VALUES
+ ( 1, 'America/Detroit', 'member-detail', 'large', 'thumb', 'large', 'thumb' )
+;
+
+----
+
+-- 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_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_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,
+ 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_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_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
+ )
+ 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',
+ 'Regions',
+ 'General Settings',
+ 'Terms & Phrases',
+ 'Development',
+ 'member',
+ 'Member',
+ 'members',
+ 'Members',
+ 'location',
+ 'Location',
+ 'locations',
+ 'Locations',
+ 'facility',
+ 'Facility',
+ 'facilities',
+ 'Facilities',
+ 'attraction',
+ 'Attraction',
+ 'attractions',
+ 'Attractions',
+ 'contact',
+ 'Contact',
+ 'contacts',
+ 'Contacts'
+ )
+;
+
+----
+
+-- 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
+ )
+;
+
'1.1.10' => array('version' => '1.1.10', 'tables' => 16, 'date' => '6/16/16'),
'1.1.11' => array('version' => '1.1.11', 'tables' => 16, 'date' => '6/21/16'),
'1.1.12' => array('version' => '1.1.12', 'tables' => 16, 'date' => '8/2/16'),
- '1.1.13' => array('version' => '1.1.13', 'tables' => 18, 'date' => '8/4/16')
+ '1.1.13' => array('version' => '1.1.13', 'tables' => 18, 'date' => '8/4/16'),
+ '1.1.14' => array('version' => '1.1.14', 'tables' => 18, 'date' => '8/15/16'),
);
+++ /dev/null
--- Gaslight Media Members Database
--- File Created: 12/09/14 15:27:15
--- Database Version: 1.1.5
--- 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}settings_general,
- {prefix}settings_terms,
- {prefix}settings_theme,
- {prefix}categories,
- {prefix}amenity_groups,
- {prefix}grouped_amenities
-;
-
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 12/09/14 15:27:15
+-- Database Version: 1.1.14
+-- 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}settings_general,
+ {prefix}settings_terms,
+ {prefix}settings_theme,
+ {prefix}categories,
+ {prefix}amenity_groups,
+ {prefix}grouped_amenities
+;
+
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 8/15/16 14:59:42
+-- Database Version: 1.1.14
+-- 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 dashses
+
+-- To set whether a member is featured
+ALTER TABLE {prefix}members ADD COLUMN featured BOOLEAN DEFAULT false;
+
+--
+
+ALTER TABLE {prefix}settings_general ADD COLUMN list_show_logo_filler BOOLEAN DEFAULT true;
+
+----
+
+ALTER TABLE {prefix}settings_general ADD COLUMN list_header_text TINYTEXT DEFAULT NULL;
\ No newline at end of file
'list' => 'list_show_list',
'name-link' => 'list_show_detail_link',
'logo' => 'list_show_logo',
+ 'logo-filler' => 'list_show_logo_filler',
'address' => 'list_show_address',
'street' => 'list_show_street',
'city-state-zip' => 'list_show_citystatezip',
<tr><td colspan="2"><h2>Member List Display Options</h2></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>
<tr><th>Show Member Name as Link to Detail:</th><td><input type="checkbox" name="list_show_detail_link"{if $genSettings.fieldData.list_show_detail_link.value} checked="checked"{/if}></td></tr>
+ <tr><th>List Header Text:</th><td><input type="text" name="list_header_text" value="{$genSettings.fieldData.list_header_text}" class="glm-form-text-input-small" placeholder="Members List"></td></tr>
<tr><th>Show Member Logo:</th><td><input type="checkbox" name="list_show_logo"{if $genSettings.fieldData.list_show_logo.value} checked="checked"{/if}></td></tr>
<tr>
<th {if $genSettings.fieldRequired.list_logo_size}class="glm-required"{/if}>Logo Size:</th>
{if $genSettings.fieldFail.list_logo_size}<p>{$genSettings.fieldFail.list_logo_size}</p>{/if}
</td>
</tr>
+ <tr><th>Show Filler Image If No Member Logo:</th><td><input type="checkbox" name="list_show_logo_filler"{if $genSettings.fieldData.list_show_logo_filler.value} checked="checked"{/if}></td></tr>
<tr><th>Show Address:</th><td><input type="checkbox" name="list_show_address"{if $genSettings.fieldData.list_show_address.value} checked="checked"{/if}></td></tr>
</tr>
<tr>
<tr><th>Show Categories:</th><td><input type="checkbox" name="list_show_categories"{if $genSettings.fieldData.list_show_categories.value} checked="checked"{/if}></td></tr>
<tr><th>Show Credit Cards Accepted:</th><td><input type="checkbox" name="list_show_creditcards"{if $genSettings.fieldData.list_show_creditcards.value} checked="checked"{/if}></td></tr>
<tr><th>Show Amenities:</th><td><input type="checkbox" name="list_show_amenities"{if $genSettings.fieldData.list_show_amenities.value} checked="checked"{/if}></td></tr>
+ <tr><th>Show Packages:</th><td><input type="checkbox" name="list_show_packages"{if $genSettings.fieldData.list_show_packages.value} checked="checked"{/if}></td></tr>
+ <tr><th>Show Packages Link:</th><td><input type="checkbox" name="list_show_packages_link"{if $genSettings.fieldData.list_show_packages_link.value} checked="checked"{/if}></td></tr>
</table>
</td>
<td>
<tr><th>Show Categories:</th><td><input type="checkbox" name="list_map_show_categories"{if $genSettings.fieldData.list_map_show_categories.value} checked="checked"{/if}></td></tr>
<tr><th>Show Credit Cards:</th><td><input type="checkbox" name="list_map_show_creditcards"{if $genSettings.fieldData.list_map_show_creditcards.value} checked="checked"{/if}></td></tr>
<tr><th>Show Amenities:</th><td><input type="checkbox" name="list_map_show_amenities"{if $genSettings.fieldData.list_map_show_amenities.value} checked="checked"{/if}></td></tr>
- <tr><th>Show Packages:</th><td><input type="checkbox" name="list_show_packages"{if $genSettings.fieldData.list_show_packages.value} checked="checked"{/if}></td></tr>
- <tr><th>Show Packages Link:</th><td><input type="checkbox" name="list_show_packages_link"{if $genSettings.fieldData.list_show_packages_link.value} checked="checked"{/if}></td></tr>
</table>
</td>
</tr>
</select>
{if $member.fieldFail.member_type}<p>{$member.fieldFail.member_type}</p>{/if}
</td>
- </tr>
+ </tr>
+ <tr>
+ <th>Featured:</th>
+ <td>{$member.fieldData.featured.value}
+ <input type="checkbox" name="featured" {if $member.fieldData.featured.value} checked{/if}><br>
+ </td>
+ </tr>
{if !$addingMember}
<tr><th>Date created:</th><td>{$member.fieldData.created.date}</td></tr>
{/if}
</p>
<p>
If you change this version to something other than "Active" without selecting another version as active, there will be no active
- profile for this {$terms.term_member}. {$terms.term_member_cap} without an active profile will not be displayed on the front-end of this Web site.
+ profile for this {$terms.term_member}. {$terms.term_member_cap} without an active profile will not be displayed on the front-end of this Web site.
</p>
<p>
Click the "{$terms.term_member_cap} Dashboard" tab above to see all profile versions for this {$terms.term_member} and optionally to select another version to
</select>
<input type="submit" value="Submit" style="margin-right: 2em;">
<b>Show Archived: </b><input type="checkbox" id="filterArchived" class="listFilter"{if $filterArchived} checked{/if} style="margin-right: 1em;">
+ <b>Featured Only: </b><input type="checkbox" id="filterFeatured" class="listFilter"{if $filterFeatured} checked{/if} style="margin-right: 1em;">
<b>Pending Only: </b><input type="checkbox" id="filterPending" class="listFilter"{if $filterPending} checked{/if} style="margin-right: 1em;">
<b>Text Search: </b><input class="glmMembersSearch" type="text" name="text_search" id="autoTest">
</p>
<tr>
<th>ID</th>
<th>{$terms.term_member_cap} Name</th>
+ <th>Featured</th>
<th>Access</th>
<th>{$terms.term_member_cap} Type</th>
</tr>
<td class="glm-nowrap">
<a href="{$thisUrl}?page=glm-members-admin-menu-member&glm_action=index&member={$m.id}">{$m.name}</a>
</td>
+ <td class="glm-nowrap">
+ {$m.featured.name}
+ </td>
<td class="glm-nowrap">
{$m.access_short.name}
</td>
</td>
</tr>
<tr><th>Show Archived: </th><td><input type="checkbox" name="filterArchived"></td></tr>
+ <tr><th>Featured Only: </th><td><input type="checkbox" name="filterFeatured"></td></tr>
<tr><th>Pending Only: </th><td><input type="checkbox" name="filterPending"></td></tr>
<tr><th>Name Search: </th><td><input class="exportMembersSearch glm-form-text-input-medium" type="text" name="text_search" id="autoTest"><br>
Enter any portion of a {$terms.term_member_cap} name and press enter or select any specific {$terms.term_member_cap} found.
filter += '&filterPending=true';
}
+ // Check for featured data filter
+ if ($("#filterFeatured").attr('checked')) {
+ filter += '&filterFeatured=true';
+ }
+
window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=list" + filter;
return false;
+++ /dev/null
-<div class="glm-member-db-list glm-member-db-{$view}-view
- {if $settings.list_map_show_opened}map-opened{else}map-closed{/if}
- {if $settings.list_show_search_filters_opened}filters-opened{else}filters-closed{/if}
-">
-{include file='front/members/header.html'}
- {apply_filters('glm-member-db-front-members-list-pageTop', '')}
-<div class="glm-member-list-inner-wrapper">
- {if $settings.list_show_map}
- <div id="glm-member-list-map-toggle" class="button glm-button">Map</div>
- {/if}
- {if $settings.list_show_search}
- <div id="glm-member-list-filters-wrapper">
- <div id="glm-member-list-filters-button" class="button glm-button glm-member-list-filters-toggle">
- FILTERS
- </div>
- <div id="glm-member-list-filters-box">
- <div id="glm-member-list-filters-close" class="button glm-button glm-member-list-filters-toggle">Close</div>
- <form action="{$thisUrl}?glm_action=list" method="post" enctype="multipart/form-data">
- <div class="small-12 columns glm-member-search glm-member-entry-container glm-member-container">
- {apply_filters('glm-member-db-front-members-list-searchFormTop', '')}
- <div>
- <h3>Refine Search</h3>
- </div>
- {if $settings.list_show_search_category}
- <div>
- By Category:
- <select name="categorySearch" id="categorySelect">
- {if !$singleCategory}
- <option value="">(all)</option>
- {/if}
- {foreach from=$categories item=v}
- <option value="{$v.id}"{if $v.default} selected="selected"{/if}>
- {if $v.parent} {/if}{$v.name}
- </option>
- {/foreach}
- </select>
- </div>
- {/if}
- {if $settings.list_show_search_amenities}
- <div>
- By Amenity:
- <select name="amenitySearch" id="amenitySelect">
- <option value=""></option>https://www.youtube.com/watch?v=18tGkzfPbmA
- {foreach from=$amenities item=v}
- <option value="{$v.id}" {if $v.default} selected="selected"{/if}>
- {$v.name}
- </option>
- {/foreach}
- </select>
- </div>
- {/if}
-
- {if $settings.list_show_search_text}
- <div>
- By Name: <input type="text" name="textSearch" value="{$textSearch}" class="glm-form-text-input">
- </div>
- {/if}
- <div><input class="button glm-member-button centered" type="submit" value="Search"></div>
- {apply_filters('glm-member-db-front-members-list-searchFormBottom', '')}
- </div>
- </form>
- </div> <!-- glm-member-list-filters-box -->
- </div> <!-- glm-member-list-wrapper -->
- {/if} {*list_show_search*}
- {if $settings.list_show_map}
- <script src="http://maps.googleapis.com/maps/api/js?sensor=true&key={$settings.google_maps_api_key}"></script>
- {apply_filters('glm-member-db-front-members-list-mapTop', '')}
- <div id="glm-locationMap-container">
- <div id="glm-locationMap" class="glm-map">(map loads here)</div>
- </div>
- {apply_filters('glm-member-db-front-members-list-mapBottom', '')}
- {/if}
- {apply_filters('glm-member-db-front-members-list-listHeaderTop', '')}
-
-
- {if $settings.list_show_list && !$blankStart}
- <h3>List of {$terms.term_member_plur_cap}</h3>
- {if $haveMembers}
-
- {$terms.term_member_plur_cap} found: {$membersFound}<br>
-
- {if $settings.list_show_search_alpha}
- <div class="glm-alpha-links">
- <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSelected}" 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}&categorySearch={$catSelected}" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
- {/foreach}
- </div>
- {/if}
- {apply_filters('glm-member-db-front-members-list-listHeaderBottom', '')}
-
- <!-- Member information displayed in list -->
-
- <div class="glm-member-list-listing-container">
- <ul class="small-block-grid-1 medium-block-grid-2 large-block-grid-2">
- {foreach $members as $m}
- <li class="glm-member-list-record">
- {apply_filters('glm-member-db-front-members-list-memberAbove', '', $m.id)}
- <div class="glm-member-db-border-wrap">
- <div>
-
- {if $settings.list_show_detail_link}
- <a class="glm-member-list-image-wrapper" href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">
- {/if}
- {if $m.logo && $settings.list_show_logo}<div class="glm-member-list-image-empty">
- <img class="glm-member-list-image" src="{$glmPluginMediaUrl}/images/grid/{$m.logo}">
- <img class="glm-member-filler-image" src="{$assetsUrl}/filler_s.gif">
- </div>
- {else}
- <div class="glm-member-list-image-empty">
- <img class="glm-member-filler-image" src="{$assetsUrl}/filler_s.gif">
- </div>
- {/if}
- {if $settings.list_show_detail_link}
- </a>
- {/if}
- </div> <!-- end of div.glm-member-list-record-border -->
- <h4 class="glm-member-title">
- {if $settings.list_show_detail_link}
- <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">
- {$m.member}
- </a>
- {else}
- {$m.member}
- {/if}
-
- </h4>
-
- <div class="glm-member-list-sub-links">
- {if $m.url && $settings.list_show_url}<a href="{$m.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
- {if $m.phone && $settings.list_map_show_phone}<a href="tel:+{$m.phone}">Phone</a>{/if}
- <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">More</a>
- {apply_filters('glm-member-db-front-members-list-memberBelow', '', $m.id)}
- </div>
-
- <!-- Member information displayed in map bubbles -->
- <div id="map_info_{$m.id}" class="glm-hidden">
- {apply_filters('glm-member-db-front-members-list-mapBubbleTop', '', $m.id)}
- {if $m.logo && $settings.list_map_show_logo}
- <div class="glm-member-list-image">
- <img src="{$glmPluginMediaUrl}/images/{$settings.list_map_logo_size}/{$m.logo}">
- </div>
- {/if}
- <div class="glm-map-member-name">
- {if $settings.list_map_show_detaillink}
- <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">{$m.member}</a>
- {else}
- {$m.member}
- {/if}
- </div>
- {if $settings.list_map_show_address}
- <p class="glm-map-member-address">
- {if $settings.list_map_show_street}
- {if $m.addr1}{$m.addr1}<br>{/if}
- {if $m.addr2}{$m.addr2}<br>{/if}
- {/if}
- {if $settings.list_map_show_citystatezip}
- {if $m.city}{$m.city}{if $m.state.value}, {/if}{/if}{if $m.state.value}{$m.state.value}{/if}{if $m.zip} {$m.zip}{/if}
- {/if}
- {if $m.country.name && $settings.list_map_show_country}
- <br>{$m.country.name}
- {/if}
- </p>
- {/if} {*list_map_show_address*}
- <div class="glm-member-list-info">
- <p>
- {if $m.phone && $settings.list_map_show_phone}<b>Phone:</b> {$m.phone}<br>{/if}
- {if $m.toll_free && $settings.list_map_show_tollfree}<b>Toll Free:</b> {$m.toll_free}<br>{/if}
- {if $m.url && $settings.list_map_show_url}<b>Web site:</b> <a href="{$m.url}"{if $settings.list_map_show_url_newtarget} target="_blank"{/if}>{$m.url}</a><br>{/if}
- {if $m.email && $settings.list_map_show_email}<b>E-Mail Address:</b> <a href="mailto:{$m.email}">{$m.email}</a><br>{/if}
- {if $m.region && $settings.list_map_show_region}<b>Region:</b> {$m.region}{/if}
- </p>
- {if $m.descr && $settings.list_map_show_descr}{$m.descr|nl2br}<br>{/if}
- {if $m.short_descr && $settings.list_map_show_short_descr}{$m.short_descr}<br>{/if}
- {if $m.categories && $settings.list_map_show_categories}
- <div class="glm-member-list-items">
- <b>{$terms.term_member_cap} Categories</b>
- <ul>
- {foreach $m.categories as $c}
- <li>
- {if $c.parent_name}{$c.parent_name}: {/if}{$c.name}
- </li>
- {/foreach}
- </ul>
- </div>
- {/if}
- {if $m.cc_type && $settings.list_map_show_creditcards}
- <div class="glm-member-list-items">
- <b>Credit Cards Accepted:</b>
- <ul>
- {foreach $m.cc_type.names as $c}
- <li>{$c}</li>
- {/foreach}
- </ul>
- </div>
- {/if}
- {if $settings.list_map_show_amenities}
- <div class="glm-member-list-items">
- <b>Amenities:</b>
- <ul>
- {foreach $m.amenities as $a}
- <li>{$a.name}</li>
- {/foreach}
- </ul>
- </div>
- {/if}
- </div>
- {apply_filters('glm-member-db-front-members-list-mapBubbleBottom', '', $m.id)}
- </div> <!-- End of information displayed in map bubbles -->
- </div> <!-- End of glm-member-db-border-wrap -->
- </li> <!-- end of li.glm-member-list-record -->
-
-
- {/foreach} {*$members*}
- {apply_filters('glm-member-db-front-members-list-pageBottom', '')}
- {else}
- <div>(no {$terms.term_member_plur} listed)</div>
- {/if}
-
- </ul>
- </div>
- </div>
-</div>
- {/if} {*list_show_list*}
- <script type="text/javascript">
- jQuery(document).ready(function($) {
-
- // Show search filters box
- {if $settings.list_show_search}
-
- // Float filter box
-
- var fixmeTop = $('#glm-member-list-filters-button').offset().top;
- $(window).scroll(function() {
-
- var currentScroll = $(window).scrollTop();
-
- if (currentScroll >= fixmeTop && {$settings.list_floating_search}) {
- $('#glm-member-list-filters-wrapper').css({
- position: 'fixed',
- top: '{$settings.list_floating_search_distance_top}',
- transform: 'translateX(0%)'
- });
- } else {
- $('#glm-member-list-filters-wrapper').css({
- position: 'static',
- top: '0',
- transform: 'translateX(0%)'
- });
- }
-
- });
- $(".glm-member-list-filters-toggle").click( function() {
- $(".glm-member-db-list-grid-view").toggleClass("filters-opened");
- $(".glm-member-db-list-grid-view").toggleClass("filters-closed");
- $("#glm-locationMap-container").one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",
- function() {
- var center = map.getCenter();
- google.maps.event.trigger(map, "resize");
- map.setCenter(center);
- });
- });
- {/if}
-
- {if $settings.list_show_map}
- /*
- * Google Maps
- * API reference: https://developers.google.com/maps/documentation/javascript/reference
- */
-
-
- // Create a Google Map object
- var map = new google.maps.Map(document.getElementById('glm-locationMap'), {
- center: new google.maps.LatLng({$settings.maps_default_lat}, {$settings.maps_default_lon}),
- zoom: {$settings.maps_default_zoom},
- disableDefaultUI: false,
- mapTypeId: google.maps.MapTypeId.MAP,
- });
-
- $("#glm-member-list-map-toggle").click( function() {
- $(".glm-member-db-list-grid-view").toggleClass("map-opened");
- $(".glm-member-db-list-grid-view").toggleClass("map-closed");
- var center = map.getCenter();
- google.maps.event.trigger(map, "resize");
- map.setCenter(center);
-
- var currentScroll = $(window).scrollTop(); // get current position
- var mapTop = $("#glm-locationMap-container").offset().top-10;
- {if $settings.list_show_search}fixmeTop = $('#glm-member-list-filters-button').offset().top;{/if}
- if (currentScroll >= mapTop) {
- $('body,html').animate({
- scrollTop: $("#glm-locationMap-container").offset().top-10
- }, 50);
- } else {
- $('body,html').animate({
- scrollTop: $("#glm-locationMap-container").offset().top-10
- }, 400);
- }
- });
- var geocoder = new google.maps.Geocoder();
- var bounds = new google.maps.LatLngBounds();
- var infowindow = new google.maps.InfoWindow();
-
- // Try HTML5 to get user geolocation
- if(navigator.geolocation) {
- navigator.geolocation.getCurrentPosition(function(position) {
- var myLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
- var pinIcon = new google.maps.MarkerImage(
- 'https://maps.google.com/mapfiles/kml/shapes/man.png',
- null, /* size is determined at runtime */
- null, /* origin is 0,0 */
- null, /* anchor is bottom center of the scaled image */
- new google.maps.Size(30, 30)
- );
- var myMarker = new google.maps.Marker({
- map: map,
- position: myLocation,
- draggable: false,
- animation: google.maps.Animation.DROP,
- title: 'My Location',
- icon: pinIcon,
- zIndex: 100
- });
- });
- }
-
- {if $haveMembers}
- {foreach $members as $m}
- {if $m.lat != 0 && $m.lon != 0}
-
- // Create a marker for this member
- var marker = new google.maps.Marker({
- map: map,
- position: new google.maps.LatLng({$m.lat}, {$m.lon}),
- draggable: false,
- animation: google.maps.Animation.DROP,
- title: '{$m.member|escape}',
- descr: $('#map_info_' + {$m.id}).html(),
- memberID: {$m.id}
- });
-
- // Add a click listener for this marker
- marker.addListener('click', function() {
- infowindow.setOptions({
- content: this.descr
- });
- infowindow.open(map,this);
- });
-
- // Extend the map bounds to include this marker
- bounds.extend(marker.position);
-
- {/if}
- {/foreach}
-
- // Fit map to bounds of all markers
- map.fitBounds(bounds);
-
- // Check for first map idle (completely loaded) - Check max zoom
- var mapLoadedListener = google.maps.event.addListener(map, 'idle', function() {
- if (map.getZoom() > 14) {
- this.setZoom(14);
- }
- google.maps.event.removeListener(mapLoadedListener);
- });
-
- {else}
-
-
- {/if}
-
-
- {/if}
- });
- </script>
- </div><!-- glm-member-list-inner-wrapper-->
- </div><!-- glm-member-db-list-view -->
-{include file='front/footer.html'}
{if $settings.list_show_list && !$blankStart}
+ {if $settings.list_header_text}
+ <h3 class="glm-member-db-list-header-title">{$settings.list_header_text}</h3>
+ {else}
<h3 class="glm-member-db-list-header-title">List of {$terms.term_member_plur_cap}</h3>
- {if $haveMembers}
+ {/if}
+ {if $haveMembers}
<div id="glm-member-list-terms">{$terms.term_member_plur_cap} found: {$membersFound}<br></div>
{if $settings.list_show_detail_link}
<a class="glm-member-list-image-wrapper" href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">
{/if}
+
+ {if $m.featured}
+ <div class="glm-member-list-featured-tag">
+ featured
+ </div>
+ {/if}
+
{if $m.logo && $settings.list_show_logo}
<div class="glm-member-list-image-empty">
<img class="glm-member-list-image" src="{$glmPluginMediaUrl}/images/grid/{$m.logo}">
<img class="glm-member-list-image-filler" src="{$assetsUrl}/filler_s.gif">
</div>
- {else}
+ {elseif $settings.list_show_logo_filler}
<div class="glm-member-list-image-empty">
<img class="glm-member-list-image-filler" src="{$assetsUrl}/filler_s.gif">
</div>
<div class="glm-member-list-sub-links">
{if $m.url && $settings.list_show_url}<a href="{$m.url}"{if $settings.list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
<!-- {if $m.phone && $settings.list_map_show_phone}<a href="tel:+{$m.phone}">Phone</a>{/if}-->
+ {apply_filters('glm-member-db-front-members-list-linksBottom', '', $m.member_pointer)}
<a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$m.member_slug}/">View More</a>
{apply_filters('glm-member-db-front-members-list-memberBelow', '', $m.member_pointer)}
</div>