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
  #172  
Old 04-27-2011, 02:20 AM
Krusty1231's Avatar
Krusty1231 Krusty1231 is offline
 
Join Date: Jul 2010
Location: Canada
Posts: 366
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Perfect. I installed on 4.1.3 works great!

Thanks for this!
Reply With Quote
  #173  
Old 05-21-2011, 01:20 AM
mishb68 mishb68 is offline
 
Join Date: Sep 2007
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I couldn't get it to work on 4.1.3. I couldn't get the search box (is it supposed to be a pop up?) to appear.
Reply With Quote
  #174  
Old 05-21-2011, 10:27 PM
deinrapde deinrapde is offline
 
Join Date: May 2011
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great work, but i have a idea/problem

if a theard called "supermann" and im searching for "super" or "sup" why the live search dont find anything only if i search "supermann"
Reply With Quote
  #175  
Old 05-23-2011, 09:12 PM
TEMPESTADE TEMPESTADE is offline
 
Join Date: Dec 2010
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

tanks work grate bro
Reply With Quote
  #176  
Old 05-25-2011, 03:14 PM
AttalaEA AttalaEA is offline
 
Join Date: Apr 2011
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This hack dosen't work for me? any help
Reply With Quote
  #177  
Old 05-26-2011, 06:29 AM
AttalaEA AttalaEA is offline
 
Join Date: Apr 2011
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mishb68 View Post
I couldn't get it to work on 4.1.3. I couldn't get the search box (is it supposed to be a pop up?) to appear.
I have the same problem (no pop up) and the search remains same as before installing the Mod!
Reply With Quote
  #178  
Old 06-17-2011, 07:00 PM
Samsine Samsine is offline
 
Join Date: Sep 2008
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

thanks for share this mod.

I use vB 4.1.4
The search works with Opera, IE8, FF and Chrome.

My problems:
1. the function 'collapse' is disabled.
2. Users will find results from invisible / private forums.

Regards
Reply With Quote
  #179  
Old 06-22-2011, 12:46 PM
solohdes solohdes is offline
 
Join Date: Feb 2011
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have installed and works great but I have a problem. This hack have problems with other hack that I have installed, you can see here:



The Filmstrip is over the live search box always. How can I fix it? THe film strip hack is this:

https://vborg.vbsupport.ru/showthread.php?t=264213

I translate the hack to spanish.
Reply With Quote
  #180  
Old 06-23-2011, 05:13 PM
adiabatic adiabatic is offline
 
Join Date: Nov 2010
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can I make this search mod to work with Chrome?

Please help me

Can even pay...
Reply With Quote
  #181  
Old 06-25-2011, 04:33 PM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If anyone is having problems with it not working, it seems that the minifcation is causing some problems on some browsers (all newer, unfortunately).

Here is what we did to make it work:

Replace clientscript/ajax_live_search_init.js (4.0.5) with
Code:
/**
 * [YUI] Live Search Initialise Script Version 4.0.5
 *
 * @author mad@Max
 */
(function() {
    var b = YAHOO.util;
    YAHOO.vBulletin.lsaobj = function(c, a) {
        this.timeout = this.resobj = this.cont = this.req = null;
        this.textobj = b.Dom.get(c);
        this.textobj.value = vbphrase.live_search;
        this.textobj.setAttribute("autocomplete", "off");
        this.min = 3;
        b.Event.on(this.textobj, "focus", this.start, this, true);
        this.bb = location.href.search(/www\./) > -1 ? a.search(/www\./) < 0 ? "http://www."
                + (a.substring(0, 7) == "http://" ? a.substring(7) : a)
                : a
                : a.search(/www\./) > -1 ? a.replace(/www\./, "") : a
    };
    YAHOO.vBulletin.lsaobj.prototype.start = function() {
        this.textobj.value = vbphrase.lsa_loading;
        b.Get.script( [ "clientscript/yui/dragdrop/dragdrop-min.js",
                "clientscript/ajax_live_search-min.js" ], {
            onSuccess : function() {
                this.load()
            },
            scope : this
        })
    }
})();
Replace clientscript/ajax_live_search-min.js (4.0.5) with
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
                            };
                            f
                                    .send(
                                            "ajaxlivesearch.php?do=search",
                                            "&do=search&"
                                                    + h
                                                            .build_query_string()
                                                            .replace(
                                                                    /lsazone=([a-z0-9]+)&/g,
                                                                    function(j,
                                                                            k,
                                                                            l) {
                                                                        return (l == 24 ? "lsazone="
                                                                                : ",")
                                                                                + k
                                                                                + (RegExp.rightContext
                                                                                        .search(/^lsasort/) == 0 ? "&"
                                                                                        : "")
                                                                    })
                                                    + "keyword="
                                                    + PHP.urlencode(a));
                            this.req = f.conn
                        }
                    })
})();
Hopefully this helps!
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 10:57 AM.


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.08247 seconds
  • Memory Usage 2,367KB
  • 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
  • (1)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