From 0e27be1a1a2f21287da49fc6edf393a34b321836 Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Thu, 25 Jul 2019 17:39:31 -0400 Subject: [PATCH] Specify that today's events are today's events in returned array --- setup/routes/dashboard.php | 187 +++++-------------------------------- 1 file changed, 23 insertions(+), 164 deletions(-) diff --git a/setup/routes/dashboard.php b/setup/routes/dashboard.php index e563cc2..f9877fa 100644 --- a/setup/routes/dashboard.php +++ b/setup/routes/dashboard.php @@ -105,8 +105,8 @@ class GLMA_Dashboard_Rest_Controller $summary['events'] = $events_summary; $config['today'] = true; - //$events_today = $this->get_events_summary( $config ); - //$summary['events_today'] = $events_today; + $events_today = $this->get_events_summary( $config ); + $summary['events_today'] = $events_today; } if ( defined("GLM_MEMBERS_EVENTS_PLUGIN_PATH") ) { } @@ -175,7 +175,7 @@ class GLMA_Dashboard_Rest_Controller } - +// FOR REFERENCE DURING DEV // ; // ; Entry Status Types // ; @@ -191,7 +191,6 @@ class GLMA_Dashboard_Rest_Controller // Get members - //public function getList( $where = '', $order = '', $fieldVals = true, $idField = 'id', $start = false, $limit = false, $prohibitListOptions = false, $appendSelect = null ) public function get_members_summary() { // !!! @@ -215,171 +214,31 @@ class GLMA_Dashboard_Rest_Controller $members = $this->wpdb->get_results( $sql ); return $members; - // $this->selectGroupFields(); - - // // For testing only - // /* - // echo "

getList():
- // - // - // - // - // - // - // - // - // - //
Where:$where
Order:$order
Field Vals:$fieldVals
ID Field:$idField
Start:$start
Limit:$limit
Prohibit List Options$prohibitListOptions
Append Select$appendSelect
- //

- // "; - // */ - - // $seed = false; - - // // NOTE: $fieldVals not yet implemented - - // // Check if we're asked to block all list field options. Only enable this, the parameter does not permit turning it off - // if ($prohibitListOptions) { - // $this->$optionProhibitListOptions = true; - // } - - // // Get field specifications for this instance - // $this->buildFieldsList('l'); - - // // If pseudo random order is requested - // $this->pseudoRand = false; - // if ($order == 'pseudo-random') { - - // // Set pseudo random flag and clear the order string - // $this->pseudoRand = true; - // $order = ''; - - // } - - // // If random order is requested - // $this->rand = false; - // if ($order == 'random') { - - // // Set rand and pseudoRand flags and clear the order string - // // Note that random uses pseudo-random code but overrides the seed each time - // $this->rand = true; - // $this->pseudoRand = true; - // $order = ''; - - // // Generate a new seed each time - this causes full random ordering and overrides "pseudo-random" - // $seed = intval(time()*1000000+microtime()*1000000); - - // } - - // // If doing pseudo-random or random ordering, generate array of IDs in pseudo-random order - // $idString = ''; - // if ($this->pseudoRand || $this->rand) { - - // $prSql = "SELECT $idField - // FROM $this->table T - // "; - // if (trim($where) != '') { - // $prSql .= "WHERE $where - // "; - // } - - // $idList = $this->wpdb->get_results($prSql, ARRAY_A); - // $prList = $this->genPseudoRandIdArray($idList, $start, $limit, 'id', 'GLM_PR_SEED', $seed); - // $idString = $prList['idString']; - - // } - - // if ( $appendSelect ) { - // $this->select .= ', ' . $appendSelect; - // } - - // $sql = "SELECT $this->select - // FROM $this->table T - // WHERE true - // "; - // if (trim($where != '')) { - // $sql .= "AND $where - // "; - // } - - // // If there's a pseudo-random id list to use for results selection - // if ($idString != '') { - // $sql .= "AND T.$idField IN ($idString) - // "; - // } - - // if (!$this->pseudoRand && trim($order != '')) { - // $sql .= "ORDER BY $order - // "; - // } - - // // If $start and $limit, we're doing paging (pseudo-random does it's own paging) - // $paging = false; - // if ($start !== false && $limit > 0) { - - // // If using pseudo-random, don't use the SQL limit. The pseudo-random code does it's own paging - // if (!$this->pseudoRand) { - // $sql .= "limit ".($start-1).", $limit"; - // } - - // $paging = true; - // } - - // $list = $this->wpdb->get_results($sql, ARRAY_A); - - // if (count($list) == 0) { - // return false; - // } - - // // Setup result array - // $newList = array(); - - // // Process field output data for each result - use ID field as key - // foreach ( $list as $k => $v ) { - // $newList[$v['id']] = $this->processOutputData($v, 'l'); - // } - - // // If pseudo-random, sort the list by $prList - // if ($this->pseudoRand) { - // $this->pseudoRandDataSort($prList, $newList); - // } - - // // If we're doing paging, return that data along with the list - // if ($paging) { - // $c = count($list); - // return array( - // 'start' => $start, - // 'limit' => $limit, - // 'returned' => $c, - // 'last' => $start + count($list) - 1, - // 'list' => $newList - // ); - // } - - // $this->restoreFields(); - // // Since we're not doing paging, return the list only - // return $newList; + } // Get events public function get_events_summary( $config ) { - $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" - ); + 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" + ); + } + if (!$events) { $events = "Empty"; -- 2.17.1