Advertisement
ViciousCrow

sgv2filterChrome

Feb 27th, 2015
2,557
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         SGv2 Level filter
  3. // @version      0.1
  4. // @include      http://www.steamgifts.com/
  5. // @match        http://www.steamgifts.com/
  6. // @src          
  7. // @grant        unsafeWindow
  8. // @require http://code.jquery.com/jquery-latest.js
  9. // ==/UserScript==
  10. var l = 1
  11. var max_page = $("[href^='/giveaways/search?page=']")[$("[href^='/giveaways/search?page=']").length-1].getAttribute("data-page-number");
  12.  
  13. function clearNotLevel() {
  14.     var badGibs = document.getElementsByClassName('giveaway__row-inner-wrap');
  15.     var looping = badGibs.length;
  16.     var gibsOk = 0;
  17.     console.log('started clearing')
  18.     for (var i = 0; i < looping; i++) {
  19.         console.log([i]);
  20.         if(typeof badGibs[gibsOk] == 'undefined') {break;}
  21.         if (badGibs[gibsOk].getElementsByClassName('giveaway__column--contributor-level giveaway__column--contributor-level--positive').length > 0) {
  22.             var level = badGibs[gibsOk].getElementsByClassName('giveaway__column--contributor-level giveaway__column--contributor-level--positive')[0].innerText;
  23.             if (level.indexOf('1') == -1 && level.indexOf('2') == -1 && level.indexOf('3') == -1) {
  24.                 console.log('leaving');
  25.                 gibsOk++;
  26.             } else {
  27.                 console.log('removing');
  28.                 badGibs[gibsOk].parentNode.removeChild(badGibs[gibsOk]);
  29.             }
  30.         } else {
  31.             console.log('removing');
  32.             badGibs[gibsOk].parentNode.removeChild(badGibs[gibsOk]);
  33.         }
  34.     }
  35.     //change padding
  36.     for (var i = 0; i<document.styleSheets.length;i++) {
  37.         console.log('changing padding');
  38.         try { document.styleSheets[i].insertRule('.giveaway__row-outer-wrap'+ '{padding:0}', document.styleSheets[i].cssRules.length);
  39.         } catch(err) {try { document.styleSheets[i].addRule(selector, property+':'+value);} catch(err) {}}
  40.     }
  41.     var enteredGibs = document.getElementsByClassName('giveaway__row-inner-wrap is-faded');
  42.     //remove entered
  43.     if(enteredGibs.length > 0) {
  44.         console.log('removing entered');
  45.         for (var i = 0; i < enteredGibs.length; i++) {
  46.             enteredGibs[i].parentNode.removeChild(enteredGibs[i]);
  47.             i--
  48.         }
  49.     }
  50.     badGibs = document.getElementsByClassName('giveaway__row-outer-wrap');
  51.     var max = badGibs.length
  52.     for (var i = 0; i < max; i++) {
  53.         if(badGibs[i].getElementsByClassName('giveaway__row-inner-wrap').length == 0) {
  54.             badGibs[i].parentNode.removeChild(badGibs[i]);
  55.             i--;
  56.             max--;
  57.         }  
  58.     }
  59. };
  60.  
  61. function loadNextPages(){
  62.     if(l<max_page)
  63.     {
  64.         $("#p"+(l)).load("http://www.steamgifts.com/giveaways/search?page="+(l+1)+" .giveaway__row-outer-wrap", function()
  65.         {
  66.             l++;
  67.             loadNextPages();
  68.             console.log('loaded page'+(l))
  69.             if(l==max_page)
  70.             {
  71.                 clearNotLevel();
  72.             }
  73.         });
  74.     }
  75. }
  76.  
  77. function main(){
  78.     //logging vars
  79.     console.log('max pages:'+max_page);
  80.     //clearing main page
  81.     var pinned = document.getElementsByClassName('pinned-giveaways');
  82.     if(pinned.length > 0)
  83.     {  
  84.         pinned[0].parentNode.removeChild(pinned[0]);
  85.     }
  86.     var pinned2 = document.getElementsByClassName('featured__inner-wrap');
  87.     pinned2[0].parentNode.removeChild(pinned2[0]);
  88.     var pinned3 = document.getElementsByClassName('featured__outer-wrap featured__outer-wrap--home');
  89.     pinned3[0].parentNode.removeChild(pinned3[0]);
  90.     var pinned5 = document.getElementsByClassName('page__heading');
  91.     pinned5[0].parentNode.removeChild(pinned5[0]);
  92.     //get giveaway container
  93.     var newContent = document.getElementsByClassName('giveaway__row-outer-wrap');
  94.     var div = newContent[1].parentNode;
  95.     var nowy = [];
  96.     //create containers for loaded pages
  97.     for(i=1; i<max_page; i++)
  98.     {
  99.         nowy[i] = newContent[0].cloneNode(false);
  100.         nowy[i].id = 'p'+i;
  101.         div.appendChild(nowy[i]);
  102.     }
  103.     //load pages
  104.     loadNextPages();
  105. }
  106.  
  107. main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement