Fixing many things on the front end search.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 26 Sep 2018 12:22:23 +0000 (08:22 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 26 Sep 2018 12:25:38 +0000 (08:25 -0400)
Getting rid of sql errors and some unneeded things from the member list
model.

models/front/staff/list.php
views/front/staff/list.html

index ebf6800..f2d805c 100644 (file)
@@ -105,13 +105,13 @@ class GlmMembersFront_staff_list extends GlmDatastaff
 
     public function modelAction($actionData = false)
     {
-        $success_load    = false;
-        $success_message = "";
-        $option          = false;
-        $view_file       = 'list';
-        $view            = 'list';
-        $where              = '';
-        $whereSep           = '';
+        $success_load       = false;
+        $success_message    = "";
+        $option             = false;
+        $view_file          = 'list';
+        $view               = 'list';
+        $where              = ' true ';
+        $whereSep           = ' AND ';
         $filterName         = false;
         $haveFilter         = false;
         $textSearch         = '';
@@ -172,7 +172,6 @@ class GlmMembersFront_staff_list extends GlmDatastaff
                 T.department LIKE '%$textSearch%' OR
                 T.building LIKE '%$textSearch%'
             )";
-            $whereSep = ' AND ';
             $textSearch = stripslashes($textSearch);
         }
 
@@ -185,15 +184,15 @@ class GlmMembersFront_staff_list extends GlmDatastaff
 
         if ( isset( $_REQUEST['filter_name'] ) && trim( $_REQUEST['filter_name'] ) != '' ) {
              $name_search = addslashes(filter_var($_REQUEST['filter_name'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
-             $where .= " (T.fname like '%$name_search%' OR T.lname like '%$name_search%' OR (T.fname like '%$name_search%' AND T.lname like '%$name_search%')  ) AND ";
+             $where .= $whereSep." (T.fname like '%$name_search%' OR T.lname like '%$name_search%' OR (T.fname like '%$name_search%' AND T.lname like '%$name_search%')  )";
         }
 
         if ( isset( $_REQUEST['filter_departments'] ) && $filter_departments = filter_var( $_REQUEST['filter_departments'], FILTER_VALIDATE_INT ) ) {
-            $where .= " T.department = $filter_departments AND ";
+            $where .= $whereSep." T.department = $filter_departments";
         }
 
         if ( isset( $_REQUEST['filter_buildings'] ) && $filter_building = filter_var( $_REQUEST['filter_buildings'], FILTER_VALIDATE_INT ) ) {
-            $where .= " T.building = $filter_building AND ";
+            $where .= $whereSep." T.building = $filter_building";
         }
 
         // Check if we're doing paging
@@ -213,30 +212,22 @@ class GlmMembersFront_staff_list extends GlmDatastaff
             }
         }
 
-        $whereParts = apply_filters('glm-member-db-front-search-query', array());
-        if ( is_array( $whereParts ) && count( $whereParts ) > 0 ) {
-            $where .= $whereSep.implode(" AND ", $whereParts);
-            $whereSep = ' AND ';
-        }
-
         // If doing alpha list
         $alphaList = false;
         $alphaWhere = '';
-        if ($this->config['settings']['list_show_search_alpha']) {
 
-            $alphaSelected = false;
+        $alphaSelected = false;
 
-            // Check for alpha selected
-            if ($actionData['request']['alpha'] && strlen($actionData['request']['alpha']) == 1) {
-                $alphaSelected = strtoupper($actionData['request']['alpha']);
-                $alphaWhere .= " AND T.lname LIKE '$alphaSelected%'";
+        // Check for alpha selected
+        if ($actionData['request']['alpha'] && strlen($actionData['request']['alpha']) == 1) {
+            $alphaSelected = strtoupper($actionData['request']['alpha']);
+            $alphaWhere .= " AND T.lname LIKE '$alphaSelected%'";
 
-            }
+        }
 
-            // Get full list for all other filters, but not filtered by alpha (that would be silly)
-            $alphaList = $this->getAlphaList($where, $alphaSelected);
+        // Get full list for all other filters, but not filtered by alpha (that would be silly)
+        $alphaList = $this->getAlphaList( ' AND ' . $where, $alphaSelected);
 
-        }
 
         // If we're not paging, then force $start and $limit to false to data abstract returns everything.
         $resultParam = 'listResult';
@@ -245,7 +236,6 @@ class GlmMembersFront_staff_list extends GlmDatastaff
             $limit = false;
             $resultParam = 'list';
         }
-        $where .= ' true ';
         // Get stats for the current selection
         $staffFound = $this->getStats(str_replace('T.', '', $where));
 
index 93c67d4..cdffff5 100644 (file)
@@ -6,7 +6,7 @@
         <input type="hidden" name="nextStart" value="{$nextStart}">
         <input type="hidden" name="limit" value="{$limit}">
         <input type="hidden" name="savedAlpha" value="{$alphaSelected}">
-    
+
         <div class="glm-staff-filters">
             <input name="filter_name" value="{if isset($smarty.request.filter_name)}{$smarty.request.filter_name}{/if}" placeholder="Search Name" />
             <div class="filter-dropdowns">
@@ -18,7 +18,7 @@
                         {/foreach}
                     {/if}
                 </select>
-        
+
                 <select name="filter_buildings">
                     <option value="">All Buildings</option>
                     {if $buildings}
                     {/if}
                 </select>
             </div>
-    
+
             <input class="button" type="submit" value="Search" />
         </div>
 
         {if $staffData}
             <div class="glm-alpha-links">
-                <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
+                <a href="{$thisUrl}?glm_action=list{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}#glm-member-list-filters-button" class="glm-alpha-link{if !$alphaSelected} glm-alpha-link-selected{/if}">All</a>
                 {foreach $alphaList as $a}
-                    <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
+                    <a href="{$thisUrl}?glm_action=list&alpha={$a.alpha}{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}#glm-member-list-filters-button" class="glm-alpha-link{if $a.default} glm-alpha-link-selected{/if}">{$a.alpha}</a>
                 {/foreach}
             </div>
 
@@ -45,8 +45,8 @@
                     {if $prevStart || $nextStart}
                         <br>
                         <div class="paging-container">
-                            <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
-                            <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+                            <a href="{$thisUrl}?glm_action=list{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+                            <a href="{$thisUrl}?glm_action=list{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}#glm-member-list-filters-button" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
                         </div>
                         <br>
                     {/if}
@@ -54,7 +54,7 @@
                     showing {$start} through {$lastDisplayed} of {$filteredStaffFound}
                 {/if}
             </div>
-            
+
             {foreach $staffData as $staffKey => $staffVal}
                 <div class="glm-staff-block-wrapper">
                     <div class="glm-staff-block">
@@ -72,7 +72,7 @@
                         </span>
 
                         <br>
-                        
+
                         <div class="glm-staff-location">
                             <span class="glm-staff-extension-title glm-staff-title">
                                 Ext:
                     {if $prevStart || $nextStart}
                         <br>
                         <div class="paging-container">
-                            <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
-                            <a href="{$thisUrl}?glm_action=list&textSearch={$textSearch}&categorySearch={$catSearchSelected}&regionSearch={$regionSearchSelected}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
+                            <a href="{$thisUrl}?glm_action=list{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}&pageSelect=Previous&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$prevStart} style="pointer-events: none; opacity: 0.5;"{/if}>< Previous page</a>
+                            <a href="{$thisUrl}?glm_action=list{if $filterName}&filter_name={$filterName}{/if}{if isset($smarty.request.filter_departments) && $smarty.request.filter_departments}&filter_departments={$smarty.request.filter_departments}{/if}{if isset($smarty.request.filter_buildings) && $smarty.request.filter_buildings}&filter_buildings={$smarty.request.filter_buildings}{/if}&pageSelect=Next&prevStart={$prevStart}&nextStart={$nextStart}&limit={$limit}&alpha={$alphaSelected}" class="glm-alpha-link" {if !$nextStart} style="pointer-events: none; opacity: 0.5;"{/if}>Next page ></a>
                         </div>
                         <br>
                     {/if}
         {/if}
     </form>
 
-</div>
\ No newline at end of file
+</div>