Changeset 3986
- Timestamp:
- 09/27/06 23:16:30 (2 years ago)
- Files:
-
- framework3/trunk/data/msfweb/app/helpers/application_helper.rb (modified) (1 diff)
- framework3/trunk/data/msfweb/app/views/exploits/list.rhtml (modified) (3 diffs)
- framework3/trunk/data/msfweb/app/views/exploits/search.rhtml (modified) (1 diff)
- framework3/trunk/data/msfweb/app/views/layouts/windows.rhtml (modified) (1 diff)
- framework3/trunk/data/msfweb/public/images/spinner.gif (added)
- framework3/trunk/data/msfweb/public/javascripts/application.js (modified) (1 diff)
- framework3/trunk/data/msfweb/public/stylesheets/windows.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
framework3/trunk/data/msfweb/app/helpers/application_helper.rb
r3983 r3986 20 20 end 21 21 22 # Return the AJAX livesearch-ready text box and target div container for eacrh results.23 def ajax_livesearch_for(mod)24 my_keyup_event = "window.parent.return_livesearch_results(this.value, '#{mod}', 'search-results')"25 text_field = "<input type=\"text\" onKeyup=\"#{my_keyup_event}\"/>"26 search_target = '<div id="search-results"></div>'27 search_box = '<div id="search-box">' + text_field + search_target + '</div>'28 return search_box29 end30 31 22 end framework3/trunk/data/msfweb/app/views/exploits/list.rhtml
r3983 r3986 1 1 <table> 2 2 <thead> 3 <tr><%= ajax_livesearch_for('exploits')%></tr> 3 <tr> 4 <input id="exploit_search" name="terms" type="text" size="40" value=""/> 5 <img alt="Spinner" id="search_spinner" src="/images/spinner.gif" style="display: none;" /> 6 <div id="search_results"></div> 7 </tr> 4 8 <tr> 5 9 <th>Modules</th> … … 16 20 </td> 17 21 </tr> 18 19 22 <tr class="itemDescription"> 20 23 <td class="itemDescription"><%= m.description %></td> … … 24 27 </tbody> 25 28 </table> 26 27 <script type="text/javascript"> 28 /*new Autocompleter.Local('bands_from_the_70s', 'band_list', [], {});*/ 29 <script> 30 new Form.Element.Observer('exploit_search', 1, 31 function(element, value) {new Ajax.Updater( 32 'search_results', 33 'http://localhost:55555/exploits/search', 34 {asynchronous:true, evalScripts:true, 35 onComplete:function(request) 36 {Element.hide('search_spinner')}, 37 onLoading:function(request) 38 {Element.show('search_spinner')}, 39 method:'post', parameters:'terms=' + value 40 })}) 29 41 </script> framework3/trunk/data/msfweb/app/views/exploits/search.rhtml
r3983 r3986 1 <% if @results %> 2 <ul> 3 <% @results.each do |m| %> 4 <li><%= m.name %></li> 5 <% end %> 6 </ul> 7 <% end %> framework3/trunk/data/msfweb/app/views/layouts/windows.rhtml
r3972 r3986 8 8 <meta name="Copyright" content="(c) 2006, L.M.H <lmh@info-pull.com>" /> 9 9 <%= stylesheet_link_tag "windows" %> 10 <%= javascript_include_tag "prototype" %> 11 <%= javascript_include_tag "effects" %> 10 12 </head> 11 13 framework3/trunk/data/msfweb/public/javascripts/application.js
r3983 r3986 99 99 */ 100 100 101 function return_livesearch_results(terms, mod, target_id) { 102 var search_params = 'terms=' + terms; 103 var myAjaxSearch = new Ajax.Updater( 104 target_id, 105 '/' + mod + '/search', 106 { 107 method: 'get', 108 parameters: search_params, 109 onFailure: alert('Your search for terms "'+terms+'" in '+mod+' failed for some reason.'), 110 evalScripts: true 111 }); 101 function return_livesearch_results() { 102 // ... 112 103 } 113 104 framework3/trunk/data/msfweb/public/stylesheets/windows.css
r3982 r3986 49 49 background: #CAE1FF; 50 50 } 51 52 div.autocomplete { 53 position:absolute; 54 width:250px; 55 background-color:white; 56 border:1px solid #888; 57 margin:0px; 58 padding:0px; 59 } 60 div.autocomplete ul { 61 list-style-type:none; 62 margin:0px; 63 padding:0px; 64 } 65 div.autocomplete ul li.selected { background-color: #ffb;} 66 div.autocomplete ul li { 67 list-style-type:none; 68 display:block; 69 margin:0; 70 padding:2px; 71 height:32px; 72 cursor:pointer; 73 }
