'default' => false,
'use' => 'a'
),
+ 'member_events_allowed' => array(
+ 'field' => 'member_events_allowed',
+ 'type' => 'checkbox',
+ 'default' => false,
+ 'use' => 'a'
+ ),
);
// 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
+ );
+}
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 {
*/
// 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) {
<input type="hidden" name="option" value="settings">
<input type="hidden" name="option2" value="submit">
<table class="glm-admin-table">
+ <tr>
+ <th>Members</th>
+ <td>
+ <label> <input type="checkbox" name="member_events_allowed" {if $eventsSettings.fieldData.member_events_allowed.value}checked{/if}> Allow Members to Manage Events</label><br><br>
+ </td>
+ </tr>
<tr>
<th {if $eventsSettings.fieldRequired.canonical_event_page}class="glm-required"{/if}>Event Detail Page Permalink Name:</th>
<td {if $eventsSettings.fieldFail.canonical_event_page}class="glm-form-bad-input glm-form-bad-input-misc"{/if}>
</td>
</tr>
<tr>
- <td>
- <h1> E-Mail Notification Settings </h1>
+ <td colspan="2">
+ <h1> E-Mail Notification Settings (These have been moved to settings)</h1>
</td>
</tr>
<tr>
</tr>
<tr>
<th class="emailLabel"> Sender Email Address </th>
- <td><input class="glm-form-text-input-medium" name="from_email" id="fromEmailAddress" type="text" value="{$eventsSettings.fieldData.from_email}"></td>
+ <td><input disabled class="glm-form-text-input-medium" name="from_email" id="fromEmailAddress" type="text" value="{$eventsSettings.fieldData.from_email}"></td>
</tr>
<tr>
<th class="emailLabel"> Recipient Email Address (comma separated) </th>
- <td><input class="glm-form-text-input-medium" name="to_email" id="toEmailAddress" type="text" value="{$eventsSettings.fieldData.to_email}"></td>
+ <td><input disabled class="glm-form-text-input-medium" name="to_email" id="toEmailAddress" type="text" value="{$eventsSettings.fieldData.to_email}"></td>
</tr>
<tr>
<th>Email Notification</th>
<td>
- <textarea rows="3" cols="90" name="email_notification" id="emailNotification">{$eventsSettings.fieldData.email_notification} </textarea>
+ <textarea disabled rows="3" cols="90" name="email_notification" id="emailNotification">{$eventsSettings.fieldData.email_notification} </textarea>
</td>
</tr>
<tr>