testing of search widget ajax function without any sql still proves to be slow, indic...
authorAnthony Talarico <talarico@gaslightmedia.com>
Tue, 2 May 2017 13:32:49 +0000 (09:32 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Tue, 2 May 2017 13:32:49 +0000 (09:32 -0400)
probably a network issue in combination with the slow ajax front end

removed the test code and replaced the original sql queries in ajax-search.php

lib/ajax-search.php

index 1457fbd..afd4478 100644 (file)
@@ -248,39 +248,39 @@ var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
              
         }else if( isset($_REQUEST['destination']) ){
 
-//            $destination_id = isset($_REQUEST['destination'] )? filter_var($_REQUEST['destination'],FILTER_SANITIZE_STRING) : '';
-//             
-//            $activity_id = $_REQUEST['others']['activity'] !== '' ? filter_var($_REQUEST['others']['activity'],FILTER_SANITIZE_STRING) : '';
-//            $park_id = $_REQUEST['others']['park'] !== '' ? filter_var($_REQUEST['others']['park'],FILTER_SANITIZE_STRING) : '';
-//           
-//            if($destination_id !== 'false'){
-//                 $sql = " SELECT CM.category, CAT.name, CAT.parent
-//                     FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info MI,
-//                       ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info CM,
-//                       ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories CAT";
-//             
-//                $where = " WHERE CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $destination_id) AND MI.status = 10 AND CM.category = CAT.id";
-//                
-//                if($activity_id !== ''){
-//                    $where .= " AND CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $activity_id) AND MI.status = 10 AND CM.category = CAT.id";
-//                }
-//                if($park_id !== ''){
-//                     $where .= " AND CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $park_id) AND MI.status = 10 AND CM.category = CAT.id";
-//                }
-//                $group_by = ' GROUP BY CM.category';
-//                
-//                $query = $sql . $where . $group_by;
-//
-//            }
-//
-//            $results = $wpdb->get_results($query, ARRAY_A);
-//             foreach($results as $key=>$value){
-//                 $parent = $value['parent'];
-//                 $sql = "SELECT name FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories WHERE id = $parent;";
-//                 $parent_name = $wpdb->get_var($sql);
-//                 $categories[$parent_name][] = $value;
-//             }
-             $categories = array('Activities'=>array('category'=>8,'parent'=>5,'name'=>'eeee'),'Parks'=>array('category'=>8,'parent'=>5,'name'=>'eeee'));
+            $destination_id = isset($_REQUEST['destination'] )? filter_var($_REQUEST['destination'],FILTER_SANITIZE_STRING) : '';
+             
+            $activity_id = $_REQUEST['others']['activity'] !== '' ? filter_var($_REQUEST['others']['activity'],FILTER_SANITIZE_STRING) : '';
+            $park_id = $_REQUEST['others']['park'] !== '' ? filter_var($_REQUEST['others']['park'],FILTER_SANITIZE_STRING) : '';
+           
+            if($destination_id !== 'false'){
+                 $sql = " SELECT CM.category, CAT.name, CAT.parent
+                     FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info MI,
+                       ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info CM,
+                       ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories CAT";
+             
+                $where = " WHERE CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $destination_id) AND MI.status = 10 AND CM.category = CAT.id";
+                
+                if($activity_id !== ''){
+                    $where .= " AND CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $activity_id) AND MI.status = 10 AND CM.category = CAT.id";
+                }
+                if($park_id !== ''){
+                     $where .= " AND CM.member_info IN (SELECT member_info FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info WHERE category = $park_id) AND MI.status = 10 AND CM.category = CAT.id";
+                }
+                $group_by = ' GROUP BY CM.category';
+                
+                $query = $sql . $where . $group_by;
+
+            }
+
+            $results = $wpdb->get_results($query, ARRAY_A);
+             foreach($results as $key=>$value){
+                 $parent = $value['parent'];
+                 $sql = "SELECT name FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories WHERE id = $parent;";
+                 $parent_name = $wpdb->get_var($sql);
+                 $categories[$parent_name][] = $value;
+             }
+
             $trail_data = array(
                 'categories' => $categories,