Advertisement
Guest User

Untitled

a guest
May 20th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        StickBAR
  3. // @namespace   http://stickman.hu
  4. // @description Stuff
  5. // @include     http://*
  6. // @version     1
  7. // @grant       none
  8. // ==/UserScript==
  9.  
  10. //TODO  better online | weapon stat hover
  11.  
  12. function decode(str){
  13.     var tmp = "";
  14.     for(var i = 0;i < str.length;i++){
  15.         tmp = tmp + (String.fromCharCode(str.charCodeAt(i) - 5));
  16.     }
  17.     return tmp;
  18. }
  19.  
  20. function getdata(){
  21.     //var mydata = "-1";
  22.     // url = "http://fzolid.web.elte.hu/misc/stickjs.php";
  23.     // $.ajax({
  24.         // cache: true,
  25.         // url: url,
  26.         // success: function(html){
  27.             // alert(html);
  28.            
  29.            
  30.         // }
  31.     // });
  32.    
  33.     var list = null;
  34.     with (document.styleSheets[0]) {
  35.         if (typeof cssRules != "undefined")
  36.             list = cssRules;
  37.         else if (typeof rules != "undefined")
  38.             list = rules;
  39.     }
  40.    
  41.     return list;
  42. }
  43.  
  44. function getStyle(className) {
  45.     var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules;
  46.     for (var x = 0; x < classes.length; x++) {
  47.         if (classes[x].selectorText == className) {
  48.             (classes[x].cssText) ? alert(classes[x].cssText) : alert(classes[x].style.cssText);
  49.         }
  50.     }
  51.     return classes;
  52. }
  53.  
  54. function receiveMessage(event){
  55.     var db = event.data;
  56.    
  57.    
  58. }
  59.  
  60. if(window.location.host.indexOf("stickman.hu")!=-1){
  61.    
  62.     $('<iframe src="http://fzolid.web.elte.hu/misc/stickjsdb.html" />').prependTo('html').hide();
  63.     window.addEventListener("message", receiveMessage, false);
  64.    
  65.     //retarDB SETUP
  66.     $("<link/>",{
  67.         rel: "stylesheet",
  68.         type: "text/css",
  69.         href: "http://fzolid.web.elte.hu/misc/stickjs.css"
  70.     }).prependTo("head");
  71.    
  72.     //var list = getStyle(".dbval");
  73.     $('html').prepend('<div class="dbval"></div>');
  74.    
  75.    
  76.     //GLOBAL VARS N SUCH
  77.     var currentMousePos = { x: -1, y: -1 };
  78.     $(document).mousemove(function(event) {
  79.         currentMousePos.x = event.pageX;
  80.         currentMousePos.y = event.pageY - $(window).scrollTop();;
  81.     });
  82.    
  83.     var pqshow = false;//IF POST QUOTE WINDOW IS OPEN
  84.     var jsw = '<div id="jswindow" style="z-index:9001;padding:10px;color:white;font-family:Arial;text-align:right;position:fixed;right:0px;top:0px;width:20vw;height:auto;"></div>';
  85.     var jswc = '<a id="jsshow">[Beállítások]</a><br/><a id="onlineshow">[Online]</a>';//
  86.    
  87.     //LOCAL STORAGE
  88.     var fontsizemod = true;
  89.     var postidmod = true;
  90.     var avatarmod = true;
  91.     var postquotes = true;
  92.     var postquotesh = true;
  93.     var autoupdate = true;
  94.     if(typeof(Storage) !== "undefined"){
  95.         if(localStorage.fontsizemod)fontsizemod = localStorage.fontsizemod == "true";
  96.         if(localStorage.postidmod)postidmod = localStorage.postidmod == "true";
  97.         if(localStorage.avatarmod)avatarmod = localStorage.avatarmod == "true";
  98.         if(localStorage.postquotes)postquotes = localStorage.postquotes == "true";
  99.         if(localStorage.postquotesh)postquotesh = localStorage.postquotesh == "true";
  100.         if(localStorage.autoupdate)autoupdate = localStorage.autoupdate == "true";
  101.        
  102.        
  103.        
  104.         //PREFORUM QUOTE VIEW
  105.         if(postquotes){
  106.             if(window.location == "http://stickman.hu/forum")
  107.             $(".last-msg div a").each(function (){
  108.                 var myurl = $(this).attr("href");
  109.                 myurl = myurl.split("#")[0]+'&ajax';
  110.                 if(~myurl.indexOf("stickman.hu/forum"))
  111.                     $(this).after(' <a class="pq" posthref="'+myurl+'">[>]</a>');
  112.                
  113.             });
  114.            
  115.             var pqevent = 'click';
  116.             if(postquotesh)pqevent = 'mouseenter';
  117.             $(document).on(pqevent,'.pq"',(function (){
  118.                 if(!pqshow){
  119.                     var mypos = {x: currentMousePos.x, y: currentMousePos.y}
  120.                     var myurl = $(this).attr("posthref");
  121.                     var ajax;
  122.                    
  123.                     $('html').prepend('<div style="position:fixed;float:left;left:0;top:0;background-color:#000000;opacity:0.6;width:100vw;height:100vh;" id="blackbox"></div>');
  124.                    
  125.                     $.get(myurl,function(data){
  126.                         ajax = $.parseJSON(data);
  127.                        
  128.                         var okayid = ajax.length-1;
  129.                         if(ajax.length > 1 && ajax[0].id > ajax[1].id)okayid = 0;
  130.                        
  131.                         var rawtext = (ajax[okayid].uzenet);
  132.                         //alert(rawtext);
  133.                         var mytext = rawtext.replace(/<br\s*[\/]?>/gi,'<br style="height:5px;font-size:0;line-height:0.5;display:block;margin:0;">');
  134.                         if(mytext.length > 2500)mytext = mytext.slice(0,2500)+" \n<span style=\"color:red;\">[Túl hosszú!]</span>"
  135.                        
  136.                         $('html').prepend('<div id="pqwindow" style="padding:10px;color:white;font-family:Segoe UI, Arial, sans-serif;background-color:#222222;min-width:300px;max-width:600px;max-height:200px;border:5px #f55810 solid;z-index:9001;position:fixed;top:'+(mypos.y)+'px;left:'+(mypos.x - 200)+'px;"><div style="width:100%;max-height:200px;overflow:auto;">'+mytext+'</div></div>');//<iframe width="600" height="200" src="'+myurl+'"></iframe>
  137.                        
  138.                         pqshow = true;
  139.                    
  140.                     },'html');
  141.                    
  142.                 }
  143.             }));
  144.            
  145.             $(document).on('click','#blackbox',(function (){
  146.                 $(this).hide();
  147.                 $('#pqwindow').hide();
  148.                 pqshow = false;
  149.  
  150.             }));
  151.         }
  152.        
  153.        
  154.         //FORUM STUFF
  155.         var myurl = (window.location.href).split('/');
  156.         var postnum = $('span:contains(Üzenetek száma)').next().text();
  157.        
  158.        
  159.         //OPTIONS WINDOW
  160.         $('html').prepend(jsw);
  161.         $('#jswindow').html(jswc);
  162.        
  163. $(document).ready(function() {
  164.         //var css = document.styleSheets[0].cssRules[0];
  165.         //alert($('html').css('max-width'));
  166.        
  167.         //SEMI-GLOBALY USED VARS
  168.         var data = ['Gfsæsņgtwijw6','Xp~j|fqpjwņgtwijw5'];
  169.         var rows = [];
  170.        
  171.         //alert(myurl);
  172.        
  173.         if(((myurl[5] == "forum" || myurl[3] == "forum") && myurl.length > 5) && (~(window.location.href).indexOf("/forum") && window.location.href !== "http://stickman.hu/forum")){
  174.            
  175.             // $.get("http://fzolid.web.elte.hu/misc/stickbar.txt", function(data){
  176.                 // //alert(data);
  177.                 // content = data;
  178.             // }).done(function (){
  179.                 // rows = content.split("\n");
  180.             // });
  181.            
  182.             for(var i = 0;i < data.length;i++){
  183.                 var tmp = decode(data[i]);
  184.                 rows[i] = tmp.split("Ł");
  185.                
  186.             }
  187.            
  188.             //alert(decode("Gzspjwuns"));
  189.            
  190.             //AVATAR FRAMES
  191.             if(avatarmod){
  192.                 $(".avatar").css("width","50px").css("height","50px");
  193.                 $(".online").css("box-shadow","none").before("<span style=\"color:lightgreen;\">Online</span><br>");
  194.                 $(".avatar").css({
  195.                     'border-radius':'0',
  196.                     'border-style': 'solid',
  197.                     'border-width': '5px 5px 10px 5px',
  198.                     'border-image': 'url(http://s3.amazonaws.com/imgurCloneProduction/images/118.original.png) 5 5 10% 5 round',
  199.                     'border-image-outset': '0'
  200.                    
  201.                 });
  202.             }
  203.            
  204.                
  205.                
  206.             //COLOR CODED RANKS
  207.             $(".rang").css("font-weight","bold");
  208.             $(".rang:contains('Elit')").css("color","magenta");
  209.             $(".rang:contains('Moderátor')").css("color","gold");
  210.             $(".rang:contains('Felhasználó')").css("color","grey");
  211.            
  212.             //POST MODIFY
  213.             $("tbody tr").each(function (){
  214.                 //$(this).css("position","fixed");
  215.                 var myid = $(this).attr("id");
  216.                 var msg = $(".uzenet",".text","#"+myid);
  217.                 var msgtext = msg.html();
  218.                 var myname = $("#"+myid+" .msg-left .name a").html();
  219.                 var myavatar = $("#"+myid+" .msg-left .avatar");
  220.                
  221.                 //msgtext = msgtext.replace('https://m.<a href="http://youtube','<a href="http://youtube'); //TODO CHECK IF ITS A YT URL
  222.                
  223.  
  224.                
  225.                 myavatar.attr("id","img"+myname).css('float','none');
  226.                
  227.                 $.get("http://stickman.hu/"+myname,function(data){
  228.                     var myhtml = $(data);
  229.                     var mypostnum = $('.title:contains(Fórum:)',myhtml).next().html();
  230.                     if(Number(mypostnum) > Number(postnum))location.reload();
  231.                     $(myavatar.after('<div class="value">'+mypostnum+'</div>'));
  232.                    
  233.                 },'html');
  234.                
  235.                 if(postidmod)$(".text",this).prepend("<span style=\"color:#808080;float:right;\">ID No."+myid+"</span>");
  236.                 if(fontsizemod)msg.css("font-size","14px");
  237.                 $(".msg-buttons",".text","#"+myid).css("margin","0px");
  238.                 $(".sig",".text","#"+myid).css("font-size","10px");
  239.                 $("br").css("height","5px").css("font-size","0").css("line-height","0.5").css("display","block").css("margin","0");
  240.                
  241.                 //EMBED YOUTUBE LINKS
  242.                 if(msgtext.toLowerCase().indexOf("youtube.com") >= 0 || msgtext.toLowerCase().indexOf("youtu.be") >= 0){
  243.                     $("#"+myid+" .text .uzenet a").each(function (){
  244.                         var url = $(text).attr("href");
  245.                        
  246.                         url = url.replace('watch?v=','embed/'); //TODO CHECK IF ITS A YT URL
  247.                         $(this).after(" <a id=\"ytembed\" myurl=\""+url+"\">[Megjelenít]</a> ");
  248.                        
  249.                     });
  250.                 }
  251.             });
  252.         }
  253.        
  254.         if(avatarmod){
  255.             for(var i = 0;i < rows.length;i++){
  256.                 //alert(rows[i][1]);
  257.                 var bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/118.original.png";
  258.                 switch(rows[i][1]){
  259.                     case "border0":
  260.                         bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/121.original.png";
  261.                     break;
  262.                     case "border1":
  263.                         bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/123.original.png";
  264.                     break;
  265.                    
  266.                 }
  267.                 $("#img"+rows[i][0]).css({"border-image-source":"url("+bimg+")"});
  268.                    
  269.             }
  270.         }
  271.        
  272.        
  273.         $(document).on('click','#jssave',(function (){
  274.             localStorage.fontsizemod = $('#fontsizemod')[0].checked;
  275.             localStorage.postidmod = $('#postidmod')[0].checked;
  276.             localStorage.avatarmod = $('#avatarmod')[0].checked;
  277.             localStorage.postquotes = $('#postquotes')[0].checked;
  278.             localStorage.postquotesh = $('#postquotesh')[0].checked;
  279.             localStorage.autoupdate = $('#autoupdate')[0].checked;
  280.             location.reload();
  281.            
  282.         }));
  283.        
  284.         $(document).on('click','#jshide, #onlinehide',(function (){
  285.             $('#jswindow').html(jswc);
  286.            
  287.         }));
  288.        
  289.         $(document).on('click','#jsshow',(function (){
  290.             var jsfontchk = "checked";if(!fontsizemod)jsfontchk = "";
  291.             var jspostchk = "checked";if(!postidmod)jspostchk = "";
  292.             var jsavatarchk = "checked";if(!avatarmod)jsavatarchk = "";
  293.             var jsqtchk = "checked";if(!postquotes)jsqtchk = "";
  294.             var jsqthchk = "checked";if(!postquotesh)jsqthchk = "";
  295.             var jsautochk = "checked";if(!autoupdate)jsautochk = "";
  296.             $('#jswindow').html('<form id="jsform" action=""><input type="checkbox" id="fontsizemod" name="fontsizemod" value="True" '+jsfontchk+'>Kisebb betűméret<br/><input type="checkbox" name="postidmod" id="postidmod" value="True" '+jspostchk+'>Poszt ID mutatása<br/><input type="checkbox" name="avatarmod" id="avatarmod" value="True" '+jsavatarchk+'>Alternativ avatarok<br/><input type="checkbox" name="postquotes" id="postquotes" value="True" '+jsqtchk+'>Poszt gyorsnézet<br/><input type="checkbox" name="postquotesh" id="postquotesh" value="True" '+jsqthchk+'>Gyorsnézet hover<br/><input type="checkbox" name="autoupdate" id="autoupdate" value="True" '+jsautochk+'>Auto-frissítés</form><br/><a id="jssave">[Mentés]</a><br/><a id="jshide">[Becsuk]</a>');
  297.            
  298.         }));
  299.        
  300.         $(document).on('click','#onlineshow',(function (){
  301.             $('#jswindow').html('Betöltés...');
  302.             $.get("http://stickman.hu/online",function(data){
  303.                 var myhtml = $(data);
  304.                 $('#jswindow').html('<span id="onlinelist"></span>');
  305.                 $('.onlines tbody tr td a',myhtml).each(function (){
  306.                 var myname = $(this).attr('href');
  307.                 if(!~myname.indexOf("stickman.hu"))$('#onlinelist').append(myname+'<br/>');
  308.             });
  309.             $('#onlinelist').append('<br/><a id="onlinehide">[Becsuk]</a>');
  310.            
  311.             },'html');
  312.            
  313.         }));
  314.        
  315.         $(document).on('click','#ytembed',(function (){
  316.             var url = $(this).attr("myurl");
  317.             $(this).after("<br><iframe width=\"420\" height=\"315\" src=\""+url+"\"></iframe>");
  318.             $(this).remove();
  319.            
  320.         }));
  321.        
  322.         if(autoupdate)
  323.         if(window.location == "http://stickman.hu/forum")
  324.         setInterval(function (){
  325.             $.get("http://stickman.hu/forum",function(data){
  326.                 var myhtml = $(data);
  327.                 var mypostnum = $('span:contains(Üzenetek száma)',myhtml).next().text();
  328.                 if(Number(mypostnum) > Number(postnum))location.reload();
  329.                
  330.             },'html');
  331.            
  332.         },1000*60);
  333.        
  334.         });//DOM READY
  335.        
  336.     }else{
  337.         $('body').prepend("StickJS error: Nincs localStorage!");
  338.        
  339.     }
  340.    
  341.    
  342.    
  343. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement