Hide /r/UnexpectedCena

FIND OUT THIS SUNDAY NIGHT AT THE WWE SUUUUPER SLAM (changes /r/UnexpectedCena to /r/videos on reddit)

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name        Hide /r/UnexpectedCena
// @namespace   http://foolmoron.io/
// @version     JOHN_CENA_19.82
// @description FIND OUT THIS SUNDAY NIGHT AT THE WWE SUUUUPER SLAM (changes /r/UnexpectedCena to /r/videos on reddit)
// @match       http://*.reddit.com/*
// @match       https://*.reddit.com/*
// @include     http://*.reddit.com/*
// @include     https://*.reddit.com/*
// @grant       unsafeWindow
// @copyright   2015, foolmoron
// ==/UserScript==

/*
BBBBBBRRRRRRRRRRRRRRAPADOOOOOOOOOOOOOOOOOOOOOOO
  ?          ?
?    ?-----   ?  ?-----
    ?            ?                                                                             
                                                 
                            ;;::                                             
                          ;:      #                                          
                        ','#+'. ``  '                                        
                       .:+       +   '                                       
                      :`#         ,   ,                                      
                      #@          #:# +                                      
                      ,:          ;',``                                      
                      +           .::;'`                                     
                      +       #@@  ;#''+                                     
                      `     '` '#   @' ..                                    
                      `  ##   `@    '@                                       
                       `,     +:         ,                                   
                       ..+@:          ``                                     
                       ,  @.   :                                             
                         `   @  +      '+                                    
                        :  `          . +                                    
                        ' '   `.#     `                                      
                        `   @:                                               
                         . @ ;        @                                      
                         `    `      @`  .                 @:                
                          . :      `@#    ;               #.'.               
                          .      `@@@     `            :                     
                           #   @@#@@       .          ;`,  ;  @              
                            '@@@@@@         ;.         .   `                 
                             @@@@;    `        #       .   `'  .     `;      
                             ''@@:    .          :.     '   :   +   '  #     
                             ; @@,    `            #     #   @   `    ;      
         .+                    @@@                  @;   `#      ` :  +      
        . '                   `,@@#                 '. #   :      + `        
       ## `                   .#@@@`          `     #`   '.,       #         
       `+                     , :#@         '         .'                     
      , :                    :            '              +          #        
      ':       ,.#                      :                  +        `        
      '  '    :  @          +                       '+  '@@`                 
      '   :                ;        ,.              ,:                .      
      ,    : #  :         ,               .':      .    ;'            +      
           . , `         ,             `;                             `      
       , `     .        +  `@.       ``               ;    `          @@     
      @ '      :         :          :                  .     :      `@@@     
      '        '       #+                               `     ;   ,@@@@#     
      +     ;  `                   `                     `+.#@@@@@@@@@@@     
      .     +          ;                                  @@@@@@@@@@@@@@     
            : @'      ,.          ;                     +@@@@@@@@@@@@@@@,    
       '   ' @@#                  `                   ,@@@@@@@@@@@@@@@@@@    
       .  `#@@@@      #                               @@@@@@@@@@@@@@@@@@@    
        @@@@@@@@`     #          `                    @@@@@@@,  @@@@@@@@@    
        @@@@@@@@@     '          ,                   #@@@@@@    @@@@@@@@     
         @@@@@@@@'    #          .                   @@@@@#     @@@@@@@  `   
         @@@@@@@@@   ,#                   ,`        #@@@@#       ,::     +   
         ,@@@@@@@@+   ,                 ` '+       :@@@@@      '       ` '   
          @@@@@@@  #+             ;        +      +@ #@@+              ` .   
          ;@@@@+    `  `#`@                      @    @@      #        `     
           .           ;@ :        #+,.``.,'+#`        ,,                    
           +            .   :`         .,,,:.           :;   .               
           :        `   : :`     ,::                     ;   .               
                    +    @      ,    ,.            ;      ,              `   
                                '      ;     ;'++#`       @   ;       ;  ,   
            .        +                   :'.              ;`             +   
            :             ;                    ;         , @             ,   
                        ` :                       ,`     #  @                
             ;          `                     ,  :       @  `#               
              #                                         ``   `@         :    
               :                `               ;       #      #;       +    
                ,        `      `;+,       +    +   :   +        +#.   ;     
                         +    +       :##:          `  .                     
                         `                     .       @                     
                  '      ` '    .                  '  `                      
                   ,     '      .                 .   @                      
                    @####+      .                  `  ;                      
                         `      `                                            
                                             ;                               
                        ,   ``   + `;'`    ,.                                
                        '     .:         `           :                       
                        '  .                         ,`                      
                        '        ,             '    , .                      
                        '        ,                 ;. .                      
                        .:       .            '   #                          
                        .`@ :                ;  @    #                       
                        '+`  +    `       .;  '`    +  .                     
                        #  ;  #   +   .+     @     ;+  .                     
                       ' ' #    ,` ' `      @   `'``    .                    
                       ,, #`               .` :.  , .   :                    
                        ;+ +               @:       '`                       
                        :.  `,            ;        ' ,#  #                   
                      #       ;. `     .++           , '                     
                      `         :' `,`  #,          :  ;  ,                  
                           '      #                  #     ;                 
                                 :                     ,.  .                 
                     :.,+,      .                                            
                                :                          #                 
                     .          '                                            
                     `          #                           ,                
                                '                           '                
                     `          :                           :                
                                `  +                        .                
                                                                             
      ##   #######   ##      ## ####     ##         ######  ######## ####     ##     ##    
     /##  ##/////## /##     /##/##/##   /##        ##////##/##///// /##/##   /##    ####   
     /## ##     //##/##     /##/##//##  /##       ##    // /##      /##//##  /##   ##//##  
     /##/##      /##/##########/## //## /##      /##       /####### /## //## /##  ##  //## 
     /##/##      /##/##//////##/##  //##/##      /##       /##////  /##  //##/## ##########
 ##  /##//##     ## /##     /##/##   //####      //##    ##/##      /##   //####/##//////##
//#####  //#######  /##     /##/##    //###       //###### /########/##    //###/##     /##
 /////    ///////   //      // //      ///         //////  //////// //      /// //      //
*/

$(function() {
    var U_CANT_SEE_ME = function(element) {
        if (!element || !element.getElementsByClassName)
            return;
        var subreddits = element.getElementsByClassName('subreddit');
        for (var s = 0; s < subreddits.length; s++) {
            if(subreddits[s].innerHTML == '/r/UnexpectedCena' || subreddits[s].innerHTML == '/r/unexpectedjihad') {
                var item = subreddits[s].parentNode.parentNode.parentNode;

                // U CANT SEE IT, THE SUBREDDIT NAME'S HIDDEN
                subreddits[s].innerHTML = '/r/videos';
                
                // AND GOODBYE TO ANY SUBREDDIT SPOILING FLAIR THAT EXISTS ON THE POST
                var flair = subreddits[s].parentNode.parentNode.getElementsByClassName('linkflairlabel')[0]
                if (flair) flair.parentNode.removeChild(flair);
                
                // ARE YOU READY TO BE FOOLED BY A FAKE SCORE BASED ON SURROUNDING POSTS?!?!
                var prevItem, nextItem, prevScore, nextScore, fakeScore;
                prevItem = item.previousSibling.previousSibling;
                nextItem = item.nextSibling.nextSibling;
                if (prevItem) prevScore = Math.max(parseInt(prevItem.getElementsByClassName('score unvoted')[0].innerHTML) || 0, 3000);
                if (nextItem) nextScore = Math.max(parseInt(nextItem.getElementsByClassName('score unvoted')[0].innerHTML) || 0, 2000);
                if (nextScore && !prevScore) prevScore = nextScore * 1.2;
                if (prevScore && !nextScore) nextScore = prevScore / 1.2;
                if (prevScore && nextScore) {
                    var lerp = Math.random();
                    fakeScore =  (1-lerp) * nextScore + (lerp) * prevScore;
                } else {
                    fakeScore = 1000 + 1000 * Math.random();
                }
                item.getElementsByClassName('score unvoted')[0].innerHTML = Math.round(fakeScore);
                
                // A FAKE COMMENT NUMBER TEAMS UP WITH THE CHAMP IN A NO-HOLDS-BARRED STEEL CAGE MATCH
                var fakeCommentCount = fakeScore / (5 + 2 * Math.random());
                item.getElementsByClassName('comments')[0].innerHTML = Math.round(fakeCommentCount) + ' comments';
            }
        }
    }
    U_CANT_SEE_ME(document.getElementById('siteTable'));
    
    // WATCH AS THIS SCRIPT FACES OFF AGAINST RES DYNAMIC PAGE LOADING, THIS SUNDAY NIGHT JUST $49.99
    var observer = new MutationObserver(function(mutations) {
        for (var i = 0; i < mutations.length; i++) {
            for (var j = 0; j < mutations[i].addedNodes.length; j++) {
                U_CANT_SEE_ME(mutations[i].addedNodes[j]);
            }
        }
    });
    observer.observe(document.getElementById('siteTable'), {childList: true});
});