Advertisement
cgrunwald

Untitled

Nov 30th, 2010
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           Filter Google Results
  3. // @namespace      com.juntalis.google
  4. // @description    Filter Results from Google Results Page
  5. // @include        http://www.google.com/search*
  6. // @require         http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
  7. // @resource    overlay overlay.css
  8. // @resource    overlayb    overlay.html
  9. // @resource    settings    settings.json
  10. // ==/UserScript==
  11.  
  12. //(function () {
  13.    
  14.     Signal = function(cmd) {
  15.         this.CMDADD = function() {
  16.             var _pattern = $("#TxtExclPattern").val();
  17.             if(_pattern.length == 0) {
  18.                 alert('Pattern box cannot be empty.');
  19.                 return;
  20.             }
  21.             _settings.push(_pattern);
  22.             $("#TxtExclPattern").val("");
  23.         };
  24.         this.CMDOKAY = function() {
  25.             if(_settings.length != 0) {
  26.                 var _patterns = "_settings = [\"" + _settings.join("\",\"") + "\"];";
  27.                 GM_setValue("patterns", escape(_patterns));
  28.             }
  29.             (Signal("CMDCANCEL"))();
  30.         };
  31.         this.CMDCANCEL = function() {
  32.             _gui.remove();
  33.             _gui = null;
  34.         };
  35.         this.CMDSHOWCONFIG = function() {
  36.             // Finally, style it.
  37.             _gui = $("<div id=\"juntscg\" />")
  38.                 .css("display", "none")
  39.                 .appendTo("body")
  40.                 .html (GM_getResourceText("overlayb"))
  41.                 .find("button")
  42.                 .each(function() {$(this).click(Signal($(this).attr("id")));})
  43.                 .parent()
  44.                 .parent()
  45.                 .parent();
  46.             GM_addStyle(GM_getResourceText("overlay"));
  47.         };
  48.         this.CMDCLEAR = function() {
  49.             _settings = [];
  50.             GM_setValue("patterns", "");
  51.         }
  52.         return this[cmd];
  53.     };
  54.    
  55.     /* Globals */
  56.     var _gui;
  57.    
  58.     /* Prebuild our GUI. */
  59.     // Set up GUI and bind events.
  60.    
  61.    
  62.     /* Settings stuff */
  63.     // Load settings.
  64.     var _settings = GM_getValue("patterns","");
  65.     if(_settings.length <= 0) {
  66.         _settings = [];
  67.         (Signal("CMDSHOWCONFIG"))();
  68.     } else {
  69.         eval(unescape(_settings));
  70.         if(typeof _settings != "object") {
  71.             GM_setValue("patterns", "");
  72.             _settings = [];
  73.             (Signal("CMDSHOWCONFIG"))();
  74.         } else {
  75.             $("h3.r a").each(function() {
  76.                 var _result = $(this);
  77.                 jQuery.each(_settings, function(_i,_v) {
  78.                     var _rgxp = new RegExp(_v,"i");
  79.                     if(_result.attr("href").match(_rgxp)) {
  80.                         _result.parent().parent().remove();
  81.                     }
  82.                 });
  83.             });
  84.         }
  85.     }
  86.     GM_registerMenuCommand("Show Google Filter Settings", Signal("CMDSHOWCONFIG"));
  87. //}());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement