From: Steve Sutton Date: Fri, 18 Aug 2017 16:34:34 +0000 (-0400) Subject: Changes for addition of new flag for member manage events. X-Git-Tag: v1.6.58^2~3 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=9befb151bf248dc666711fbc8099058c8a45b2c6;p=WP-Plugins%2Fglm-member-db-events.git Changes for addition of new flag for member manage events. Now members events can be turned off and on. This is for members logging in to manage just their own member. --- diff --git a/classes/data/dataManagement.php b/classes/data/dataManagement.php index 92a2f8b..91200a6 100644 --- a/classes/data/dataManagement.php +++ b/classes/data/dataManagement.php @@ -208,6 +208,12 @@ class GlmDataEventsManagement extends GlmDataAbstract 'default' => false, 'use' => 'a' ), + 'member_events_allowed' => array( + 'field' => 'member_events_allowed', + 'type' => 'checkbox', + 'default' => false, + 'use' => 'a' + ), ); diff --git a/setup/adminHooks.php b/setup/adminHooks.php index 3bc106f..1758c81 100644 --- a/setup/adminHooks.php +++ b/setup/adminHooks.php @@ -63,47 +63,51 @@ add_filter( 'glm-member-db-events-get-events', function( $output ){ // Add hook to return base event data for a specific event ID add_filter( 'glm-member-db-events-get-event', function( $eventID ){ - + // Check for positive integer event ID $eventId = ($eventID-0); if ($eventId == 0) { return $eventID; } - + // Call dedicated model to get event base data require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataEvents.php'; $EventData = new GlmDataEvents($this->wpdb, $this->config); $eventData = $EventData->getEntry($eventId); - + // If we got good event base data, return that if ($eventData) { return $eventData; } - + // Otherwise pass on the event ID return $eventId; - + } ); - -add_filter( - 'glm-member-db-dashboard-member-widgets', - function ( $member = null ) { - $content = $this->controller( 'dashboard', 'events', $member ); - return $content; - }, - 12, - 1 -); -add_filter( - 'glm-member-db-dashboard-member-admin-widgets', - function ( $member = null ) { - $content = $this->controller( 'dashboard', 'events', $member ); - return $content; - }, - 12, - 1 -); +// check the settings to see if members are allow to manage events +$memberEventsAllowed = $this->config['settings']['member_events_allowed']; + +if ( $memberEventsAllowed ) { + add_filter( + 'glm-member-db-dashboard-member-widgets', + function ( $member = null ) { + $content = $this->controller( 'dashboard', 'events', $member ); + return $content; + }, + 12, + 1 + ); + add_filter( + 'glm-member-db-dashboard-member-admin-widgets', + function ( $member = null ) { + $content = $this->controller( 'dashboard', 'events', $member ); + return $content; + }, + 12, + 1 + ); +} diff --git a/setup/adminMenus.php b/setup/adminMenus.php index 1dde0e0..47f05bb 100644 --- a/setup/adminMenus.php +++ b/setup/adminMenus.php @@ -74,23 +74,27 @@ if (isset($this->config['loggedInUser']) && isset($this->config['loggedInUser']['contactUser']) && $this->config['loggedInUser']['contactUser']) { - add_submenu_page( - $mainMenuSlug, - 'Events', - 'Events', - 'glm_members_edit_my_entity', - 'glm-members-admin-menu-events-index', - function() {$this->controller('events');} - ); + // check the settings to see if members are allow to manage events + $memberEventsAllowed = $this->config['settings']['member_events_allowed']; + if ( $memberEventsAllowed ) { + add_submenu_page( + $mainMenuSlug, + 'Events', + 'Events', + 'glm_members_edit_my_entity', + 'glm-members-admin-menu-events-index', + function() {$this->controller('events');} + ); - add_submenu_page( - $mainMenuSlug, - 'Events List', - '    List', - 'glm_members_member', - 'glm-members-admin-menu-events-list', - function() {$this->controller('events', 'list');} - ); + add_submenu_page( + $mainMenuSlug, + 'Events List', + '    List', + 'glm_members_member', + 'glm-members-admin-menu-events-list', + function() {$this->controller('events', 'list');} + ); + } // Otherwise it's an administrator } else { diff --git a/setup/databaseScripts/0.1.4-steve b/setup/databaseScripts/0.1.4-steve deleted file mode 100644 index e69de29..0000000 diff --git a/setup/databaseScripts/update_database_V0.1.4.php b/setup/databaseScripts/update_database_V0.1.4.php index 660e9bc..d16fee5 100644 --- a/setup/databaseScripts/update_database_V0.1.4.php +++ b/setup/databaseScripts/update_database_V0.1.4.php @@ -6,8 +6,8 @@ */ // Update event records with name slug for URLs -$managementOptions = $this->wpdb->get_results( - 'SELECT to_email, from_email FROM '.GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX.'management where id = 1', +$managementOptions = $wpdb->get_results( + 'SELECT id, to_email, from_email FROM '.GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX.'management where id = 1', ARRAY_A ); if ($managementOptions && count($managementOptions) > 0) { diff --git a/views/admin/management/events.html b/views/admin/management/events.html index 09ad34e..a8c3bc3 100644 --- a/views/admin/management/events.html +++ b/views/admin/management/events.html @@ -24,6 +24,12 @@ + + + + - - + - +
Members +

+
Event Detail Page Permalink Name: @@ -135,24 +141,24 @@
-

E-Mail Notification Settings

+
+

E-Mail Notification Settings (These have been moved to settings)

Sender Email Address
Recipient Email Address (comma separated)
Email Notification - +