Plugin Directory

Changeset 3310401


Ignore:
Timestamp:
06/12/2025 10:10:04 AM (9 months ago)
Author:
a3rev
Message:

Release new version 1.4.3

  • This maintenance release has 1 bug fix and compatibility with WordPress 6.8.1 and WooCommerce 9.9.3
  • Tweak - Tested for compatibility with WordPress 6.8.1
  • Tweak - Tested for compatibility with WooCommerce 9.9.3
  • Fix - Validate args before generate sql command
Location:
predictive-search/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • predictive-search/trunk/assets/js/predictive-search-popup.backbone.js

    r3026164 r3310401  
    145145            }.bind( this ));
    146146
     147            let wpps_bar = null;
    147148            var ps_id = $( this.predictive_search_input ).data('ps-id');
    148             var wpps_bar = $( '.wpps_bar-' + ps_id );
     149            if ( '' != ps_id ) {
     150                wpps_bar = $( '.wpps_bar-' + ps_id );
     151            } else {
     152                wpps_bar = $( this.predictive_search_input ).parents('.wpps_bar');
     153            }
    149154
    150155            if ( this.original_ps_search_other == '' ) {
  • predictive-search/trunk/assets/js/predictive-search-popup.backbone.min.js

    r3026164 r3310401  
    1 jQuery(document).ready(function(a){var b=wpps_vars.legacy_api_url,c=wpps_vars.permalink_structure,d=wpps_vars.search_page_url,e=wpps_vars.minChars,f=wpps_vars.delay,g=24,h=!0,i=!0,j="fadeInUpBig";"undefined"!=typeof wpps_vars.cache_timeout&&(g=wpps_vars.cache_timeout),"undefined"!=typeof wpps_vars.is_debug&&"yes"!=wpps_vars.is_debug&&(h=!1),"undefined"!=typeof wpps_vars.allow_result_effect&&"yes"!=wpps_vars.allow_result_effect&&(i=!1),"undefined"!=typeof wpps_vars.show_effect&&(j=wpps_vars.show_effect),h&&console.log("Predictive Search -- DEBUG");var k={apps:{},models:{},collections:{},views:{}};_.templateSettings={evaluate:/[<{][%{](.+?)[%}][}>]/g,interpolate:/[<{][%{]=(.+?)[%}][}>]/g,escape:/[<{][%{]-(.+?)[%}][}>]/g},k.models.Item=Backbone.Model.extend({defaults:{title:"Empty Post",keyword:"",url:null,image_url:null,description:null,categories:[],type:"post",status:!0,...wpps_vars.item_extra_data}}),k.collections.Items=Backbone.Collection.extend({model:k.models.Item,totalItems:function(){return this.where({status:!0}).length},haveItems:function(a){return this.where({type:a}).length}}),k.views.Item=Backbone.View.extend({tagName:"li",className:function(){switch(this.model.get("type")){case"nothing":return"ac_odd nothing";default:return"ac_odd";}},itemTpl:_.template(a("#wp_psearch_itemTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),footerSidebarTpl:_.template(a("#wp_psearch_footerSidebarTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),footerHeaderTpl:_.template(a("#wp_psearch_footerHeaderTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),initialize:function(){this.listenTo(this.model,"destroy",this.remove)},render:function(){switch(this.model.get("type")){case"header":this.$el.html("<div class=\"ajax_search_content_title\">"+this.model.get("title")+"</div>");break;case"footerSidebar":this.$el.html(this.footerSidebarTpl(this.model.toJSON()));break;case"footerHeader":this.$el.html(this.footerHeaderTpl(this.model.toJSON()));break;case"footerCustom":this.$el.html(_.template(a("#wp_psearch_footerCustomTpl_"+this.model.get("templateID")).html().replace("/*<![CDATA[*/","").replace("/*]]>*/",""))(this.model.toJSON()));break;case"nothing":this.$el.html("<div class=\"ajax_no_result\">"+this.model.get("title")+"</div>");break;default:i?this.$el.html(this.itemTpl(this.model.toJSON())).addClass("animated "+j).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){a(this).removeClass("animated "+j)}):this.$el.html(this.itemTpl(this.model.toJSON()));}return this}}),k.views.PopupResult=Backbone.View.extend({initialize:function(){this.predictive_search_input=null,this.original_ps_search_other="",this.delaytime=0,this.prepend=!1,this.listenTo(this.collection,"add",this.addItem),this.list_items_container=this.$(".predictive_search_results")},createItems:function(b,c){this.prepend=c,a.each(b,function(a,b){this.collection.add(b)}.bind(this));var d=a(this.predictive_search_input).data("ps-id"),e=a(".wpps_bar-"+d);""==this.original_ps_search_other&&(this.original_ps_search_other=e.data("ps-search_other")),""==this.original_ps_search_in&&(this.original_ps_search_in=e.data("ps-search_in")),ps_search_other=this.original_ps_search_other.split(","),new_ps_search_other=[],new_ps_search_in="",a.each(ps_search_other,function(a,b){0<this.collection.haveItems(b)&&(new_ps_search_other.push(b),""==new_ps_search_in&&(new_ps_search_in=b))}.bind(this)),""!=new_ps_search_in&&(e.data("ps-search_in",new_ps_search_in),a(this.predictive_search_input).parents(".wpps_form").find("input[name=search_in]").val(new_ps_search_in)),0==new_ps_search_other.length&&(new_ps_search_other=[e.data("ps-search_in")]),e.data("ps-search_other",new_ps_search_other.join(",")),a(this.predictive_search_input).parents(".wpps_form").find("input[name=search_other]").val(new_ps_search_other.join(","))},addItem:function(b){var c=new k.views.Item({model:b}),d=c.render().el;this.prepend?this.list_items_container.prepend(d):this.list_items_container.append(d),a.data(d,"ac_data",b.attributes)},clearAll:function(){return _.invoke(this.collection.where({status:!0}),"destroy"),!1}}),k.apps.App={initialize:function(){a(document).on("click",".wpps_nav_submit_bt",this.goToSearchResultPage),a(".wpps_form").on("keypress",function(a){if(13==a.keyCode)return this.goToSearchResultPage(a),!1}.bind(this)),a(".wpps_category_selector").on("change",function(){a(this).parents(".wpps_container").find(".wpps_nav_facade_label").html(a(this).find("option:selected").text().trim())}).on("focus",function(){a(this).parents(".wpps_container").addClass("wpps_container_active")}).on("blur",function(){a(this).parents(".wpps_container").removeClass("wpps_container_active")}),a(document).on("click",".wpps_mobile_icon",function(){var b=a(this).parents(".wpps_bar"),c=b.data("ps-id"),d=5,e=a(this).offset().top+a(this).find("svg").outerHeight(),f=!1;if(680<window.innerWidth&&(d=b.offset().left,f=b.innerWidth()),a(this).hasClass("active"))a(this).removeClass("active"),b.append(a(".wpps_container-"+c)),a("#wpps_mobile_popup-"+c).remove();else if(a(this).addClass("active"),a("<div class=\"wpps_mobile_popup\" id=\"wpps_mobile_popup-"+c+"\"></div>").appendTo(document.body),b.find(".wpps_container").appendTo(a("#wpps_mobile_popup-"+c)),a("#wpps_mobile_popup-"+c).css({transform:"translate3d("+d+"px, "+e+"px, 0)"}),f){a("#wpps_mobile_popup-"+c).css({width:f+"px"});var g=a("#wpps_mobile_popup-"+c).find(".wpps_form"),h=g.find(".wpps_category_selector").data("ps-cat_max_wide"),i=g.innerWidth()*h/100;g.find(".wpps_nav_facade_label").css("max-width",i)}a(".ac_input_"+c).trigger("ps_mobile_icon_click")}),this.initPredictSearch()},initPredictSearch:function(){a(".wpps_search_keyword").each(function(){a(this).ps_autocomplete(b,{minChars:e,delay:f,cacheTimeout:g,isDebug:h,scrollHeight:2e3,loadingClass:"predictive_loading",highlight:!1},k);var c=a(this).parents(".wpps_bar"),d=c.data("ps-search_in"),i=c.data("ps-search_other");c.find("input[name=search_in]").val(d),c.find("input[name=search_other]").val(i),a(this).result(function(b,c,d){""!=c&&a(this).val(c)})}).on("focus",function(){a(this).parents(".wpps_container").addClass("wpps_container_active")}).on("blur",function(){a(this).parents(".wpps_container").removeClass("wpps_container_active")})},goToSearchResultPage:function(b){var c=a(b.target),d=c.parents(".wpps_container");predictive_search_input=d.find(".wpps_search_keyword"),cat_selected=d.find(".wpps_category_selector option:selected"),""!=predictive_search_input.val()&&predictive_search_input.val()!=predictive_search_input.data("ps-default_text")?d.find(".wpps_form").trigger("submit"):""!==cat_selected.val()&&(cat_href=cat_selected.data("href"),window.location=cat_href)}};var l=k.apps.App;l.initialize()});
     1jQuery(document).ready((function(e){var t=wpps_vars.legacy_api_url,s=(wpps_vars.permalink_structure,wpps_vars.search_page_url,wpps_vars.minChars),i=wpps_vars.delay,a=24,n=!0,p=!0,r="fadeInUpBig";void 0!==wpps_vars.cache_timeout&&(a=wpps_vars.cache_timeout),void 0!==wpps_vars.is_debug&&"yes"!=wpps_vars.is_debug&&(n=!1),void 0!==wpps_vars.allow_result_effect&&"yes"!=wpps_vars.allow_result_effect&&(p=!1),void 0!==wpps_vars.show_effect&&(r=wpps_vars.show_effect);var o={apps:{},models:{},collections:{},views:{}};_.templateSettings={evaluate:/[<{][%{](.+?)[%}][}>]/g,interpolate:/[<{][%{]=(.+?)[%}][}>]/g,escape:/[<{][%{]-(.+?)[%}][}>]/g},o.models.Item=Backbone.Model.extend({defaults:{title:"Empty Post",keyword:"",url:null,image_url:null,description:null,categories:[],type:"post",status:!0,...wpps_vars.item_extra_data}}),o.collections.Items=Backbone.Collection.extend({model:o.models.Item,totalItems:function(){return this.where({status:!0}).length},haveItems:function(e){return this.where({type:e}).length}}),o.views.Item=Backbone.View.extend({tagName:"li",className:function(e){switch(this.model.get("type")){case"nothing":return"ac_odd nothing";default:return"ac_odd"}},itemTpl:_.template(e("#wp_psearch_itemTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),footerSidebarTpl:_.template(e("#wp_psearch_footerSidebarTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),footerHeaderTpl:_.template(e("#wp_psearch_footerHeaderTpl").html().replace("/*<![CDATA[*/","").replace("/*]]>*/","")),initialize:function(){this.listenTo(this.model,"destroy",this.remove)},render:function(){switch(this.model.get("type")){case"header":this.$el.html('<div class="ajax_search_content_title">'+this.model.get("title")+"</div>");break;case"footerSidebar":this.$el.html(this.footerSidebarTpl(this.model.toJSON()));break;case"footerHeader":this.$el.html(this.footerHeaderTpl(this.model.toJSON()));break;case"footerCustom":this.$el.html(_.template(e("#wp_psearch_footerCustomTpl_"+this.model.get("templateID")).html().replace("/*<![CDATA[*/","").replace("/*]]>*/",""))(this.model.toJSON()));break;case"nothing":this.$el.html('<div class="ajax_no_result">'+this.model.get("title")+"</div>");break;default:p?this.$el.html(this.itemTpl(this.model.toJSON())).addClass("animated "+r).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",(function(){e(this).removeClass("animated "+r)})):this.$el.html(this.itemTpl(this.model.toJSON()));break}return this}}),o.views.PopupResult=Backbone.View.extend({initialize:function(){this.predictive_search_input=null,this.original_ps_search_other="",this.delaytime=0,this.prepend=!1,this.listenTo(this.collection,"add",this.addItem),this.list_items_container=this.$(".predictive_search_results")},createItems:function(t,s){this.prepend=s,e.each(t,function(e,t){this.collection.add(t)}.bind(this));let i=null;var a=e(this.predictive_search_input).data("ps-id");i=""!=a?e(".wpps_bar-"+a):e(this.predictive_search_input).parents(".wpps_bar"),""==this.original_ps_search_other&&(this.original_ps_search_other=i.data("ps-search_other")),""==this.original_ps_search_in&&(this.original_ps_search_in=i.data("ps-search_in")),ps_search_other=this.original_ps_search_other.split(","),new_ps_search_other=[],new_ps_search_in="",e.each(ps_search_other,function(e,t){this.collection.haveItems(t)>0&&(new_ps_search_other.push(t),""==new_ps_search_in&&(new_ps_search_in=t))}.bind(this)),""!=new_ps_search_in&&(i.data("ps-search_in",new_ps_search_in),e(this.predictive_search_input).parents(".wpps_form").find("input[name=search_in]").val(new_ps_search_in)),0==new_ps_search_other.length&&(new_ps_search_other=[i.data("ps-search_in")]),i.data("ps-search_other",new_ps_search_other.join(",")),e(this.predictive_search_input).parents(".wpps_form").find("input[name=search_other]").val(new_ps_search_other.join(","))},addItem:function(t){var s=new o.views.Item({model:t}).render().el;this.prepend?this.list_items_container.prepend(s):this.list_items_container.append(s),e.data(s,"ac_data",t.attributes)},clearAll:function(){return _.invoke(this.collection.where({status:!0}),"destroy"),!1}}),o.apps.App={initialize:function(){e(document).on("click",".wpps_nav_submit_bt",this.goToSearchResultPage),e(".wpps_form").on("keypress",function(e){if(13==e.keyCode)return this.goToSearchResultPage(e),!1}.bind(this)),e(".wpps_category_selector").on("change",(function(){e(this).parents(".wpps_container").find(".wpps_nav_facade_label").html(e(this).find("option:selected").text().trim())})).on("focus",(function(){e(this).parents(".wpps_container").addClass("wpps_container_active")})).on("blur",(function(){e(this).parents(".wpps_container").removeClass("wpps_container_active")})),e(document).on("click",".wpps_mobile_icon",(function(){var t=e(this).parents(".wpps_bar"),s=t.data("ps-id"),i=5,a=e(this).offset().top+e(this).find("svg").outerHeight(),n=!1;if(window.innerWidth>680&&(i=t.offset().left,n=t.innerWidth()),e(this).hasClass("active"))e(this).removeClass("active"),t.append(e(".wpps_container-"+s)),e("#wpps_mobile_popup-"+s).remove();else if(e(this).addClass("active"),e('<div class="wpps_mobile_popup" id="wpps_mobile_popup-'+s+'"></div>').appendTo(document.body),t.find(".wpps_container").appendTo(e("#wpps_mobile_popup-"+s)),e("#wpps_mobile_popup-"+s).css({transform:"translate3d("+i+"px, "+a+"px, 0)"}),n){e("#wpps_mobile_popup-"+s).css({width:n+"px"});var p=e("#wpps_mobile_popup-"+s).find(".wpps_form"),r=p.find(".wpps_category_selector").data("ps-cat_max_wide"),o=p.innerWidth()*r/100;p.find(".wpps_nav_facade_label").css("max-width",o)}e(".ac_input_"+s).trigger("ps_mobile_icon_click")})),this.initPredictSearch()},initPredictSearch:function(){e(".wpps_search_keyword").each((function(){e(this).ps_autocomplete(t,{minChars:s,delay:i,cacheTimeout:a,isDebug:n,scrollHeight:2e3,loadingClass:"predictive_loading",highlight:!1},o);var p=e(this).parents(".wpps_bar"),r=p.data("ps-search_in"),_=p.data("ps-search_other");p.find("input[name=search_in]").val(r),p.find("input[name=search_other]").val(_),e(this).result((function(t,s,i){""!=s&&e(this).val(s)}))})).on("focus",(function(){e(this).parents(".wpps_container").addClass("wpps_container_active")})).on("blur",(function(){e(this).parents(".wpps_container").removeClass("wpps_container_active")}))},goToSearchResultPage:function(t){var s=e(t.target).parents(".wpps_container");predictive_search_input=s.find(".wpps_search_keyword"),cat_selected=s.find(".wpps_category_selector option:selected"),""!=predictive_search_input.val()&&predictive_search_input.val()!=predictive_search_input.data("ps-default_text")?s.find(".wpps_form").trigger("submit"):""!==cat_selected.val()&&(cat_href=cat_selected.data("href"),window.location=cat_href)}},o.apps.App.initialize()}));
  • predictive-search/trunk/includes/class-wp-predictive-search.php

    r2798638 r3310401  
    147147
    148148    public function general_sql( $main_sql ) {
     149        if ( empty( $main_sql ) ) {
     150            return '';
     151        }
    149152
    150153        $select_sql = '';
     
    295298        }
    296299
    297         $main_sql = array_merge_recursive( $main_sql, $term_relationships_sql );
    298         $main_sql = array_merge_recursive( $main_sql, $wpml_sql );
    299         $main_sql = array_merge_recursive( $main_sql, $ps_keyword_sql );
    300         $main_sql = array_merge_recursive( $main_sql, $postmeta_sql );
     300        if ( ! is_array( $main_sql ) ) {
     301            $main_sql = array();
     302        }
     303
     304        if ( is_array( $term_relationships_sql ) ) {
     305            $main_sql = array_merge_recursive( $main_sql, $term_relationships_sql );
     306        }
     307
     308        if ( is_array( $wpml_sql ) ) {
     309            $main_sql = array_merge_recursive( $main_sql, $wpml_sql );
     310        }
     311
     312        if ( is_array( $ps_keyword_sql ) ) {
     313            $main_sql = array_merge_recursive( $main_sql, $ps_keyword_sql );
     314        }
     315
     316        if ( is_array( $postmeta_sql ) ) {
     317            $main_sql = array_merge_recursive( $main_sql, $postmeta_sql );
     318        }
    301319
    302320        $sql = $this->general_sql( $main_sql );
     
    312330
    313331        $sql = $this->get_post_search_sql( $search_keyword, 1, 0, $wpps_search_focus_enable, $wpps_search_focus_plugin, $post_type, $term_id, $current_lang, true );
     332
     333        if ( empty( $sql ) ) {
     334            return false;
     335        }
    314336
    315337        $sql = "SELECT EXISTS( " . $sql . ")";
     
    479501        }
    480502
     503        if ( ! is_array( $main_sql ) ) {
     504            $main_sql = array();
     505        }
    481506        $main_sql = array_merge_recursive( $main_sql, $wpml_sql );
    482507
     
    493518
    494519        $sql = $this->get_taxonomy_search_sql( $search_keyword, 1, 0, $taxonomy, $current_lang, true );
     520
     521        if ( empty( $sql ) ) {
     522            return false;
     523        }
    495524
    496525        $sql = "SELECT EXISTS( " . $sql . ")";
  • predictive-search/trunk/readme.txt

    r3280749 r3310401  
    44Tags: WordPress search, Predictive Search, Live Search, Elementor Search
    55Requires at least: 6.0
    6 Tested up to: 6.8
     6Tested up to: 6.8.1
    77Stable tag: 1.4.2
    88License: GPLv3
     
    107107== Changelog ==
    108108
     109= 1.4.3 - 2025/06/12 =
     110* This maintenance release has 1 bug fix and compatibility with WordPress 6.8.1 and WooCommerce 9.9.3
     111* Tweak - Tested for compatibility with WordPress 6.8.1
     112* Tweak - Tested for compatibility with WooCommerce 9.9.3
     113* Fix - Validate args before generate sql command
     114
    109115= 1.4.2 - 2025/04/24 =
    110116* This maintenance release has a bug fix plus tested for compatibility with WordPress 6.8
     
    218224== Upgrade Notice ==
    219225
     226= 1.4.3 =
     227This maintenance release has 1 bug fix and compatibility with WordPress 6.8.1 and WooCommerce 9.9.3
     228
    220229= 1.4.2 =
    221230This maintenance release has a bug fix plus tested for compatibility with WordPress 6.8
  • predictive-search/trunk/wp-predictive-search.php

    r3280749 r3310401  
    33Plugin Name: Predictive Search
    44Description: Predictive Search - featuring "Smart Search" technology. Give your store customers the most awesome search experience on the web via widgets, shortcodes, Search results pages and the Predictive Search function.
    5 Version: 1.4.2
     5Version: 1.4.3
    66Author: a3rev Software
    77Author URI: https://a3rev.com/
    88Requires at least: 6.0
    9 Tested up to: 6.8
     9Tested up to: 6.8.1
    1010Text Domain: wp-predictive-search
    1111Domain Path: /languages
     
    3939define( 'WPPS_KEY', 'wp_predictive_search' );
    4040define( 'WPPS_PREFIX', 'wp_predictive_search_' );
    41 define( 'WPPS_VERSION', '1.4.2' );
     41define( 'WPPS_VERSION', '1.4.3' );
    4242define( 'WPPS_G_FONTS', true );
    4343
Note: See TracChangeset for help on using the changeset viewer.