Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[AJAX] Live Search Details »»
[AJAX] Live Search
Version: 4.0.6, by mad@Max mad@Max is offline
Developer Last Online: Jun 2013 Show Printable Version Email this Page

Category: Add-On Releases - Version: 4.0.x Rating:
Released: 02-09-2010 Last Update: 05-28-2010 Installs: 327
Uses Plugins Template Edits Auto-Templates
Additional Files  
No support by the author.

Description: Search without reload pages: by threads, by users with many sort criteria.

Features:
  • search only, if typed >= 3 symbols;
  • header to window with button close;
  • message about no result;
  • limit number of threads;
  • highlight words in result
  • trim title of thread, if it large (optional)
  • edit position of pop-up window
  • work with vBadvanced
  • limit the number of displayed results
  • group permission
  • search by your own forums
  • sort results of search
  • mod makes only one query to db
  • full compatibility with styles and browsers
  • search by individual words
  • integrate option into standard search
  • search only the specified length of each word
  • users search
  • interval requests
  • wrote 2 js class
  • able to drag'n'drop window
  • Search by threads now produced on an index table thread (fulltext - optional), which increases the speed of search
  • Changed the type of floating window (refused vbmenu)
  • popup transplanted to the div's in tact vb4 (tried to get the maximum sync with the style and API)
  • (for non english users) offer the ability to change the keyboard layout: if by the word search returns zero results, it will try to verify whether the correct layout are the words, checking every word of the existence of the database as a dictionary. In functions_livesearch.php you can find table of characters

Installation:
Upload all files from folder upload to forum folder.
Import product.

History:
4.0.0 - initial release
4.0.1 - fixed some issues, compatibility with 4.0.x
4.0.5 - rewrote js engine
4.0.6 - fix bug with chrome, fix overlay, some js optimization
If you like this hack, please, click INSTALL and Nominate for MOTM

Download Now

File Type: zip [AJAX] Live Search Eng v4.0.6.zip (12.9 KB, 1854 views)

Screenshots

File Type: png lsa4.png (36.5 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
5 благодарности(ей) от:
btedition, caoanh204, Elric, Slowpoked

Comments
  #192  
Old 08-21-2011, 05:08 PM
apn3a apn3a is offline
 
Join Date: Oct 2004
Location: Athens Greece
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It is unfair for us we need some useful and fancy mod. Joomla, a free software has a lot of them

Our vb search engine make no sense some time. We have to use advanced searches methods

Anyway :-)
Reply With Quote
  #193  
Old 08-30-2011, 02:55 PM
heugabel heugabel is offline
 
Join Date: May 2006
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
Datenbankfehler in vBulletin 4.1.5:
 
Invalid SQL:
 
     SELECT thread.threadid, thread.lastpostid, thread.forumid AS tforumid, thread.title AS ttitle, forum.title AS ftitle
     FROM thread AS thread
     LEFT JOIN forum AS forum ON(thread.forumid = forum.forumid)
     WHERE MATCH(thread.title) AGAINST (' +Live +Suche' IN BOOLEAN MODE)
     AND thread.forumid IN (8lsasort=lastpost)
     AND thread.forumid NOT IN (0,89,90,92,214,180,181,248,182,256,262,259,257,260,261,258,186,183,184,226,227,91,263,407,408,213,265,266,267,268,209,211,133,326,134,392,393,394,396,409,301,302,308,382,309,310,311,32,33,329,398,197,315,318,316,317,411,399,400,242,221,269,228)
     AND thread.lastpostid > 0
     ORDER BY thread.lastpost DESC
     LIMIT 50;
 
MySQL-Fehler  : Unknown column '8lsasort' in 'where clause'
Fehler-Nr.    : 1054
Fehler-Zeit   : Tuesday, 30.08.2011 @ 07:24:36
Datum         : Tuesday, 30.08.2011 @ 07:24:36
Skript        : http://www.xxxxxxxxxxxx.com/ajaxlivesearch.php?do=search
Referrer      : http://www.xxxxxxxxx.com/
Benutzername  : xxxxxxx
Klassenname   : vB_Database
MySQL-Version :
Reply With Quote
  #194  
Old 08-31-2011, 08:48 AM
japancars japancars is offline
 
Join Date: Nov 2008
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is it possible that the search option box is normally not collapsed?
So standard open...
What should i change?
Reply With Quote
  #195  
Old 09-05-2011, 11:28 AM
n0obiest n0obiest is offline
 
Join Date: Jan 2011
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How to remove advance search Box when press enter on search box ?
Reply With Quote
  #196  
Old 09-19-2011, 10:08 AM
CILGINKRAL_'s Avatar
CILGINKRAL_ CILGINKRAL_ is offline
 
Join Date: May 2007
Location: Turkey
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very nice, Thank you mad@Max !
Reply With Quote
  #197  
Old 10-17-2011, 10:10 AM
sticky sticky is offline
 
Join Date: Sep 2003
Posts: 934
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Adrian Schneider View Post
Noticed the above still had some problems with Chrome.

Updated to 4.0.6, ran it through an un-minifier, and ended up with this:

Code:
/**
 * [YUI] Live Search Main Script Version 4.0.5
 * 
 * @author mad@Max
 */
(function() {
    var g = YAHOO.util, e = g.Dom, c = g.Event, i = YAHOO.lang;
    i
            .augmentObject(
                    YAHOO.vBulletin.lsa,
                    {
                        init : function() {
                            c.removeListener(this.textobj, "focus", this.start);
                            c.on(this.textobj, "blur", this.winop, this, true);
                            c.on(this.textobj, "focus", this.winop, this, true);
                            c.on(this.textobj, "keyup", function(a) {
                                a = a || window.event;
                                PHP.in_array(a.keyCode || a.which, [ 37, 39,
                                        32, 36, 35 ]) > -1
                                        || this.get()
                            }, this, true);
                            c.on("lsarld", "click", this.get, this, true);
                            c.on("lsacls", "click", this.winop, this, true)
                        },
                        load : function() {
                            YAHOO.util.Connect
                                    .asyncRequest(
                                            "POST",
                                            this.bb
                                                    + "/ajaxlivesearch.php?do=lsawin",
                                            {
                                                success : function(a) {
                                                    if (a.responseXML) {
                                                        this.cont = document
                                                                .createElement("div");
                                                        this.cont.id = "lsa_cont";
                                                        this.cont.style.position = "absolute";
                                                        this.cont.style.display = "none";
                                                        this.cont.innerHTML = a.responseXML
                                                                .getElementsByTagName("lsagetwin")[0].firstChild.nodeValue;
                                                        document.body
                                                                .appendChild(this.cont);
                                                        this.textobj.value = "";
                                                        this.resobj = e
                                                                .get("lsa_results");
                                                        this.init();
                                                        (new g.DD(this.cont.id))
                                                                .setHandleElId("lsadd");
                                                        this.winop();
                                                        init_collapsers()
                                                    }
                                                },
                                                failure : vBulletin_AJAX_Error_Handler,
                                                timeout : vB_Default_Timeout,
                                                scope : this
                                            }, SESSIONURL + "securitytoken="
                                                    + SECURITYTOKEN
                                                    + "&do=lsawin")
                        },
                        winop : function(a) {
                            if (this.cont.style.display == "none") {
                                this.textobj.value = "";
                                this.resobj.innerHTML = vbphrase.lsa_wait;
                                this.cont.style.display = "block";
                                center_element(this.cont)
                            } else {
                                if (c.getTarget(do_an_e(a)).id == "lsacls")
                                    this.cont.style.display = "none";
                                this.textobj.value = this.textobj.value
                                        || vbphrase.live_search
                            }
                        },
                        get : function() {
                            var a = PHP.trim(this.textobj.value), h = e
                                    .get("lsawithword").value > 0, b = "";
                            if (a.length >= this.min) {
                                b = a;
                                if (!h) {
                                    var d = a.split(" ");
                                    b = "";
                                    for ( var f in d)
                                        d[f].length < this.min
                                                || (b += (b ? " " : "") + d[f])
                                }
                            }
                            if (b.length >= this.min) {
                                if (h || !(d.length > 1 && b != a)) {
                                    this.timeout && this.timeout.cancel();
                                    this.timeout = i.later(500, this,
                                            this.send, b)
                                }
                            } else
                                this.resobj.innerHTML = vbphrase.lsa_wait
                        },
                        send : function(a) {
                            var h = new vB_Hidden_Form(null), b = this.resobj, d = e
                                    .get("lsaloading");
                            h.add_variables_from_object(e.get("lsform"));
                            e.removeClass(d, "hidden");
                            g.Connect.isCallInProgress(this.req)
                                    && g.Connect.abort(this.req);
                            var f = new vB_AJAX_Handler(true);
                            f.callback = function(j) {
                                e.addClass(d, "hidden");
                                b.innerHTML = j.responseXML
                                        .getElementsByTagName("ajaxlivesearch")[0].firstChild.nodeValue
                            };
                            
                            var sendData = "&do=search&"
                                + h
                                .build_query_string()
                                .replace(
                                        /lsazone=([a-z0-9]+)&/g,
                                        function(j,k,l) { 
                                            try {
                                                var test = RegExp.rightContext;

                                            } catch (e) {
                                                return (l == 24 ? "lsazone="
                                                        : ",") + k + '';
                                            }
                                            return (
                                                    l == 24 ? "lsazone="
                                                    : ",")
                                                    + k
                                                    + (RegExp.rightContext
                                                            .search(/^lsasort/) == 0 ? "&"
                                                            : "");
                                        })
                        + "keyword="
                        + PHP.urlencode(a);
                            
                            
                            
                            f
                                    .send(
                                            "ajaxlivesearch.php?do=search",
                                            sendData );
                            this.req = f.conn
                        }
                    })
})();
Really quick and dirty. Looks like the RegExp.rightContext chokes under that one condition in Chrome. Used a try/catch to handle it prior.

HTH
Is this fix incorporated into the mod or does it need to be done separately?
Reply With Quote
  #198  
Old 11-04-2011, 10:44 PM
Mike-D Mike-D is offline
 
Join Date: Jan 2006
Location: Cologne / Germany
Posts: 270
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Maxim,
I have had your great AddOn since the first release of vB 3.7 and it worked always great without any problems. I'm happy to see that you have released it for the newest vB version and I hope it works great

Thank you for all. Installed and nominated for sure as always It's one of the best AddOn ever!!!
Reply With Quote
  #199  
Old 11-22-2011, 05:51 PM
Mike-D Mike-D is offline
 
Join Date: Jan 2006
Location: Cologne / Germany
Posts: 270
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Speedster123 View Post
Not working with Chrome, vB 4.1.0
I totally agree with you I just noticed it but the mainpoint is: It works with Firefox
Reply With Quote
  #200  
Old 01-19-2012, 06:26 PM
tpearl5's Avatar
tpearl5 tpearl5 is offline
 
Join Date: Nov 2001
Location: PA
Posts: 1,014
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mahakala View Post
how can i open the search-box directly under the search-bar (input) ?
I was wondering the same thing - right now the box pops up in the middle of the browser window.
Reply With Quote
  #201  
Old 01-25-2012, 04:03 PM
tpearl5's Avatar
tpearl5 tpearl5 is offline
 
Join Date: Nov 2001
Location: PA
Posts: 1,014
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mike-D View Post
I totally agree with you I just noticed it but the mainpoint is: It works with Firefox
Actually it does work if you use the unminified js files which are in the main folder.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:38 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04814 seconds
  • Memory Usage 2,364KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (4)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete