From 9eb7f20f94de01e8b2b28f0c5bee325364c1dc02 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Mon, 7 Jan 2019 14:46:00 -0500 Subject: [PATCH] Update default status for non-moderated events Non-Moderacted members whet adding events. Adding option for selecting the default status. --- classes/data/dataEvents.php | 19 ++++++++++++++----- classes/data/dataManagement.php | 10 ++++++++++ index.php | 8 ++++---- ...0.1.10.sql => create_database_V0.1.11.sql} | 3 ++- setup/databaseScripts/dbVersions.php | 1 + .../update_database_V0.1.11.sql | 9 +++++++++ views/admin/management/events.html | 15 +++++++++++++++ 7 files changed, 55 insertions(+), 10 deletions(-) rename setup/databaseScripts/{create_database_V0.1.10.sql => create_database_V0.1.11.sql} (99%) create mode 100644 setup/databaseScripts/update_database_V0.1.11.sql diff --git a/classes/data/dataEvents.php b/classes/data/dataEvents.php index bd213e6..21fc142 100644 --- a/classes/data/dataEvents.php +++ b/classes/data/dataEvents.php @@ -122,6 +122,15 @@ class GlmDataEvents extends GlmDataAbstract */ $this->table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events'; + + // Permission checks + $lockedToMember = apply_filters( 'glm_members_locked_to_member_id', false ); + $isModerated = apply_filters( 'glm_user_is_moderated', $lockedToMember ); + $defaultStatus = $this->config['status_numb']['Pending']; + if ( $lockedToMember && !$isModerated && $this->config['settings']['non_moderated_status_default'] ) { + $defaultStatus = $this->config['settings']['non_moderated_status_default']; + } + /* * Table Data Fields */ @@ -137,12 +146,12 @@ class GlmDataEvents extends GlmDataAbstract // Status 'status' => array ( - 'field' => 'status', - 'type' => 'list', - 'list' => $this->config['event_status'], + 'field' => 'status', + 'type' => 'list', + 'list' => $this->config['event_status'], 'required' => true, - 'default' => $this->config['status_numb']['Pending'], - 'use' => 'a' + 'default' => $defaultStatus, + 'use' => 'a' ), // Custom Time Pointer diff --git a/classes/data/dataManagement.php b/classes/data/dataManagement.php index 2fd5ca3..19fee08 100644 --- a/classes/data/dataManagement.php +++ b/classes/data/dataManagement.php @@ -220,6 +220,16 @@ class GlmDataEventsManagement extends GlmDataAbstract 'default' => false, 'use' => 'a' ), + // Default status for non-moderated member + 'non_moderated_status_default' => array ( + 'field' => 'non_moderated_status_default', + 'type' => 'list', + 'list' => $this->config['event_status'], + 'default' => '20', + 'force_list' => true, + 'use' => 'a' + ), + // Image Size to Use in iCal Feed 'ical_feed_image_size' => array ( diff --git a/index.php b/index.php index 30e5b98..79d7655 100755 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ * Plugin Name: GLM Associate - Events Add-On * Plugin URI: http://www.gaslightmedia.com/ * Description: Gaslight Media Members Database. - * Version: 1.7.11 + * Version: 1.7.12 * Author: Chuck Scott * Author URI: http://www.gaslightmedia.com/ * License: GPL2 @@ -19,7 +19,7 @@ * @package glmMembersDatabaseEventsAddOn * @author Chuck Scott * @license http://www.gaslightmedia.com Gaslightmedia - * @version 1.7.11 + * @version 1.7.12 */ // Check that we're being called by WordPress. @@ -43,8 +43,8 @@ if (!defined('ABSPATH')) { * so that we're sure the other add-ons see an up to date * version from this plugin. */ -define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.7.11'); -define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.1.10'); +define('GLM_MEMBERS_EVENTS_PLUGIN_VERSION', '1.7.12'); +define('GLM_MEMBERS_EVENTS_PLUGIN_DB_VERSION', '0.1.11'); // 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/setup/databaseScripts/create_database_V0.1.10.sql b/setup/databaseScripts/create_database_V0.1.11.sql similarity index 99% rename from setup/databaseScripts/create_database_V0.1.10.sql rename to setup/databaseScripts/create_database_V0.1.11.sql index 058bc91..9b2e5be 100644 --- a/setup/databaseScripts/create_database_V0.1.10.sql +++ b/setup/databaseScripts/create_database_V0.1.11.sql @@ -1,6 +1,6 @@ -- Gaslight Media Members Database - Events Add-On -- File Created: 08/18/17 --- Database Version: 0.1.10 +-- Database Version: 0.1.11 -- 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. + non_moderated_status_default INTEGER DEFAULT 20 -- Non Moderated Member Default Event Status ical_feed_image_size TINYTEXT NULL, -- Image size to use in iCal Feed event_display_member_message BOOLEAN DEFAULT '0', -- Boolean to show member message or not event_member_message TEXT NULL, -- Member Message diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index 23aa89d..4964ef9 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -46,5 +46,6 @@ $glmMembersEventsDbVersions = array( '0.1.8' => array('version' => '0.1.8', 'tables' => 13, 'date' => '10/09/2018'), '0.1.9' => array('version' => '0.1.9', 'tables' => 13, 'date' => '10/11/2018'), '0.1.10' => array('version' => '0.1.10', 'tables' => 13, 'date' => '10/19/2018'), + '0.1.11' => array('version' => '0.1.11', 'tables' => 13, 'date' => '01/07/2019'), ); diff --git a/setup/databaseScripts/update_database_V0.1.11.sql b/setup/databaseScripts/update_database_V0.1.11.sql new file mode 100644 index 0000000..4b7667a --- /dev/null +++ b/setup/databaseScripts/update_database_V0.1.11.sql @@ -0,0 +1,9 @@ +-- Gaslight Media Members Database - Events Add-On +-- File Created: 01/07/19 +-- Database Version: 0.1.11 +-- 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 non_moderated_status_default INTEGER DEFAULT 20; -- Non Moderated Member Default Event Status diff --git a/views/admin/management/events.html b/views/admin/management/events.html index 0add43e..9220d09 100644 --- a/views/admin/management/events.html +++ b/views/admin/management/events.html @@ -37,6 +37,21 @@

+ + Default Status for Non-Moderacted + + + + Default State for Events:
(will use plugin default '{$settings.default_state}' for events if unset) -- 2.17.1