From: Steve Sutton Date: Tue, 4 Jun 2013 18:57:42 +0000 (+0000) Subject: hook in the main search form X-Git-Tag: v1.0~153 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=81e1896ce77b353ad8b37ec8995bfa1f1f4df104;p=web%2FMichiganTrailMaps.git hook in the main search form --- diff --git a/Toolkit/Members/SearchQueryGenerator.php b/Toolkit/Members/SearchQueryGenerator.php index d28f965..42a6763 100644 --- a/Toolkit/Members/SearchQueryGenerator.php +++ b/Toolkit/Members/SearchQueryGenerator.php @@ -240,6 +240,10 @@ class Toolkit_Members_SearchQueryGenerator $postedArrays = filter_var_array( $_REQUEST, array( + 'activityId' => FILTER_VALIDATE_INT, + 'parkId' => FILTER_VALIDATE_INT, + 'regionId' => FILTER_VALIDATE_INT, + 'countyId' => FILTER_VALIDATE_INT, 'activity' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_FORCE_ARRAY @@ -250,14 +254,38 @@ class Toolkit_Members_SearchQueryGenerator ) ) ); - if (!empty($postedArrays['activity'])) { +// var_dump($_POST); +// var_dump($postedArrays); + if ( !empty($postedArrays['activity']) + && $postedArrays['activity'][0] + ) { $params[] = "m.member_id IN ( SELECT member_id FROM member_category WHERE category_id IN (" .implode(',', $postedArrays['activity'])."))"; } - if ($postedArrays['park']) { + if ($postedArrays['activityId']) { + $params[] = "m.member_id IN ( + SELECT member_id + FROM member_category + WHERE category_id = {$postedArrays['activityId']})"; + } + if ($postedArrays['parkId']) { + $params[] = "m.member_id IN ( + SELECT member_id + FROM member_category + WHERE category_id = {$postedArrays['parkId']})"; + } + if ($postedArrays['regionId']) { + $params[] = "m.region = {$postedArrays['regionId']}"; + } + if ($postedArrays['countyId']) { + $params[] = "m.county = {$postedArrays['countyId']}"; + } + if ( !empty($postedArrays['park']) + && $postedArrays['park'][0] + ) { $params[] = "m.member_id IN ( SELECT member_id FROM member_category diff --git a/Toolkit/Page.php b/Toolkit/Page.php index 1ed478c..303f4a0 100755 --- a/Toolkit/Page.php +++ b/Toolkit/Page.php @@ -377,6 +377,7 @@ class Toolkit_Page $this->tripPlannerUrl = Toolkit_Template_Page::getSeoUrl( $this->_pageGateway, MEMBER_SESSION_PAGE ); + $this->_setupTrailSearchForm(); // check if define for GOOGLE_SEARCH is set if (defined("GOOGLE_SEARCH") @@ -441,6 +442,58 @@ class Toolkit_Page } } + private function _setupTrailSearchForm() + { + $this->activitySearch = array(); + $this->parkSearch = array(); + $this->regionSearch = array(); + $this->countySearch = array(); + try { + $dbh = Toolkit_Database::getInstance(); + $sql = " + SELECT category_id,name + FROM members.category + WHERE parent_id = 7 + ORDER BY name"; + $stmt = $dbh->query($sql); + while ($category = $stmt->fetch(PDO::FETCH_ASSOC)) { + $this->activitySearch[$category['category_id']] + = $category['name']; + } +// var_dump($this->activitySearch);exit; + $sql = " + SELECT category_id,name + FROM members.category + WHERE parent_id = 8 + ORDER BY name"; + $stmt = $dbh->query($sql); + while ($park = $stmt->fetch(PDO::FETCH_ASSOC)) { + $this->parkSearch[$park['category_id']] + = $park['name']; + } + $sql = " + SELECT region_id,region_name + FROM members.region + ORDER BY region_name"; + $stmt = $dbh->query($sql); + while ($region = $stmt->fetch(PDO::FETCH_ASSOC)) { + $this->regionSearch[$region['region_id']] + = $region['region_name']; + } + $sql = " + SELECT county_id,county_name + FROM members.county + ORDER BY county_name"; + $stmt = $dbh->query($sql); + while ($county = $stmt->fetch(PDO::FETCH_ASSOC)) { + $this->countySearch[$county['coutny_id']] + = $county['county_name']; + } + } catch (PDOException $e) { + Toolkit_Common::handleError($e); + } + } + /** * Returns page main navigation * diff --git a/Toolkit/Template/Page/BodyFactory.php b/Toolkit/Template/Page/BodyFactory.php index a160580..d97d012 100644 --- a/Toolkit/Template/Page/BodyFactory.php +++ b/Toolkit/Template/Page/BodyFactory.php @@ -15,9 +15,9 @@ /** * Toolkit_Template_Page_BodyFactory - * + * * Description of Toolkit_Template_Page_BodyFactory - * + * * @category Toolkit * @package Template/Page * @author Jamie Kahgee @@ -32,39 +32,39 @@ class Toolkit_Template_Page_BodyFactory /** * description of $_breadCrumbsFactory - * + * * @var string * @access private */ private $_breadCrumbsFactory; - + /** * description of $_pageGateway - * + * * @var string * @access private */ private $_pageGateway; - + /** * description of $_paragraphGateway - * + * * @var string * @access private */ private $_paragraphGateway; - + /** * description of $_cache - * + * * @var string * @access private */ private $_cache; - + /** * description of $_keywordReplacement - * + * * @var string * @access private */ @@ -75,13 +75,13 @@ class Toolkit_Template_Page_BodyFactory /** * Class constructor - * + * * @param Toolkit_BreadCrumbsFactory $breadCrumbsFactory breadCrumbsFactory * @param Toolkit_Toolbox_PageGatewayAbstract $pageGateway pageGateway * @param Toolkit_Toolbox_ParagraphGatewayAbstract $paragraphGateway paragraphGateway * @param Toolkit_Template_KeywordReplacement $keywordReplacement keywordReplacement * @param Cache_Lite $cache cache - * + * * @access public */ public function __construct( @@ -104,12 +104,12 @@ class Toolkit_Template_Page_BodyFactory /** * description of getPageBodyBuilder - * + * * @param string $id ID - * + * * @return \Toolkit_Members_SiteMapPage|\Toolkit_Template_Page_SiteMap * |\Toolkit_Template_Page_Bad|\Toolkit_Template_Page_GoogleSearch - * |\Toolkit_Template_Page_Member|\Toolkit_Template_Page_Toolbox + * |\Toolkit_Template_Page_Member|\Toolkit_Template_Page_Toolbox * @access public */ public function getPageBodyBuilder($id) @@ -131,17 +131,7 @@ class Toolkit_Template_Page_BodyFactory && !empty($_GET['query'])); $memberPage = ( defined('MEMBERS_DB') && MEMBERS_DB - && $page['include_members'] - // && ( - // (isset($page['member_categories']) - // && is_array($page['member_categories']) - // && !empty($page['member_categories'])) - // || - // (isset($page['member_regions']) - // && is_array($page['member_regions']) - // && !empty($page['member_regions'])) - // ) - ); + && $page['include_members']); if ($forgotPassword) { die('Toolkit_Template_Page_BodyFactory::getPageBodyBuilder'); diff --git a/Toolkit/Template/Page/Member.php b/Toolkit/Template/Page/Member.php index bfd17ed..4918b27 100644 --- a/Toolkit/Template/Page/Member.php +++ b/Toolkit/Template/Page/Member.php @@ -368,11 +368,9 @@ class Toolkit_Template_Page_Member extends Toolkit_Template_Page_Toolbox $breadCrumbs = $breadCrumbsBuilder->toHtml($this->id); $searchResults = $this->_getMemberSearchResults($this->id); $searchForm = $this->_getMemberSearchForm($this->id); - $posted = '
'.print_r($_REQUEST, true).'
'; return $breadCrumbs . $searchForm . -// $posted . $searchResults; } else { $breadCrumbs = $breadCrumbsBuilder->toHtml($this->id); diff --git a/Toolkit/Toolbox/Forms/EditPage.php b/Toolkit/Toolbox/Forms/EditPage.php index 11917fc..eca5e91 100644 --- a/Toolkit/Toolbox/Forms/EditPage.php +++ b/Toolkit/Toolbox/Forms/EditPage.php @@ -366,76 +366,119 @@ class Toolkit_Toolbox_Forms_EditPage 'name' => 'memberDbHdr', 'display' => $pluralMem, ); - $e[] = array( - 'type' => 'advcheckbox', - 'req' => false, - 'name' => 'include_members', - 'display' => "Members", - 'opts' => "Include Members On Page", - 'val' => array(0, 1) - ); - $e[] = array( - 'type' => 'html', - 'req' => false, - 'name' => ' - - - To include all members, turn this feature on and - don\'t select categories or regions below.
- To restrict to specific categories, select desired - categories under Category Filter.
- To restrict to specific regions, select desired - regions under Region Filter. - - ' - ); - // Note that we call to populate this select list at the - // bottom of this function after the element is made - // so we load attributes (classes) into each option as needed. - $e[] = array( - 'type' => 'select', - 'req' => false, - 'name' => 'member_categories', - 'display' => 'Category Filter
(none = all)', - 'opts' => array(), - 'att' => array( - 'multiple' => 'multiple', - 'size' => 7, - 'title' => '-- Select to Add --', - 'id' => 'MemberCategories' - ) - ); - if ($hasRegions) { - $e[] = array( - 'type' => 'select', - 'req' => false, - 'name' => 'member_regions', - 'display' => 'Region Filter
(none = all)', - 'opts' => array(), - 'att' => array( - 'multiple' => 'multiple', - 'size' => 7, - 'title' => '-- Select to Add --', - 'id' => 'MemberRegions' - ) - ); + $pageId = filter_var($_REQUEST['id'], FILTER_VALIDATE_INT); + if ($pageId == MEMBERS_TRAIL_PAGE) { + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'include_members', + 'display' => "Members", + 'opts' => "Include Members On Page", + 'val' => array(0, 1) + ); + $e[] = array( + 'type' => 'html', + 'req' => false, + 'name' => ' + + + To include all members, turn this feature on and + don\'t select categories or regions below.
+ To restrict to specific categories, select desired + categories under Category Filter.
+ To restrict to specific regions, select desired + regions under Region Filter. + + ' + ); + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'include_member_map', + 'display' => "Google Map", + 'opts' => "Include Map On Page", + 'val' => array(0, 1) + ); + $e[] = array( + 'type' => 'hidden', + 'req' => false, + 'name' => 'search_form', + 'display' => "Search Box", + 'opts' => 1,//'Include Search Box', + 'val' => 1//array(0, 1) + ); + } else { + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'include_members', + 'display' => "Members", + 'opts' => "Include Members On Page", + 'val' => array(0, 1) + ); + $e[] = array( + 'type' => 'html', + 'req' => false, + 'name' => ' + + + To include all members, turn this feature on and + don\'t select categories or regions below.
+ To restrict to specific categories, select desired + categories under Category Filter.
+ To restrict to specific regions, select desired + regions under Region Filter. + + ' + ); + // Note that we call to populate this select list at the + // bottom of this function after the element is made + // so we load attributes (classes) into each option as needed. + $e[] = array( + 'type' => 'select', + 'req' => false, + 'name' => 'member_categories', + 'display' => 'Category Filter
(none = all)', + 'opts' => array(), + 'att' => array( + 'multiple' => 'multiple', + 'size' => 7, + 'title' => '-- Select to Add --', + 'id' => 'MemberCategories' + ) + ); + if ($hasRegions) { + $e[] = array( + 'type' => 'select', + 'req' => false, + 'name' => 'member_regions', + 'display' => 'Region Filter
(none = all)', + 'opts' => array(), + 'att' => array( + 'multiple' => 'multiple', + 'size' => 7, + 'title' => '-- Select to Add --', + 'id' => 'MemberRegions' + ) + ); + } + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'include_member_map', + 'display' => "Google Map", + 'opts' => "Include Map On Page", + 'val' => array(0, 1) + ); + $e[] = array( + 'type' => 'advcheckbox', + 'req' => false, + 'name' => 'search_form', + 'display' => "Search Box", + 'opts' => 'Include Search Box', + 'val' => array(0, 1) + ); } - $e[] = array( - 'type' => 'advcheckbox', - 'req' => false, - 'name' => 'include_member_map', - 'display' => "Google Map", - 'opts' => "Include Map On Page", - 'val' => array(0, 1) - ); - $e[] = array( - 'type' => 'advcheckbox', - 'req' => false, - 'name' => 'search_form', - 'display' => "Search Box", - 'opts' => 'Include Search Box', - 'val' => array(0, 1) - ); } if (!is_null($cpnRoot)) { @@ -942,6 +985,10 @@ class Toolkit_Toolbox_Forms_EditPage */ public function loadMemberCategories(PDO $dbh) { + $pageId = filter_var($_REQUEST['id'], FILTER_VALIDATE_INT); + if ($pageId == MEMBERS_TRAIL_PAGE) { + return; + } try { // Get a tree list of categories in linear order with // category keys in the values and their level in the tree @@ -997,6 +1044,10 @@ class Toolkit_Toolbox_Forms_EditPage */ public function loadMemberRegions(PDO $dbh) { + $pageId = filter_var($_REQUEST['id'], FILTER_VALIDATE_INT); + if ($pageId == MEMBERS_TRAIL_PAGE) { + return; + } try { // Get all the data about each category $sql = " diff --git a/templates/template.html b/templates/template.html index b533bff..0a09a6a 100755 --- a/templates/template.html +++ b/templates/template.html @@ -58,35 +58,55 @@
166

Trails Reviewed

-
- + + activitySearch as $id => $label) { + echo ''; + }?> - + + parkSearch as $id => $label) { + echo ''; + }?> - + + regionSearch as $id => $label) { + echo ''; + }?> - + + countySearch as $id => $label) { + echo ''; + }?>