From: Steve Sutton Date: Mon, 4 Feb 2019 21:46:48 +0000 (-0500) Subject: Update query for cities and create correct one for regions for event search. X-Git-Tag: v1.7.19^2~3 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=f9b074644c445b71b893d38a924db17964769d0e;p=WP-Plugins%2Fglm-member-db-events.git Update query for cities and create correct one for regions for event search. The city and region search should only show the events cities or event regions (including member locations). --- diff --git a/models/front/events/list.php b/models/front/events/list.php index 58a6384..9e48028 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -76,17 +76,41 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $this->notInCat = array(); $pdfCategoryList = ''; - $defaultViewFile = ( $this->config['settings']['default_agenda_view'] ) ? $this->config['settings']['default_agenda_view'] . '.html' : 'agenda.html'; + $defaultViewFile = ( $this->config['settings']['default_agenda_view'] ) + ? $this->config['settings']['default_agenda_view'] . '.html' + : 'agenda.html'; // Get list cities to search by - require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataCities.php'; - $cities = new GlmDataCities( $this->wpdb, $this->config ); - $cityData = $cities->getList( null, 'name' ); + $citySql = " + SELECT C1.id,C1.name + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "cities C1 + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations EL ON ( EL.city = C1.id ) + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E ON ( E.id = EL.event ) + WHERE E.use_member_location <> true + UNION + SELECT C2.id,C2.name + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "cities C2 + LEFT OUTER JOIN " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info MI ON ( MI.city = C2.id ) + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E ON ( E.ref_dest = MI.member ) + WHERE E.use_member_location = true + ORDER BY name"; + $cityData = $this->wpdb->get_results( $citySql, ARRAY_A ); // Get list of regions to search by - require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataRegions.php'; - $regions = new GlmDataRegions( $this->wpdb, $this->config ); - $regionData = $regions->getList( null, 'name' ); + $regionSql = " + SELECT C1.id,C1.name + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "regions C1 + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations EL ON ( EL.region = C1.id ) + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E ON ( E.id = EL.event ) + WHERE E.use_member_location <> true + UNION + SELECT C2.id,C2.name + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "regions C2 + LEFT OUTER JOIN " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info MI ON ( MI.region = C2.id ) + LEFT OUTER JOIN " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E ON ( E.ref_dest = MI.member ) + WHERE E.use_member_location = true + ORDER BY name"; + $regionData = $this->wpdb->get_results( $regionSql, ARRAY_A ); // If there's a pageslug as attribute then update the pageSlug if ( isset ( $actionData['request']['pageslug'] ) ) {