Fix for updating approved timestamp.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 7 Sep 2016 14:43:00 +0000 (10:43 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 7 Sep 2016 14:43:00 +0000 (10:43 -0400)
If the event is switching from pending review to active then update
approved timestamp of the event.

models/admin/events/list.php

index ec1db08..d88d152 100644 (file)
@@ -357,6 +357,16 @@ class GlmMembersAdmin_events_list extends GlmDataEvents
 
             case 'update':
 
+                // Get the original Event Status. Before the update.
+                $old_event_status = $this->wpdb->get_var(
+                    $this->wpdb->prepare(
+                        "SELECT status
+                           FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events
+                          WHERE id = %d",
+                       $this->eventID
+                    )
+                );
+
                 $this->updateCategories();
                 $categories = $Categories->getListSortedParentChild(false);
 
@@ -367,6 +377,15 @@ class GlmMembersAdmin_events_list extends GlmDataEvents
                 if ($event['status']) {
                     $eventUpdated = true;
 
+                    // 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);
+                        }
+                    }
+
                     // Update updated timestamp and name slug for URLs
                     $this->updateTimestamp('updated', $this->eventID);
                     $this->updateSlug($this->eventID);