Changeset 61 for branches/quick_search

Show
Ignore:
Timestamp:
02/28/09 11:10:21 (3 years ago)
Author:
daris
Message:

quick search: extension is using jquery now + releasing 1.10

Location:
branches/quick_search
Files:
3 added
3 modified

Legend:

Unmodified
Added
Removed
  • branches/quick_search/manifest.xml

    r58 r61  
    44        <id>quick_search</id> 
    55        <title>Quick Search</title> 
    6         <version>1.0.2</version> 
     6        <version>1.1.0</version> 
    77        <description>Allows quickly search for topics and posts</description> 
    88        <author>daris</author> 
    99        <minversion>1.3</minversion> 
    1010        <maxtestedon>1.3.2</maxtestedon> 
     11 
     12        <dependencies> 
     13                <dependency>jquery</dependency> 
     14        </dependencies> 
     15 
    1116        <hooks> 
    1217 
    13                 <hook id="hd_head"><![CDATA[ 
     18                <hook id="hd_head" priority="1"><![CDATA[ 
    1419// If user can search 
    1520if ((!$forum_user['is_admmod'] && $forum_user['g_read_board'] == '1' && $forum_user['g_search'] == '1') || $forum_user['is_admmod']) 
     
    2126        $forum_head['quick_search_js'] = '<script type="text/javascript" src="'.$ext_info['url'].'/scripts.js"></script>'; 
    2227        $forum_head['quick_search_js2'] = '<script type="text/javascript"">var url_search = \''.forum_link($forum_url['search']).'\'; '.$language_js.'</script>'; 
    23         $forum_head['quick_search_css'] = '<link rel="stylesheet" type="text/css" media="screen" href="'.$ext_info['url'].'/style.css" />'; 
     28         
     29        $forum_head['quick_search_base_css'] = '<link rel="stylesheet" type="text/css" media="screen" href="'.$ext_info['url'].'/style.css" />'; 
     30         
     31        if (file_exists($ext_info['path'].'/style/'.$forum_user['style'].'/style.css')) 
     32                $forum_head['quick_search_css'] = '<link rel="stylesheet" type="text/css" media="screen" href="'.$ext_info['url'].'/style/'.$forum_user['style'].'/style.css" />'; 
     33        else 
     34                $forum_head['quick_search_css'] = '<link rel="stylesheet" type="text/css" media="screen" href="'.$ext_info['url'].'/style/Oxygen/style.css" />'; 
     35} 
     36                ]]></hook> 
    2437 
    25         if (strpos($tpl_main, '<body>') !== false) 
    26                 $tpl_main = str_replace('<body>', '<body onload="quick_search_onload();">', $tpl_main); 
    27         else 
    28                 $tpl_main = str_replace('<body', '<body onload="quick_search_onload();"', $tpl_main); 
    29 } 
     38                <hook id="xn_jquery"><![CDATA[ 
     39// If user can search 
     40if ((!$forum_user['is_admmod'] && $forum_user['g_read_board'] == '1' && $forum_user['g_search'] == '1') || $forum_user['is_admmod']) 
     41        $jquery_initiate[] = 'quick_search_onload()'; 
     42 
    3043                ]]></hook> 
    3144 
  • branches/quick_search/scripts.js

    r58 r61  
    44function quick_search_onload() 
    55{ 
    6         if (!document.getElementById('navsearch')) 
     6        if (!$('#navsearch')) 
    77                return; 
    88 
    9         var search = document.getElementById('navsearch').childNodes[0]; 
    10         search.href = 'javascript:void(0);' 
    11         search.onclick = function() { quick_search(); }; 
     9        $('#navsearch > a').attr('href', 'javascript:void(0);'); 
     10        $('#navsearch > a').click(function() { quick_search(); }); 
    1211} 
    1312 
     
    2322        var popup = document.createElement('div'); 
    2423        popup.setAttribute('id', 'quick_search_popup'); 
    25         popup.setAttribute('class', 'brd'); 
    2624 
    27         popup.style.position = 'absolute'; 
    2825        popup.style.left =  pos[0] + 'px'; 
    2926        popup.style.top =  pos[1] + 'px'; 
     27        document.body.appendChild(popup); 
    3028 
    31         popup.onmouseover = function () {quick_search_popup_hovered = true} 
    32         popup.onmouseout = function () {quick_search_popup_hovered = false} 
     29        $('#quick_search_popup').mouseover(function () {quick_search_popup_hovered = true}); 
     30        $('#quick_search_popup').mouseout(function () {quick_search_popup_hovered = false}); 
    3331 
    34         popup.innerHTML = '<div class="main-content"><form id="quick_search_form" action="' + url_search + '" method="get"><div>' + 
     32        $('#quick_search_popup').html('<form id="quick_search_form" action="' + url_search + '" method="get"><div>' + 
    3533                        '<input type="hidden" name="action" value="search" />' +  
    36                         '<input type="text" size="20" id="quick_search" name="keywords" onkeypress="quick_search_onchange(event)" /><input type="submit" value="' + lang_search['Submit search'] + '" name="search" />' + 
     34                        '<input type="text" size="20" id="quick_search" name="keywords" /><input type="submit" value="' + lang_search['Submit search'] + '" name="search" />' + 
    3735                        '</div><div>' + lang_search['Display results'] + ': ' +  
    3836                        '<input type="radio" id="show_as_topics" name="show_as" value="topics" checked="checked" /><label for="show_as_topics">' + lang_search['Show as topics'] + '</label> ' +  
    3937                        '<input type="radio" id="show_as_posts" name="show_as" value="posts" /><label for="show_as_posts">' + lang_search['Show as posts'] + '</label>' +  
    4038                '</div></form>' + 
    41                 '<a href="' + url_search + '">' + lang_search['Perform new search'] + '</a></div>'; 
    42                  
    43         document.body.appendChild(popup); 
     39                '<a href="' + url_search + '">' + lang_search['Perform new search'] + '</a>'); 
    4440         
    45         document.getElementById('quick_search').focus(); 
    46         document.getElementById('quick_search').select(); 
     41        $('#quick_search').focus(); 
     42        $('#quick_search').select(); 
     43         
     44        $('#quick_search_popup').fadeIn('fast'); 
    4745 
    4846        quick_search_popup_hovered = true; 
    4947 
    50         element.onclick = function() { hide_quick_search_popup(); }; 
     48        element.click = function() { $('#quick_search_popup').fadeOut('fast', function() {$(this).remove()}) }; 
    5149 
    52         document.onclick = function() { 
     50        $(document).click(function() { 
    5351                        if (quick_search_popup_hovered == false) 
    54                                 hide_quick_search_popup(); 
    55                 }; 
    56 } 
    57  
    58  
    59 /* 
    60         Hides popup 
    61 */ 
    62 function hide_quick_search_popup() 
    63 { 
    64         popup = document.getElementById('quick_search_popup'); 
    65         if (popup) 
    66                 document.body.removeChild(popup); 
    67  
    68         document.getElementById('navsearch').childNodes[0].onclick = function() { quick_search(); }; 
    69 } 
    70  
    71  
    72  
    73 function quick_search_onchange(e) 
    74 { 
    75         if (e.keyCode == 13) 
    76                 document.getElementById('quick_search_form').submit(); 
     52                                $('#quick_search_popup').fadeOut('fast', function() {$(this).remove()}); 
     53                }); 
    7754} 
    7855 
  • branches/quick_search/style.css

    r58 r61  
    55 
    66#quick_search_popup { 
    7         font-family: Tahoma; 
    8         font-size: 11px; 
    9         padding: 3px; 
    10         padding: 0; 
    11         width: auto; 
    12         min-width: 0; 
     7        position: absolute; 
     8        display: none; 
    139} 
    1410 
     
    2218        display: block; 
    2319} 
     20 
     21#quick_search_popup a, #quick_search_popup a:hover { 
     22        text-decoration: none; 
     23}