$limit = 20; // Set to the number of listings per page
$namesList = false;
$old_event_status = false;
+ $indexEvent = false;
+ $removeEventIndex = false;
// Load Notifications from the helper classes
include_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH . '/helper/notification.php';
glmClearShortcodeCache();
+ // Check if new event is active and if so ask for it to be indexed by the search add-on
+ $indexEvent = $event['fieldData']['status']['value'] == $this->config['status_numb']['Active'];
+ $eventSlug = $event['fieldData']['name_slug'];
+
} else {
$option = 'add';
$eventAddError = true;
// Add any recurrence data that may have been submitted
// if (isset($_REQUEST[''])) {
// NOT COMPLETED
- // }
+ // }echo "<pre>".print_r($event,1)."</pre>";
+
}
case 'edit':
-
-
$event = $this->editEntry($this->eventID);
// If we have a good event
// Check if that was successful
if ($event['status']) {
$eventUpdated = true;
+ $new_status = $event['fieldData']['status']['value'];
// Check if the event is being approved
if ( $event['fieldData']['status']['value'] && $old_event_status ) {
- $new_status = $event['fieldData']['status']['value'];
if ( $old_event_status == 20 && $new_status == 10 ) {
// Update approved timestamp.
$this->updateTimestamp('approved', $this->eventID);
$this->updateSlug($this->eventID);
$event = $this->editEntry($this->eventID);
+
+ // Check for status change for any search engine requests.
+ $statusActive = $this->config['event_status_numb']['Active'];
+ $eventSlug = $event['fieldData']['name_slug'];
+ if ($new_status == $statusActive) {
+ $indexEvent = true;
+ } elseif ($old_event_status == $statusActive && $new_status != $statusActive) {
+ $removeEventIndex = true;
+ }
+
} else {
$eventUpdateError = true;
}
if ($event) {
$eventDeleted = true;
+
+ // Also ask to have event removed from search engine
+ $removeEventIndex = true;
+ $eventSlug = $event['name_slug'];
+
glmClearShortcodeCache();
} else {
$eventDeleteError = true;
}
- // DECLINED & APPROVED EVENT EMAIL FUNCTIONALITY ///////
- //$sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "email_notifications";
- //$email_notifications = !empty($this->wpdb->get_results($sql, ARRAY_A)) ? $this->wpdb->get_results($sql, ARRAY_A)[0] : false;
- $email_notifications = $this->config['settings'];
- $from_email = $email_notifications ? $email_notifications['from_email'] : false;
-// echo '<pre>', print_r($event), '</pre>';
-
- $to_email = (isset($event['fieldData']['admin_email']) ? $event['fieldData']['admin_email'] : '' );
- $event_title = (isset($event['fieldData']['name']) ? $event['fieldData']['name'] : '' );
- $admin_name = (isset($event['fieldData']['admin_name']) ? $event['fieldData']['admin_name'] : '' );
- $event_intro = (isset($event['fieldData']['intro']) ? $event['fieldData']['intro'] : '' );
- $site_name = get_bloginfo( 'name' );
-
- $header[] = "From: $site_name <$from_email>";
- $header[] = 'Reply-To: ' . $from_email;
- $header[] = "Return-Path: $from_email";
-
- // change the default wordpress from name when sending mail
- function set_content_type(){
- return "text/html";
- }
-// add_filter(
-// 'wp_mail_from_name',
-// function ( $name ) {
-// $siteName = get_bloginfo( 'name' );
-// return $siteName;
-// }
-// );
-
- // Send confirmation email, set the content type to allow html by using this filter
- add_filter( 'wp_mail_content_type', 'set_content_type' );
-
- $declined = '';
- $current_status = $event['fieldData']['status']['value'];
-
- if($to_email){
- $message = $site_name . " Events<br><br>";
- $message .= "Event Name: " . $event_title . "<br>";
- $message .= "Event Description: $event_intro<br>";
- $message .= "Contact Name: $admin_name<br><br>";
-
-
- if( $old_event_status === '20' && $current_status === '10' ) {
- $subject = 'Event Approved';
- $message .= $email_notifications['approved_message'];
- wp_mail( $to_email, $subject, $message, $header );
-
- } else if( $old_event_status === '20' && $current_status === '40' ){
- $declined = $email_notifications['declined_message'];
- $subject = 'Event Declined';
- $message .= "Your event has been declined for the following reason(s):<br> $declined";
- wp_mail( $to_email, $subject, $message, $header );
- }
+ // DECLINED & APPROVED EVENT EMAIL FUNCTIONALITY ///////
+ //$sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "email_notifications";
+ //$email_notifications = !empty($this->wpdb->get_results($sql, ARRAY_A)) ? $this->wpdb->get_results($sql, ARRAY_A)[0] : false;
+ $email_notifications = $this->config['settings'];
+ $from_email = $email_notifications ? $email_notifications['from_email'] : false;
+
+ $to_email = (isset($event['fieldData']['admin_email']) ? $event['fieldData']['admin_email'] : '' );
+ $event_title = (isset($event['fieldData']['name']) ? $event['fieldData']['name'] : '' );
+ $admin_name = (isset($event['fieldData']['admin_name']) ? $event['fieldData']['admin_name'] : '' );
+ $event_intro = (isset($event['fieldData']['intro']) ? $event['fieldData']['intro'] : '' );
+ $site_name = get_bloginfo( 'name' );
+
+ $header[] = "From: $site_name <$from_email>";
+ $header[] = 'Reply-To: ' . $from_email;
+ $header[] = "Return-Path: $from_email";
+
+ // change the default wordpress from name when sending mail
+ function set_content_type(){
+ return "text/html";
+ }
+
+ // Send confirmation email, set the content type to allow html by using this filter
+ add_filter( 'wp_mail_content_type', 'set_content_type' );
+
+ $declined = '';
+ $current_status = $event['fieldData']['status']['value'];
+
+ if($to_email){
+ $message = $site_name . " Events<br><br>";
+ $message .= "Event Name: " . $event_title . "<br>";
+ $message .= "Event Description: $event_intro<br>";
+ $message .= "Contact Name: $admin_name<br><br>";
+
+
+ if( $old_event_status === '20' && $current_status === '10' ) {
+ $subject = 'Event Approved';
+ $message .= $email_notifications['approved_message'];
+ wp_mail( $to_email, $subject, $message, $header );
+
+ } else if( $old_event_status === '20' && $current_status === '40' ){
+ $declined = $email_notifications['declined_message'];
+ $subject = 'Event Declined';
+ $message .= "Your event has been declined for the following reason(s):<br> $declined";
+ wp_mail( $to_email, $subject, $message, $header );
}
- remove_filter( 'wp_mail_content_type', 'set_content_type' );
- // END DECLINED & APPROVED EVENT EMAIL FUNCTIONALITY ////////
+ }
+ remove_filter( 'wp_mail_content_type', 'set_content_type' );
+ // END DECLINED & APPROVED EVENT EMAIL FUNCTIONALITY ////////
+
+ // Deterine if we need to request search engine index, re-index, or removal
+ $url = GLM_MEMBERS_SITE_BASE_URL.$this->config['settings']['canonical_event_page'].'/'.$eventSlug.'/';
+ if ($indexEvent) {
+ echo "Index $url<P>";
+ $result = apply_filters( 'glm_member_db_common_search_indexurl', $url );
+ }
+ if ($removeEventIndex) {
+ echo "remove $url<P>";
+ $result = apply_filters( 'glm_member_db_common_search_removeurl', $url );
+ }
if (!$this->config['settings']['event_default_state']) {
$this->config['settings']['event_default_state'] = $this->config['settings']['default_state'];