Retrieve locations for the event records in the dashboard route
authorLaury GvR <laury@gaslightmedia.com>
Thu, 1 Aug 2019 15:26:47 +0000 (11:26 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Thu, 1 Aug 2019 15:26:47 +0000 (11:26 -0400)
setup/routes/dashboard.php

index 847848b..755004f 100644 (file)
@@ -89,31 +89,29 @@ class GLMA_Dashboard_Rest_Controller
                             //$summary[] = $addon;
                         //}
 
-                        $parameters = $request->get_params();
-                        $summary['parameters'] = $parameters;
-                        $addons= explode(",", $parameters['addons'] );
+                        
+                        $this->params = $request->get_params();
+                        $summary['params'] = $this->params;
+                        $addons= explode(",", $this->params['addons'] );
                         $summary['addons'] = $addons;
 
                         $config = array();
 
                         if ( in_array( 'events', $addons ) && defined("GLM_MEMBERS_EVENTS_PLUGIN_PATH") ) {
                             require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataEvents.php';
-                            
-                            $events_summary = $this->get_events_summary( $config );
-                            $summary['events'] = $events_summary;
+                            require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataLocations.php';
+                            include_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php';
 
-                            $config['today'] = true;
-                            $events_today = $this->get_events_summary( $config );
-                            $summary['events_today'] = $events_today;
-                            
+                            $events_summary = $this->get_events_summary();
+                            $summary['events'] = $events_summary;
                         }
                         if ( defined("GLM_MEMBERS_EVENTS_PLUGIN_PATH") ) {
                         }
                         if ( in_array( 'coupons', $addons ) && defined("GLM_MEMBERS_COUPONS_PLUGIN_PATH") ) {
-                            $summary['coupons'] = $this->get_coupons_summary( $config );
+                            $summary['coupons'] = $this->get_coupons_summary();
                         }
                         if ( in_array( 'packaging', $addons ) && defined("GLM_MEMBERS_PACKAGING_PLUGIN_PATH") ) {
-                            $summary['packaging'] =  $this->get_packaging_summary( $config );
+                            $summary['packaging'] =  $this->get_packaging_summary();
                         }
 
                         if ( in_array( 'members', $addons ) && defined("GLM_MEMBERS_PLUGIN_PATH") ) {
@@ -202,36 +200,48 @@ class GLMA_Dashboard_Rest_Controller
     }
 
     // Get events
-    public function get_events_summary( $config ) {
-
-        if ( $config['today'] ) {
-            $limit = 5;
-            $event_fields = "E.id, E.name, E.name_slug, E.descr, E.image";
-            $events_table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events";
-            $times_table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times";
-    
-            $events = $this->wpdb->get_results(
-                    "SELECT $event_fields,T.start_time as start,T.end_time as end
-                       FROM $events_table E,
-                            $times_table T
-                      WHERE E.status = 10
-                        AND T.event = E.id AND T.start_time IN (SELECT start_time FROM $times_table WHERE event = E.id AND DATE_FORMAT(end_time, '%m-%d-%Y') = DATE_FORMAT(CURDATE(), '%m-%d-%Y') )
-                        AND T.event = E.id AND T.end_time IN (SELECT end_time FROM $times_table WHERE event = E.id AND DATE_FORMAT(end_time, '%m-%d-%Y') = DATE_FORMAT(CURDATE(), '%m-%d-%Y') )
-                     ORDER BY start, end
-                     LIMIT $limit
-                     OFFSET 0"
-            );
-        }
+    public function get_events_summary() {
+
+        $events_table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events";
+        $times_table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times";
+        $locations_table = GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations";
+        $locations_fields = "L.name,L.address,L.city,L.state,L.zip,L.county,L.country,L.lat,L.lon,L.region,L.url";
+        $events_where = "E.status = 10";
+        $events_order = "start, end";
+        $events_limit = 5;
         
+        if ( $this->params['events_today'] ) {
+            $events_fields = "E.id, E.name, E.name_slug, E.descr, E.image, E.cost, E.free";
+            $events_where .= " AND T.event = E.id AND T.start_time IN (SELECT start_time FROM $times_table WHERE event = E.id AND DATE_FORMAT(end_time, '%m-%d-%Y') = DATE_FORMAT(CURDATE(), '%m-%d-%Y') )
+                               AND T.event = E.id AND T.end_time IN (SELECT end_time FROM $times_table WHERE event = E.id AND DATE_FORMAT(end_time, '%m-%d-%Y') = DATE_FORMAT(CURDATE(), '%m-%d-%Y') )";
+        } else {
+            $events_fields = "*";
+            $events_where .= " AND T.event = E.id";
+        }
+
+        $events_where .= " AND (E.use_member_location <> true 
+                            AND T.event = E.id )";
 
+        $sql = "SELECT $events_fields,T.start_time as start,T.end_time as end,$locations_fields
+                  FROM $events_table E,
+                       $times_table T,
+                       $locations_table L
+                 WHERE $events_where
+                ORDER BY $events_order
+                 LIMIT $events_limit
+                OFFSET 0";
+
+        $events = $this->wpdb->get_results( $sql );
+        //$events = $params;
+        
         if (!$events) {
-            $events = "Empty";
+            $events = "E-404 : No events found";
         }
         return $events;
     }
 
     // Get coupons
-    public function get_coupons_summary( $config ) {
+    public function get_coupons_summary() {
         $fields = "id, name, name_slug, descr, image, start_date, end_date, expire";
         $table = GLM_MEMBERS_COUPONS_PLUGIN_DB_PREFIX."coupons";
         $where = "status IN (".$this->config['status_numb']['Active'].")
@@ -248,7 +258,7 @@ class GLMA_Dashboard_Rest_Controller
     }
     
     // Get packages
-    public function get_packaging_summary( $config ) {
+    public function get_packaging_summary() {
         $fields = "id, title, package_slug, short_descr, image, start_date, end_date, expire_date";
         $table = GLM_MEMBERS_PACKAGING_PLUGIN_DB_PREFIX."packages";
         $where = "status IN (".$this->config['status_numb']['Active'].")