From 9475cc720da0c32fd238535a61562f6581447270 Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Thu, 1 Aug 2019 11:26:47 -0400 Subject: [PATCH] Retrieve locations for the event records in the dashboard route --- setup/routes/dashboard.php | 80 +++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/setup/routes/dashboard.php b/setup/routes/dashboard.php index 847848b..755004f 100644 --- a/setup/routes/dashboard.php +++ b/setup/routes/dashboard.php @@ -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'].") -- 2.17.1