update for trail searches
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 16 Jul 2013 15:29:13 +0000 (15:29 +0000)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 16 Jul 2013 15:29:13 +0000 (15:29 +0000)
For the main search form I'm
making sure it is only getting
the current categories and counties.
For the search form (place on main search page)
and work in the main search form queries

Toolkit/Members/SearchQueryGenerator.php
Toolkit/Members/UserSearchForm.php
Toolkit/Members/templates/userSearchForm.html
Toolkit/Page.php
Toolkit/Template/BreadCrumbs.php
index.php
templates/template.html

index b0232ff..636edf8 100644 (file)
@@ -256,7 +256,6 @@ class Toolkit_Members_SearchQueryGenerator
             )
         );
         extract($postedArrays);
-//        var_dump($postedArrays);exit;
         if (!empty($amenity) && $amenity[0]) {
             $params[] = "m.member_id IN (
                 SELECT member_id
index 39f6a63..0af0d37 100644 (file)
@@ -573,8 +573,8 @@ class Toolkit_Members_UserSearchForm
             = BASE_URL . 'Toolkit/Members/css/member.css';
         $GLOBALS['styleSheets'][]   = JQUERY_UI_CDN_CSS;
         $GLOBALS['topScripts'][]    = JQUERY_UI_CDN_JS;
-        $GLOBALS['bottomScripts'][]
-            = BASE_URL . 'Toolkit/Members/libjs/userSearchForm.js';
+//        $GLOBALS['bottomScripts'][]
+//            = BASE_URL . 'Toolkit/Members/libjs/userSearchForm.js';
         $tpl = new HTML_Template_Flexy($flexyOpts);
         $tpl->compile($this->formTemplate);
 
index 3810d8e..f33a81a 100644 (file)
@@ -26,7 +26,7 @@
                 type="search"
                 name="member_name"
                 placeholder="trail name"
-                value="{_POST[member_name]}">
+                value="{_REQUEST[member_name]}">
         </div>
         <div flexy:if="regions" class="fieldcontain">
             <label class="fieldHdr">Regions</label>
@@ -35,7 +35,7 @@
                 {foreach:regions,id,name}
                 <?php
                 echo '<option value="'.$id.'"
-                '.(($id == $_POST['regionId'])?'selected':'')
+                '.(($id == $_REQUEST['regionId'])?'selected':'')
                 .'>'.$name.'</option>';
                 ?>
                 {end:}
@@ -48,7 +48,7 @@
                 {foreach:counties,id,name}
                 <?php
                 echo '<option value="'.$id.'"
-                '.(($id == $_POST['countyId'])?'selected':'')
+                '.(($id == $_REQUEST['countyId'])?'selected':'')
                 .'>'.$name.'</option>';
                 ?>
                 {end:}
@@ -68,9 +68,9 @@
                             type="checkbox"
                             name="activity[]"
                             value="'.$id.'"
-                            '.((isset($_POST['activity'])
-                            && is_array($_POST['activity'])
-                            && in_array($id, $_POST['activity']))?'checked':'').'
+                            '.((isset($_REQUEST['activity'])
+                            && is_array($_REQUEST['activity'])
+                            && in_array($id, $_REQUEST['activity']))?'checked':'').'
                             >';
                             ?>
                             {name}
@@ -92,9 +92,9 @@
                             type="checkbox"
                             name="park[]"
                             value="'.$id.'"
-                            '.((isset($_POST['park'])
-                            && is_array($_POST['park'])
-                            && in_array($id, $_POST['park']))?'checked':'').'
+                            '.((isset($_REQUEST['park'])
+                            && is_array($_REQUEST['park'])
+                            && in_array($id, $_REQUEST['park']))?'checked':'').'
                             >';
                             ?>
                             {name}
                             type="checkbox"
                             name="amenity[]"
                             value="'.$id.'"
-                            '.((isset($_POST['amenity'])
-                            && is_array($_POST['amenity'])
-                            && in_array($id, $_POST['amenity']))?'checked':'').'
+                            '.((isset($_REQUEST['amenity'])
+                            && is_array($_REQUEST['amenity'])
+                            && in_array($id, $_REQUEST['amenity']))?'checked':'').'
                             >';
                             ?>
                             {name}
                 value="search">
         </div>
     </form>
-</div>
\ No newline at end of file
+</div>
+<script>
+    jQuery(document).ready(function() {
+        $("#trail-search-form").button();
+
+        $("#accordion").accordion();
+         <?php if ($_REQUEST['parkId']) {?>
+            $("#accordion").accordion('option', 'active', 1);
+        <?php }?>
+    });
+</script>
\ No newline at end of file
index dab6f3a..b830b69 100755 (executable)
@@ -538,6 +538,13 @@ class Toolkit_Page
               SELECT category_id,name
                 FROM members.category
                WHERE parent_id = 7
+                 AND category_id IN (
+                     SELECT category_id
+                       FROM members.member_category
+                      WHERE member_id IN
+                            (SELECT member_id
+                              FROM members.member
+                             WHERE active = 't'))
             ORDER BY name";
             $stmt = $dbh->query($sql);
             while ($category = $stmt->fetch(PDO::FETCH_ASSOC)) {
@@ -548,6 +555,13 @@ class Toolkit_Page
               SELECT category_id,name
                 FROM members.category
                WHERE parent_id = 8
+                 AND category_id IN (
+                     SELECT category_id
+                       FROM members.member_category
+                      WHERE member_id IN
+                            (SELECT member_id
+                             FROM members.member
+                             WHERE active = 't'))
             ORDER BY name";
             $stmt = $dbh->query($sql);
             while ($park = $stmt->fetch(PDO::FETCH_ASSOC)) {
@@ -557,6 +571,11 @@ class Toolkit_Page
             $sql = "
               SELECT region_id,region_name
                 FROM members.region
+               WHERE region_id in (
+                        SELECT distinct(region)
+                          FROM member
+                          WHERE active = 't'
+                          AND region is not null)
             ORDER BY region_name";
             $stmt = $dbh->query($sql);
             while ($region = $stmt->fetch(PDO::FETCH_ASSOC)) {
@@ -566,6 +585,11 @@ class Toolkit_Page
             $sql = "
               SELECT county_id,county_name
                 FROM members.county
+               WHERE county_id in (
+                        SELECT distinct(county)
+                          FROM member
+                          WHERE active = 't'
+                          AND county is not null)
             ORDER BY county_name";
             $stmt = $dbh->query($sql);
             while ($county = $stmt->fetch(PDO::FETCH_ASSOC)) {
index e52bca9..6321103 100644 (file)
@@ -74,62 +74,62 @@ class Toolkit_Template_BreadCrumbs
                           && filter_var($_GET['photo_catid'], FILTER_VALIDATE_INT)
                );
 
-        $activityId = filter_var($_REQUEST['activityId'], FILTER_VALIDATE_INT);
-        $parkId     = filter_var($_REQUEST['parkId'], FILTER_VALIDATE_INT);
-        $countyId   = filter_var($_REQUEST['countyId'], FILTER_VALIDATE_INT);
-        $searchForm = filter_var($_REQUEST['search'], FILTER_VALIDATE_INT);
-        $hasSearch  = ($activityId || $parkId || $countyId && !($searchForm));
-
-        if ($hasSearch) {
-            // add search type Activity, Park or County
-            $catid = filter_var($_GET['catid'], FILTER_VALIDATE_INT);
-            // get activity or park
-            try {
-                $dbh = Toolkit_Database::getInstance();
-                if ($activityId) {
-                    $sql = "
-                    SELECT name
-                      FROM members.category
-                     WHERE category_id = :id";
-                    $stmt = $dbh->prepare($sql);
-                    $stmt->bindParam(':id', $activityId, PDO::PARAM_INT);
-                    $stmt->execute();
-                    $searchParam = $stmt->fetchColumn();
-                    $searchParam .= ' Activity';
-                } else if ($parkId) {
-                    $sql = "
-                    SELECT name
-                      FROM members.category
-                     WHERE category_id = :id";
-                    $stmt = $dbh->prepare($sql);
-                    $stmt->bindParam(':id', $parkId, PDO::PARAM_INT);
-                    $stmt->execute();
-                    $searchParam = $stmt->fetchColumn();
-                    $searchParam .= ' Park';
-                } else if ($countyId) {
-                    $sql = "
-                    SELECT county_name
-                      FROM members.county
-                     WHERE county_id = :id";
-                    $stmt = $dbh->prepare($sql);
-                    $stmt->bindParam(':id', $countyId, PDO::PARAM_INT);
-                    $stmt->execute();
-                    $searchParam = $stmt->fetchColumn();
-                    $searchParam .= ' County';
-                }
-                array_unshift($stack, $searchParam);
-            } catch (PDOException $e) {
-                Toolkit_Common::handleError($e);
-            }
-            $seoUrl = Toolkit_Template_Page::getSeoUrl(
-                               $this->pageGateway,
-                               $catid
-                       );
-            // this should be after adding the search type
-            $page = $this->pageGateway->findNavItem($catid);
-            $anchor = '<a href="'.$seoUrl.'">'.$page['navigation_name'].'</a>';
-                       array_unshift($stack, $anchor);
-        }
+//        $activityId = filter_var($_REQUEST['activityId'], FILTER_VALIDATE_INT);
+//        $parkId     = filter_var($_REQUEST['parkId'], FILTER_VALIDATE_INT);
+//        $countyId   = filter_var($_REQUEST['countyId'], FILTER_VALIDATE_INT);
+//        $searchForm = filter_var($_REQUEST['search'], FILTER_VALIDATE_INT);
+//        $hasSearch  = ($activityId || $parkId || $countyId && !($searchForm));
+
+//        if ($hasSearch) {
+//            // add search type Activity, Park or County
+//            $catid = filter_var($_GET['catid'], FILTER_VALIDATE_INT);
+//            // get activity or park
+//            try {
+//                $dbh = Toolkit_Database::getInstance();
+//                if ($activityId) {
+//                    $sql = "
+//                    SELECT name
+//                      FROM members.category
+//                     WHERE category_id = :id";
+//                    $stmt = $dbh->prepare($sql);
+//                    $stmt->bindParam(':id', $activityId, PDO::PARAM_INT);
+//                    $stmt->execute();
+//                    $searchParam = $stmt->fetchColumn();
+//                    $searchParam .= ' Activity';
+//                } else if ($parkId) {
+//                    $sql = "
+//                    SELECT name
+//                      FROM members.category
+//                     WHERE category_id = :id";
+//                    $stmt = $dbh->prepare($sql);
+//                    $stmt->bindParam(':id', $parkId, PDO::PARAM_INT);
+//                    $stmt->execute();
+//                    $searchParam = $stmt->fetchColumn();
+//                    $searchParam .= ' Park';
+//                } else if ($countyId) {
+//                    $sql = "
+//                    SELECT county_name
+//                      FROM members.county
+//                     WHERE county_id = :id";
+//                    $stmt = $dbh->prepare($sql);
+//                    $stmt->bindParam(':id', $countyId, PDO::PARAM_INT);
+//                    $stmt->execute();
+//                    $searchParam = $stmt->fetchColumn();
+//                    $searchParam .= ' County';
+//                }
+//                array_unshift($stack, $searchParam);
+//            } catch (PDOException $e) {
+//                Toolkit_Common::handleError($e);
+//            }
+//            $seoUrl = Toolkit_Template_Page::getSeoUrl(
+//                             $this->pageGateway,
+//                             $catid
+//                     );
+//            // this should be after adding the search type
+//            $page = $this->pageGateway->findNavItem($catid);
+//            $anchor = '<a href="'.$seoUrl.'">'.$page['navigation_name'].'</a>';
+//                     array_unshift($stack, $anchor);
+//        }
 
                if ($hasPhotoGalleriesOnThisPage) {
                        if (!$catid = filter_var($_GET['catid'], FILTER_VALIDATE_INT)) {
index 0550ebf..759e3cc 100644 (file)
--- a/index.php
+++ b/index.php
@@ -21,6 +21,32 @@ if ($_REQUEST['siteMapXml'] == '1') {
     exit;
 }
 $dbh = Toolkit_Database::getInstance();
+$postedArrays = filter_var_array(
+    $_REQUEST,
+    array(
+        'activityId'      => FILTER_VALIDATE_INT,
+        'parkId'          => FILTER_VALIDATE_INT,
+        'countyId'        => FILTER_VALIDATE_INT,
+        'activity'        => array(
+            'filter' => FILTER_VALIDATE_INT,
+            'flags'  => FILTER_FORCE_ARRAY
+        ),
+        'amenity'        => array(
+            'filter' => FILTER_VALIDATE_INT,
+            'flags'  => FILTER_FORCE_ARRAY
+        ),
+        'park'            => array(
+            'filter' => FILTER_VALIDATE_INT,
+            'flags'  => FILTER_FORCE_ARRAY
+        )
+    )
+);
+if ($postedArrays['activityId']) {
+    $_REQUEST['activity'][] = $postedArrays['activityId'];
+}
+if ($postedArrays['parkId']) {
+    $_REQUEST['park'][] = $postedArrays['parkId'];
+}
 if (   defined("SHORT_URLS")
     && SHORT_URLS
     && isset($_GET['glmPage'])
index 3f3ab3e..2531641 100755 (executable)
                                        <form
                         id="findTrail"
                         name="findATrail"
-                        method="get"
+                        method="post"
                         action="{baseURL:h}find-trails-3/"
                         flexy:ignore="yes">
+                        <input type="hidden" name="search" value="1">
                                                <select
                             name="activityId"
                             id="activity"