From ca2cd85329214962c0321599cda28e2bf7d5022a Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Tue, 12 Apr 2016 16:10:09 -0400 Subject: [PATCH] Fixed multi-picklist layout issues, date search now working in admin. --- models/admin/events/list.php | 64 +++++++++++++++++++++- views/admin/events/editSchedule.html | 8 +-- views/admin/events/index.html | 2 +- views/admin/events/list.html | 81 +++++++++++++--------------- 4 files changed, 105 insertions(+), 50 deletions(-) diff --git a/models/admin/events/list.php b/models/admin/events/list.php index f1168de..07dbc43 100644 --- a/models/admin/events/list.php +++ b/models/admin/events/list.php @@ -103,6 +103,8 @@ class GlmMembersAdmin_events_list extends GlmDataEvents $eventAdded = false; $eventAddError = false; $view = 'list'; + $fromDate = false; + $toDate = false; $filterArchived = false; $filterPending = false; $eventDeleted = false; @@ -467,7 +469,7 @@ class GlmMembersAdmin_events_list extends GlmDataEvents case 'list': default: - $where = ''; + $where = 'true'; // Add "selected" element default false; reset($categories); @@ -475,6 +477,64 @@ class GlmMembersAdmin_events_list extends GlmDataEvents $categories[$k]['selected'] = false; } + // Check if there is a category filter (multi-select) + if (isset($_REQUEST['filterCategories']) && count($_REQUEST['filterCategories']) > 0) { + + $cats = ''; + $catsSep = ''; + + // For each selected category + foreach($_REQUEST['filterCategories'] as $c) { + $cats .= $catsSep.$c; + $catsSep = ','; + $categories[$c]['selected'] = true; + } + + $where .= " AND T.id in ( + SELECT DISTINCT(EC.event) + FROM ".GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX."event_categories EC, + ".GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX."categories C + WHERE ( + EC.category in ($cats) + OR (C.parent in ($cats) AND EC.category = C.id) + ) + )"; + } + + // If we have a From date + if (isset($_REQUEST['fromDate']) && trim($_REQUEST['fromDate']) != '') { + $fromDate = date('m/d/Y', strtotime($_REQUEST['fromDate'])); + $fromMYSQL = date('Y-m-d', strtotime($fromDate)); + } + + // If we have a to Date + if (isset($_REQUEST['toDate']) && trim($_REQUEST['toDate']) != '') { + $toDate = date('m/d/Y', strtotime($_REQUEST['toDate'])); + $toMYSQL = date('Y-m-d', strtotime($toDate." +1 day")); + + // If we have a from but not a to date, use from as the to but don't populate the to field + } elseif ($fromDate) { + $toDate = date('m/d/Y', strtotime($_REQUEST['fromDate'])); + $toMYSQL = date('Y-m-d', strtotime($toDate." +1 day")); + $toDate = false; + } + + // If we have from and to dates, do search for those inclusive + if ($fromDate) { + $where .= " + AND T.id in ( + SELECT DISTINCT(event) + FROM ".GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX."times + WHERE ( + start_time BETWEEN '$fromMYSQL' AND '$toMYSQL' + OR + end_time BETWEEN '$fromMYSQL' AND '$toMYSQL' + ) + AND active + ) + "; + } + // Check if the list is for a specific member if (defined('GLM_EVENTS_MEMBER_MENU') && $memberID) { $where .= "T.ref_dest = $memberID"; @@ -539,6 +599,8 @@ class GlmMembersAdmin_events_list extends GlmDataEvents 'eventAddError' => $eventAddError, 'numbEvents' => $numbEvents, 'categories' => $categories, + 'fromDate' => $fromDate, + 'toDate' => $toDate, 'filterArchived' => $filterArchived, 'filterPending' => $filterPending, 'eventDeleted' => $eventDeleted, diff --git a/views/admin/events/editSchedule.html b/views/admin/events/editSchedule.html index 49915f8..7e2b496 100644 --- a/views/admin/events/editSchedule.html +++ b/views/admin/events/editSchedule.html @@ -34,25 +34,25 @@ - Start Time: + Start Time: Start time only - End Time: + End Time:   - Start Date: + Start Date: - End Date: + End Date: diff --git a/views/admin/events/index.html b/views/admin/events/index.html index ae3a3e0..303b398 100644 --- a/views/admin/events/index.html +++ b/views/admin/events/index.html @@ -36,7 +36,7 @@ {if $pending} -

 
Pending Events

+

 
Events Pending Review

diff --git a/views/admin/events/list.html b/views/admin/events/list.html index 4bbc513..2cb8736 100644 --- a/views/admin/events/list.html +++ b/views/admin/events/list.html @@ -3,7 +3,7 @@ {else} {include file='admin/events/header.html'} {/if} - + {if apply_filters('glm_members_permit_admin_events_index_add_event', true)}

@@ -18,27 +18,27 @@

{/if} - + -
- - - - - - - - - -
Events Found:{$numbEvents}Categories: - - Show Archived:Pending Only:Text Search:
+
+

+ From Date: + To Date: + Categories:  + + +

+ Show Archived: + Pending Only: + Text Search:
+

+

@@ -46,7 +46,7 @@ - + @@ -57,7 +57,7 @@ {if $events} {assign var="i" value="0"} {foreach $events as $e} - {if $i++ is odd by 1} + {if $i++ is odd by 1} {else} @@ -97,44 +97,44 @@ - + {include file='admin/footer.html'} -- 2.17.1
ID Event NameMemberMember Status Created Updated