From: Laury GvR Date: Tue, 30 Aug 2016 18:21:58 +0000 (-0400) Subject: Default state selection added to admin mgmt X-Git-Tag: v1.3.3^2~11 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=ce42dbfc8aa8c14306d45f052b5f63c9f6f12597;p=WP-Plugins%2Fglm-member-db-events.git Default state selection added to admin mgmt In the admin management one can now select the default state for new events. This will use the main member db default state if it exists, and if the event default is unset. --- diff --git a/classes/data/dataManagement.php b/classes/data/dataManagement.php index 541534a..8bcef63 100644 --- a/classes/data/dataManagement.php +++ b/classes/data/dataManagement.php @@ -129,7 +129,17 @@ class GlmDataEventsManagement extends GlmDataAbstract 'required' => true, 'use' => 'a' ), - + + // Default State + 'event_default_state' => array ( + 'field' => 'event_default_state', + 'type' => 'list', + 'list' => $this->config['states'], + 'default' => 'MI', + 'force_list' => true, + 'use' => 'a' + ), + // Logo for Event PDF 'pdf_logo' => array( 'field' => 'pdf_logo', diff --git a/index.php b/index.php index 07e5c33..427adca 100644 --- a/index.php +++ b/index.php @@ -39,7 +39,7 @@ * version from this plugin. */ define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.3.2'); -define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.0.21'); +define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.0.22'); // This is the minimum version of the GLM Members DB plugin require for this plugin. define('GLM_MEMBERS_EVENTS_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '1.0.58'); diff --git a/models/admin/events/list.php b/models/admin/events/list.php index 379c7a7..ec1db08 100644 --- a/models/admin/events/list.php +++ b/models/admin/events/list.php @@ -699,7 +699,9 @@ class GlmMembersAdmin_events_list extends GlmDataEvents } } - + if (!$this->config['settings']['event_default_state']) { + $this->config['settings']['event_default_state'] = $this->config['settings']['default_state']; + } $templateData = array( 'lockedToMember' => $lockedToMember, 'option' => $option, @@ -743,7 +745,8 @@ class GlmMembersAdmin_events_list extends GlmDataEvents 'nextStart' => $nextStart, 'start' => $start = 1, 'limit' => $limit, - 'namesList' => $namesList + 'namesList' => $namesList, + 'eventDefaultState' => $this->config['settings']['event_default_state'] ); // Return status, any suggested view, and any data to controller diff --git a/models/admin/management/events.php b/models/admin/management/events.php index b08889d..d040f2d 100644 --- a/models/admin/management/events.php +++ b/models/admin/management/events.php @@ -386,6 +386,10 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement $feed['next_runtime'] = wp_next_scheduled( GLM_MEMBERS_EVENTS_PLUGIN_CRON_EVENT, array( (int)$feed['id'] ) ); } } + + // Populate the state list for event default state selection + $event_settings['event_default_state'] = $this->config['states']; + // Compile template data $template_data = array( 'import_feeds' => $import_feeds, @@ -1674,6 +1678,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement } $return_string .= "

Adding $event_counter Events

"; } + echo $this->config['states']; $return_string .= "
             Start: $start
         
"; diff --git a/setup/databaseScripts/create_database_V0.0.21.sql b/setup/databaseScripts/create_database_V0.0.21.sql deleted file mode 100644 index 62bff53..0000000 --- a/setup/databaseScripts/create_database_V0.0.21.sql +++ /dev/null @@ -1,199 +0,0 @@ --- Gaslight Media Members Database - Events Add-On --- File Created: 12/02/15 15:27:15 --- Database Version: 0.0.19 --- Database Creation Script --- --- This file is called to create a new set of tables for this --- add-on for the most recent database version for this add-on. --- --- There should only be one such file in this directory --- --- To permit each query below to be executed separately, --- all queries must be separated by a line with four dashes - --- Categories - Categories for events -CREATE TABLE {prefix}categories ( - id INT NOT NULL AUTO_INCREMENT, - name TINYTEXT NULL, -- Name of event category - descr TINYTEXT NULL, -- Description of this category - parent INT NULL, -- Parent category, null or 0 if this is a top level category - PRIMARY KEY (id), - INDEX(parent) -); - ----- - --- Event-Category - Categories for specific event records -CREATE TABLE {prefix}event_categories ( - id INT NOT NULL AUTO_INCREMENT, - event INT NULL, -- Pointer to the event - category INT NULL, -- Pointer to the category - PRIMARY KEY (id), - INDEX(event), - INDEX(category) -); - ----- - --- Event Recurrence - Defines how an event recurs -CREATE TABLE {prefix}recurrences ( - id INT NOT NULL AUTO_INCREMENT, - event INTEGER NULL, -- Pointer to event - name TINYTEXT NULL, -- Name of this recurrence schedule - used on admin calendar - start_time TIME NULL, -- Start time of day for event - start_time_only BOOLEAN NULL, -- Use end of first occurrence flag - end_time TIME NULL, -- End time of day for event - If less than start time, assume a date boundry - all_day BOOLEAN NULL, -- Flag indicating if this is an all-day event (informational only) - start_date DATE NULL, -- Starting Date (if all_day is selected) Used instead of start_time - from_date DATE NULL, -- From Date for recurrences - to_date DATE NULL, -- To Date for recurrences - recurring BOOLEAN NULL, -- Flag indicating that event recurs on a schedule rather than all dates - month_of_year SMALLINT UNSIGNED NULL, -- Month of year (bitmap) - week_of_month TINYINT UNSIGNED NULL, -- Week of the month (bitmap) - day_of_week TINYINT UNSIGNED NULL, -- Day of the week (bitmap) - by_day_of_month BOOLEAN NULL, -- Flag indicating if selecting by days of the month - day_of_month INTEGER UNSIGNED NULL, -- Day of the month (bitmap) - last_day_of_month BOOLEAN NULL, -- Last day of the month - specific_dates TEXT NULL, -- Serialized array of specific dates added to the recurrence - holiday INT NULL, -- Pointer to holidays list (for future development) - holiday_offset TINYINT, -- Offset from holiday (from -128 to +127 days) - PRIMARY KEY (id), - INDEX(event) -); - ----- - --- Times - List of actual event times for single and recurring events -CREATE TABLE {prefix}times ( - id INT NOT NULL AUTO_INCREMENT, - event INT NULL, -- Pointer to the primary record for the event - custom_event INT NULL, -- Pointer to a customized copy of the event record (if set) - recur_id INT NULL, -- Pointer to recurrence entry - active BOOLEAN NULL, -- Active flag - normally set but used to temporarily disable a specific date - start_time DATETIME NULL, -- Date and time event starts - end_time DATETIME NULL, -- Date and time event ends - all_day BOOLEAN NULL, -- All Day flag - PRIMARY KEY (id), - INDEX(event), - INDEX(start_time), - INDEX(end_time) -); - ----- - --- Locations - Locations for event - If there's no location pointing to an event try to use the referenced entity in events table -CREATE TABLE {prefix}locations ( - id INT NOT NULL AUTO_INCREMENT, - event INT NULL, -- Pointer to the primary or custom event record - name TINYTEXT NULL, -- Name of location - address TINYTEXT NULL, -- Street Address - city INT NULL, -- Pointer to city - references main plugin city table - state TINYTEXT NULL, -- Two character state abbreviation - zip TINYTEXT NULL, -- ZIP/Postal code - country TINYTEXT NULL, -- Country Code - lat FLOAT NULL, -- Latitude of location - lon FLOAT NULL, -- Longitude of location - region INT NULL, -- Pointer to Region - references main plugin region table - phone TINYTEXT NULL, -- Location Phone # - url TINYTEXT NULL, -- Location URL - email TINYTEXT NULL, -- Location E-Mail Address - contact_addon_id INT NULL, -- ID of Contact from contact add-on (optional and if available) - contact_fname TINYTEXT NULL, -- Contact first name for this location (optional) - contact_lname TINYTEXT NULL, -- Contact last name for this location (optional) - contact_phone TINYTEXT NULL, -- Contact phone for this location (optional) - contact_email TINYTEXT NULL, -- Contact E-Mail address (optional) - PRIMARY KEY (id) -); - ----- - --- Events - Base event information - May also be entries here referenced by the "times" table for a custom date. -CREATE TABLE {prefix}events ( - id INT NOT NULL AUTO_INCREMENT, - status INT NULL, -- Status for this event, see config['status'] - custom_time INT NULL, -- If this is a custom record for a specific instance (date) this points to that times table entry - root_event INT NULL, -- Root event pointer if this is a custom record for a specific instance (date) (if custom_time is set) - created DATETIME NULL, -- Date/Time event was created or date custom event record was created if custom record - updated DATETIME NULL, -- Date/Time this event record was last updated - approved DATETIME NULL, -- Date/Ttime this event record was approved - ref_type INT NULL, -- Type of entity this contact is associated with - See config['ref_type'] - ref_dest INT NULL, -- Pointer to the specific entity of ref_type this contact is associated with - hide_address BOOLEAN NULL, -- Option to hide address on front-end - featured BOOLEAN NULL, -- Option to mark as featured event - slideshow BOOLEAN NULL, -- Option to mark for use in slide show - major BOOLEAN NULL, -- Option to mark as a major event - name TINYTEXT NULL, -- Name of this event - name_slug TINYTEXT NULL, -- Slug for this event - header TINYTEXT NULL, -- Header text for front-end display - NOT CURRENTLY USED - intro TINYTEXT NULL, -- Intro text for front-end display - descr TEXT NULL, -- Full description text - image TINYTEXT NULL, -- Image file name - file1 TINYTEXT NULL, -- File name for a single uploaded file #1 - file1_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #1 - file2 TINYTEXT NULL, -- File name for a single uploaded file #2 - file2_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #2 - file3 TINYTEXT NULL, -- File name for a single uploaded file #3 - file3_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #3 - url TINYTEXT NULL, -- Event URL - ticket_url TINYTEXT NULL, -- Ticket URL - cost TINYTEXT NULL, -- Description of event cost - admin_ref_type INT NULL, -- Type of admin contact if using a member contact - admin_ref_dest INT NULL, -- Pointer to admin contact record if using a member contact - admin_name TINYTEXT NULL, -- Admin Contact Name if not using a member contact - admin_org TINYTEXT NULL, -- Admin Contact Organization if not using a member contact - admin_email TINYTEXT NULL, -- Admin Contact E-Mail if not using a member contact - admin_phone TINYTEXT NULL, -- Admin Contact Phone if not using a member contact - free BOOLEAN NULL, -- Event is Free - contact_email TINYTEXT NULL, -- Contact E-mail address - contact_name TINYTEXT NULL, -- Contact name - contact_phone TINYTEXT NULL, -- Event Phone - use_member_location BOOLEAN NULL, -- Use location of the member (if provided) rather than location table data - old_event_id INT NULL, -- ID of event from old site for reference - ical_uid TINYTEXT NULL, -- The ical UID for this event. - notes TEXT NULL, -- Internal notes for this event - PRIMARY KEY (id), - INDEX(custom_time), - INDEX(root_event), - INDEX(ref_type), - INDEX(ref_dest), - INDEX(featured), - INDEX(slideshow), - INDEX(major) -); - ----- - --- Event Management Settings -CREATE TABLE {prefix}management ( - id INT NOT NULL AUTO_INCREMENT, - canonical_event_page TINYTEXT NULL, -- Canonical page slug for event detail - pdf_logo TINYTEXT NULL, -- Image for the Top of the PDF - footer_text TINYTEXT NULL, -- Image for the Top of the PDF - to_email TINYTEXT NULL, -- Email address of the recipient - from_email TINYTEXT NULL, -- Email address of the sender - email_notification TEXT NULL, -- Email notification message - calendar_view TINYTEXT NULL, -- Default calendar view - PRIMARY KEY (id) -); - ----- - --- Set default event management entry -INSERT INTO {prefix}management - ( id, canonical_event_page ) - VALUES - ( 1, 'event-detail' ) -; - ----- - --- Event iCal Feed imports -CREATE TABLE {prefix}feed_import ( - id INT NOT NULL AUTO_INCREMENT, - feed_url TEXT NOT NULL, -- The ical feed url to import - created DATETIME NULL, -- The date this feed was created - updated DATETIME NULL, -- Last time this feed was updated - duration INT NULL, -- The time it took to fetch the feed - events INT NULL, -- The number of events last fetched - PRIMARY KEY (id) -); diff --git a/setup/databaseScripts/create_database_V0.0.22.sql b/setup/databaseScripts/create_database_V0.0.22.sql new file mode 100644 index 0000000..50bcc8b --- /dev/null +++ b/setup/databaseScripts/create_database_V0.0.22.sql @@ -0,0 +1,200 @@ +-- Gaslight Media Members Database - Events Add-On +-- File Created: 12/02/15 15:27:15 +-- Database Version: 0.0.22 +-- Database Creation Script +-- +-- This file is called to create a new set of tables for this +-- add-on for the most recent database version for this add-on. +-- +-- There should only be one such file in this directory +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashes + +-- Categories - Categories for events +CREATE TABLE {prefix}categories ( + id INT NOT NULL AUTO_INCREMENT, + name TINYTEXT NULL, -- Name of event category + descr TINYTEXT NULL, -- Description of this category + parent INT NULL, -- Parent category, null or 0 if this is a top level category + PRIMARY KEY (id), + INDEX(parent) +); + +---- + +-- Event-Category - Categories for specific event records +CREATE TABLE {prefix}event_categories ( + id INT NOT NULL AUTO_INCREMENT, + event INT NULL, -- Pointer to the event + category INT NULL, -- Pointer to the category + PRIMARY KEY (id), + INDEX(event), + INDEX(category) +); + +---- + +-- Event Recurrence - Defines how an event recurs +CREATE TABLE {prefix}recurrences ( + id INT NOT NULL AUTO_INCREMENT, + event INTEGER NULL, -- Pointer to event + name TINYTEXT NULL, -- Name of this recurrence schedule - used on admin calendar + start_time TIME NULL, -- Start time of day for event + start_time_only BOOLEAN NULL, -- Use end of first occurrence flag + end_time TIME NULL, -- End time of day for event - If less than start time, assume a date boundry + all_day BOOLEAN NULL, -- Flag indicating if this is an all-day event (informational only) + start_date DATE NULL, -- Starting Date (if all_day is selected) Used instead of start_time + from_date DATE NULL, -- From Date for recurrences + to_date DATE NULL, -- To Date for recurrences + recurring BOOLEAN NULL, -- Flag indicating that event recurs on a schedule rather than all dates + month_of_year SMALLINT UNSIGNED NULL, -- Month of year (bitmap) + week_of_month TINYINT UNSIGNED NULL, -- Week of the month (bitmap) + day_of_week TINYINT UNSIGNED NULL, -- Day of the week (bitmap) + by_day_of_month BOOLEAN NULL, -- Flag indicating if selecting by days of the month + day_of_month INTEGER UNSIGNED NULL, -- Day of the month (bitmap) + last_day_of_month BOOLEAN NULL, -- Last day of the month + specific_dates TEXT NULL, -- Serialized array of specific dates added to the recurrence + holiday INT NULL, -- Pointer to holidays list (for future development) + holiday_offset TINYINT, -- Offset from holiday (from -128 to +127 days) + PRIMARY KEY (id), + INDEX(event) +); + +---- + +-- Times - List of actual event times for single and recurring events +CREATE TABLE {prefix}times ( + id INT NOT NULL AUTO_INCREMENT, + event INT NULL, -- Pointer to the primary record for the event + custom_event INT NULL, -- Pointer to a customized copy of the event record (if set) + recur_id INT NULL, -- Pointer to recurrence entry + active BOOLEAN NULL, -- Active flag - normally set but used to temporarily disable a specific date + start_time DATETIME NULL, -- Date and time event starts + end_time DATETIME NULL, -- Date and time event ends + all_day BOOLEAN NULL, -- All Day flag + PRIMARY KEY (id), + INDEX(event), + INDEX(start_time), + INDEX(end_time) +); + +---- + +-- Locations - Locations for event - If there's no location pointing to an event try to use the referenced entity in events table +CREATE TABLE {prefix}locations ( + id INT NOT NULL AUTO_INCREMENT, + event INT NULL, -- Pointer to the primary or custom event record + name TINYTEXT NULL, -- Name of location + address TINYTEXT NULL, -- Street Address + city INT NULL, -- Pointer to city - references main plugin city table + state TINYTEXT NULL, -- Two character state abbreviation + zip TINYTEXT NULL, -- ZIP/Postal code + country TINYTEXT NULL, -- Country Code + lat FLOAT NULL, -- Latitude of location + lon FLOAT NULL, -- Longitude of location + region INT NULL, -- Pointer to Region - references main plugin region table + phone TINYTEXT NULL, -- Location Phone # + url TINYTEXT NULL, -- Location URL + email TINYTEXT NULL, -- Location E-Mail Address + contact_addon_id INT NULL, -- ID of Contact from contact add-on (optional and if available) + contact_fname TINYTEXT NULL, -- Contact first name for this location (optional) + contact_lname TINYTEXT NULL, -- Contact last name for this location (optional) + contact_phone TINYTEXT NULL, -- Contact phone for this location (optional) + contact_email TINYTEXT NULL, -- Contact E-Mail address (optional) + PRIMARY KEY (id) +); + +---- + +-- Events - Base event information - May also be entries here referenced by the "times" table for a custom date. +CREATE TABLE {prefix}events ( + id INT NOT NULL AUTO_INCREMENT, + status INT NULL, -- Status for this event, see config['status'] + custom_time INT NULL, -- If this is a custom record for a specific instance (date) this points to that times table entry + root_event INT NULL, -- Root event pointer if this is a custom record for a specific instance (date) (if custom_time is set) + created DATETIME NULL, -- Date/Time event was created or date custom event record was created if custom record + updated DATETIME NULL, -- Date/Time this event record was last updated + approved DATETIME NULL, -- Date/Ttime this event record was approved + ref_type INT NULL, -- Type of entity this contact is associated with - See config['ref_type'] + ref_dest INT NULL, -- Pointer to the specific entity of ref_type this contact is associated with + hide_address BOOLEAN NULL, -- Option to hide address on front-end + featured BOOLEAN NULL, -- Option to mark as featured event + slideshow BOOLEAN NULL, -- Option to mark for use in slide show + major BOOLEAN NULL, -- Option to mark as a major event + name TINYTEXT NULL, -- Name of this event + name_slug TINYTEXT NULL, -- Slug for this event + header TINYTEXT NULL, -- Header text for front-end display - NOT CURRENTLY USED + intro TINYTEXT NULL, -- Intro text for front-end display + descr TEXT NULL, -- Full description text + image TINYTEXT NULL, -- Image file name + file1 TINYTEXT NULL, -- File name for a single uploaded file #1 + file1_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #1 + file2 TINYTEXT NULL, -- File name for a single uploaded file #2 + file2_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #2 + file3 TINYTEXT NULL, -- File name for a single uploaded file #3 + file3_descr TINYTEXT NULL, -- Description for file uploaded in field "file" #3 + url TINYTEXT NULL, -- Event URL + ticket_url TINYTEXT NULL, -- Ticket URL + cost TINYTEXT NULL, -- Description of event cost + admin_ref_type INT NULL, -- Type of admin contact if using a member contact + admin_ref_dest INT NULL, -- Pointer to admin contact record if using a member contact + admin_name TINYTEXT NULL, -- Admin Contact Name if not using a member contact + admin_org TINYTEXT NULL, -- Admin Contact Organization if not using a member contact + admin_email TINYTEXT NULL, -- Admin Contact E-Mail if not using a member contact + admin_phone TINYTEXT NULL, -- Admin Contact Phone if not using a member contact + free BOOLEAN NULL, -- Event is Free + contact_email TINYTEXT NULL, -- Contact E-mail address + contact_name TINYTEXT NULL, -- Contact name + contact_phone TINYTEXT NULL, -- Event Phone + use_member_location BOOLEAN NULL, -- Use location of the member (if provided) rather than location table data + old_event_id INT NULL, -- ID of event from old site for reference + ical_uid TINYTEXT NULL, -- The ical UID for this event. + notes TEXT NULL, -- Internal notes for this event + PRIMARY KEY (id), + INDEX(custom_time), + INDEX(root_event), + INDEX(ref_type), + INDEX(ref_dest), + INDEX(featured), + INDEX(slideshow), + INDEX(major) +); + +---- + +-- Event Management Settings +CREATE TABLE {prefix}management ( + id INT NOT NULL AUTO_INCREMENT, + canonical_event_page TINYTEXT NULL, -- Canonical page slug for event detail + pdf_logo TINYTEXT NULL, -- Image for the Top of the PDF + footer_text TINYTEXT NULL, -- Image for the Top of the PDF + to_email TINYTEXT NULL, -- Email address of the recipient + from_email TINYTEXT NULL, -- Email address of the sender + email_notification TEXT NULL, -- Email notification message + calendar_view TINYTEXT NULL, -- Default calendar view + event_default_state TINYTEXT NULL, -- Default calendar view + PRIMARY KEY (id) +); + +---- + +-- Set default event management entry +INSERT INTO {prefix}management + ( id, canonical_event_page ) + VALUES + ( 1, 'event-detail' ) +; + +---- + +-- Event iCal Feed imports +CREATE TABLE {prefix}feed_import ( + id INT NOT NULL AUTO_INCREMENT, + feed_url TEXT NOT NULL, -- The ical feed url to import + created DATETIME NULL, -- The date this feed was created + updated DATETIME NULL, -- Last time this feed was updated + duration INT NULL, -- The time it took to fetch the feed + events INT NULL, -- The number of events last fetched + PRIMARY KEY (id) +); diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index a737ebf..b32cae7 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -33,5 +33,6 @@ $glmMembersEventsDbVersions = array( '0.0.19' => array('version' => '0.0.19', 'tables' => 8, 'date' => '8/05/2016'), '0.0.20' => array('version' => '0.0.20', 'tables' => 8, 'date' => '8/12/2016'), '0.0.21' => array('version' => '0.0.21', 'tables' => 8, 'date' => '8/25/2016'), + '0.0.22' => array('version' => '0.0.22', 'tables' => 8, 'date' => '8/30/2016'), ); diff --git a/setup/databaseScripts/update_database_V0.0.22.sql b/setup/databaseScripts/update_database_V0.0.22.sql new file mode 100644 index 0000000..4aa9e14 --- /dev/null +++ b/setup/databaseScripts/update_database_V0.0.22.sql @@ -0,0 +1,14 @@ +-- Gaslight Media Members Database - Events Add-On +-- File Created: 08/30/16 09:47:15 +-- Database Version: 0.0.22 +-- 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 + + +ALTER TABLE {prefix}management ADD COLUMN event_default_state TINYTEXT NULL; -- The default state selection + +---- + + diff --git a/views/admin/events/editLocation.html b/views/admin/events/editLocation.html index f0a3636..f0b7a05 100644 --- a/views/admin/events/editLocation.html +++ b/views/admin/events/editLocation.html @@ -102,7 +102,7 @@ {foreach from=$loc.state.list item=v} {/foreach} @@ -243,8 +243,8 @@ diff --git a/views/admin/management/events.html b/views/admin/management/events.html index cd45f82..66acb68 100644 --- a/views/admin/management/events.html +++ b/views/admin/management/events.html @@ -51,9 +51,25 @@ {if $eventsSettings.fieldFail.footer_text}

{$eventsSettings.fieldFail.footer_text}

{/if} + + Default State for Events:
(will use plugin default '{$settings.default_state}' for events if unset) + + + + Front-End Calendar View -