From cc56e5d0c24f4922358720224d74ab17b8c3fd54 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Mon, 24 Oct 2016 14:11:19 -0400 Subject: [PATCH] If the logged in user is member manager then allow adding to any member. Add event form is now working for member contact and member manager to add event from the front end event form. --- models/front/events/frontAdd.php | 20 +++++++++++++++----- views/front/events/frontAdd.html | 13 +++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/models/front/events/frontAdd.php b/models/front/events/frontAdd.php index a08cde5..2db1e04 100644 --- a/models/front/events/frontAdd.php +++ b/models/front/events/frontAdd.php @@ -118,16 +118,18 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents $status = false; $memberOnly = false; $memberContact = false; - - echo '
'; - echo '
$actionData: ' . print_r( $actionData, true ) . '
'; + $memberManager = false; + $members = false; if ( isset( $actionData['request']['member_only'] ) && $memberOnly = filter_var( $actionData['request']['member_only'], FILTER_VALIDATE_BOOLEAN ) ) { $config = apply_filters( 'glm_associate_config', '' ); $memberContact = ( isset( $config['loggedInUser']['contactUser'] ) ) ? $config['loggedInUser']['contactUser']: null; - echo '
$memberContact: ' . print_r( $memberContact, true ) . '
'; + if ( current_user_can( 'glm_members_members' ) ) { + $memberManager = true; + $members = apply_filters( 'member_names_and_ids', '' ); + } } if( ! wp_script_is( 'jquery-ui', 'enqueued' ) ){ @@ -386,6 +388,12 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents $eventDataFormat[] = '%d'; $eventDataFormat[] = '%d'; } + if ( $memberOnly && $ref_dest = filter_var( $_REQUEST['ref_dest'], FILTER_VALIDATE_INT ) ) { + $eventData['ref_type'] = 10; + $eventData['ref_dest'] = $ref_dest; + $eventDataFormat[] = '%d'; + $eventDataFormat[] = '%d'; + } $this->wpdb->insert( GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events', $eventData, @@ -553,12 +561,14 @@ class GLmMembersFront_events_frontAdd extends GlmDataEvents : ( $this->config['settings']['event_default_state'] ) ? $this->config['settings']['event_default_state']: 'MI'; // Compile template data $templateData = array( + 'members' => $members, + 'memberManager' => $memberManager, 'memberOnly' => $memberOnly, 'memberContact' => $memberContact, 'states' => $this->config['states'], 'state_def' => $default_state, 'siteBaseUrl' => GLM_MEMBERS_EVENTS_SITE_BASE_URL, - 'currentUrl' => $_SERVER['HTTP_REFERER'], + 'currentUrl' => ((isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''), 'categories' => $eventCategories, 'fromDate' => $fromDate, 'event' => $newEvent, diff --git a/views/front/events/frontAdd.html b/views/front/events/frontAdd.html index a7e5e65..4effe9e 100644 --- a/views/front/events/frontAdd.html +++ b/views/front/events/frontAdd.html @@ -12,6 +12,19 @@ Real Email + {if $memberManager} + + Member + + + + + {/if} Event Name: -- 2.17.1