From 77e150263b94711517832b8029a854ebc8b380ee Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Mon, 6 Aug 2018 12:44:30 -0400 Subject: [PATCH] Add management option for setting the image size for icalFeed images. Can set ical geed image sizes to all even original image size. --- classes/data/dataManagement.php | 11 +++++++++++ config/plugin.ini | 8 ++++++++ index.php | 2 +- models/front/events/icalFeed.php | 7 ++++--- ...base_V0.1.5.sql => create_database_V0.1.6.sql} | 7 ++++--- setup/databaseScripts/dbVersions.php | 1 + setup/databaseScripts/update_database_V0.1.6.sql | 15 +++++++++++++++ views/admin/management/events.html | 15 +++++++++++++++ 8 files changed, 59 insertions(+), 7 deletions(-) rename setup/databaseScripts/{create_database_V0.1.5.sql => create_database_V0.1.6.sql} (98%) create mode 100644 setup/databaseScripts/update_database_V0.1.6.sql diff --git a/classes/data/dataManagement.php b/classes/data/dataManagement.php index c563c97..374a424 100644 --- a/classes/data/dataManagement.php +++ b/classes/data/dataManagement.php @@ -221,6 +221,17 @@ class GlmDataEventsManagement extends GlmDataAbstract 'use' => 'a' ), + // Image Size to Use in iCal Feed + 'ical_feed_image_size' => array ( + 'field' => 'ical_feed_image_size', + 'type' => 'list', + 'list' => $this->config['event_image_sizes'], + 'default' => 'large', + 'force_list' => true, + 'use' => 'a' + ), + + ); } diff --git a/config/plugin.ini b/config/plugin.ini index f2675dc..7976a31 100644 --- a/config/plugin.ini +++ b/config/plugin.ini @@ -20,3 +20,11 @@ event_status_numb['Pending'] = 20 event_status_numb['Inactive'] = 30 event_status_numb['Declined'] = 40 event_status_numb['Archived'] = 90 + +event_image_sizes['original'] = 'Original' +event_image_sizes['large'] = 'Large' +event_image_sizes['medium'] = 'Medium' +event_image_sizes['small'] = 'Small' +event_image_sizes['thumb'] = 'Thumbnail' +event_image_sizes['grid'] = 'Grid' + diff --git a/index.php b/index.php index d82c831..414652d 100644 --- a/index.php +++ b/index.php @@ -48,7 +48,7 @@ if (!defined('ABSPATH')) { * version from this plugin. */ define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.6.89'); -define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.1.5'); +define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.1.6'); // This is the minimum version of the GLM Members DB plugin require for this plugin. define('GLM_MEMBERS_EVENTS_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '2.9.15'); diff --git a/models/front/events/icalFeed.php b/models/front/events/icalFeed.php index 7d12262..d9df237 100644 --- a/models/front/events/icalFeed.php +++ b/models/front/events/icalFeed.php @@ -147,19 +147,20 @@ EOD; $urlParts = parse_url(get_bloginfo('url'), PHP_URL_HOST); $urlHost = str_replace('www.', '', $urlParts); if ( $event['image'] ) { + $image_folder = $this->config['settings']['ical_feed_image_size']; // get file extension $extension = end( explode( '.', $event['image'] ) ); if ( $extension ) { switch ( strtolower( $extension ) ) { case 'jpeg': case 'jpg': - $description .= "\nATTACH;FMTTYPE=image/jpeg:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/large/" . urlencode( $event['image'] ); + $description .= "\nATTACH;FMTTYPE=image/jpeg:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/".$image_folder."/" . urlencode( $event['image'] ); break; case 'gif': - $description .= "\nATTACH;FMTTYPE=image/gif:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/large/" . urlencode( $event['image'] ); + $description .= "\nATTACH;FMTTYPE=image/gif:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/".$image_folder."/" . urlencode( $event['image'] ); break; case 'png': - $description .= "\nATTACH;FMTTYPE=image/png:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/large/" . urlencode( $event['image'] ); + $description .= "\nATTACH;FMTTYPE=image/png:" . GLM_MEMBERS_PLUGIN_MEDIA_URL . "/images/".$image_folder."/" . urlencode( $event['image'] ); break; } } diff --git a/setup/databaseScripts/create_database_V0.1.5.sql b/setup/databaseScripts/create_database_V0.1.6.sql similarity index 98% rename from setup/databaseScripts/create_database_V0.1.5.sql rename to setup/databaseScripts/create_database_V0.1.6.sql index 0cce7f6..63697c4 100644 --- a/setup/databaseScripts/create_database_V0.1.5.sql +++ b/setup/databaseScripts/create_database_V0.1.6.sql @@ -1,6 +1,6 @@ -- Gaslight Media Members Database - Events Add-On -- File Created: 08/18/17 --- Database Version: 0.1.4 +-- Database Version: 0.1.6 -- Database Creation Script -- -- This file is called to create a new set of tables for this @@ -229,6 +229,7 @@ CREATE TABLE {prefix}management ( use_venue_locations BOOLEAN NULL, -- To use Other members as the location of event member_events_allowed BOOLEAN NULL, -- If members are allowed to add events. member_events_moderated BOOLEAN DEFAULT '0', -- If member edits are moderated. + ical_feed_image_size TINYTEXT NULL, -- Image size to use in iCal Feed PRIMARY KEY (id) ); @@ -236,9 +237,9 @@ CREATE TABLE {prefix}management ( -- Set default event management entry INSERT INTO {prefix}management - ( id, canonical_event_page, term_event_amenities_singular, term_event_amenities_plural, member_events_allowed ) + ( id, canonical_event_page, term_event_amenities_singular, term_event_amenities_plural, member_events_allowed, ical_feed_image_size ) VALUES - ( 1, 'event-detail', 'Amenity', 'Amenities', 1 ) + ( 1, 'event-detail', 'Amenity', 'Amenities', 1, 'large' ) ; ---- diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index f4e702f..ad0dccf 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -41,5 +41,6 @@ $glmMembersEventsDbVersions = array( '0.1.3' => array('version' => '0.1.3', 'tables' => 13, 'date' => '08/14/2017'), '0.1.4' => array('version' => '0.1.4', 'tables' => 13, 'date' => '08/18/2017'), '0.1.5' => array('version' => '0.1.5', 'tables' => 13, 'date' => '02/21/2018'), + '0.1.6' => array('version' => '0.1.6', 'tables' => 13, 'date' => '08/06/2018'), ); diff --git a/setup/databaseScripts/update_database_V0.1.6.sql b/setup/databaseScripts/update_database_V0.1.6.sql new file mode 100644 index 0000000..0b5e308 --- /dev/null +++ b/setup/databaseScripts/update_database_V0.1.6.sql @@ -0,0 +1,15 @@ +-- Gaslight Media Members Database - Events Add-On +-- File Created: 08/06/18 +-- Database Version: 0.1.6 +-- 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 + +-- new field in management +ALTER TABLE {prefix}management ADD COLUMN ical_feed_image_size TINYTEXT NULL; -- If members edits are moderated + +---- + +-- Setup the new field for management +UPDATE {prefix}management SET ical_feed_image_size = 'large'; diff --git a/views/admin/management/events.html b/views/admin/management/events.html index 7c8259a..c37acf3 100644 --- a/views/admin/management/events.html +++ b/views/admin/management/events.html @@ -37,6 +37,21 @@

+ +   + +