Advertisement
Guest User

Untitled

a guest
May 14th, 2017
161
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. if(window.location.host.indexOf("stickman.hu")!=-1){
  55.    
  56.     //retarDB SETUP
  57.     $("<link/>",{
  58.         rel: "stylesheet",
  59.         type: "text/css",
  60.         href: "http://fzolid.web.elte.hu/misc/stickjs.css"
  61.     }).prependTo("head");
  62.    
  63.     //var list = getStyle(".dbval");
  64.     $('html').prepend('<div class="dbval"></div>');
  65.    
  66.    
  67.     //GLOBAL VARS N SUCH
  68.     var currentMousePos = { x: -1, y: -1 };
  69.     $(document).mousemove(function(event) {
  70.         currentMousePos.x = event.pageX;
  71.         currentMousePos.y = event.pageY - $(window).scrollTop();;
  72.     });
  73.    
  74.     var pqshow = false;//IF POST QUOTE WINDOW IS OPEN
  75.     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>';
  76.     var jswc = '<a id="jsshow">[Beállítások]</a><br/><a id="onlineshow">[Online]</a>';//
  77.    
  78.     //LOCAL STORAGE
  79.     var fontsizemod = true;
  80.     var postidmod = true;
  81.     var avatarmod = true;
  82.     var postquotes = true;
  83.     var postquotesh = true;
  84.     var autoupdate = true;
  85.     if(typeof(Storage) !== "undefined"){
  86.         if(localStorage.fontsizemod)fontsizemod = localStorage.fontsizemod == "true";
  87.         if(localStorage.postidmod)postidmod = localStorage.postidmod == "true";
  88.         if(localStorage.avatarmod)avatarmod = localStorage.avatarmod == "true";
  89.         if(localStorage.postquotes)postquotes = localStorage.postquotes == "true";
  90.         if(localStorage.postquotesh)postquotesh = localStorage.postquotesh == "true";
  91.         if(localStorage.autoupdate)autoupdate = localStorage.autoupdate == "true";
  92.        
  93.        
  94.        
  95.         //PREFORUM QUOTE VIEW
  96.         if(postquotes){
  97.             if(window.location == "http://stickman.hu/forum")
  98.             $(".last-msg div a").each(function (){
  99.                 var myurl = $(this).attr("href");
  100.                 myurl = myurl.split("#")[0]+'&ajax';
  101.                 if(~myurl.indexOf("stickman.hu/forum"))
  102.                     $(this).after(' <a class="pq" posthref="'+myurl+'">[>]</a>');
  103.                
  104.             });
  105.            
  106.             var pqevent = 'click';
  107.             if(postquotesh)pqevent = 'mouseenter';
  108.             $(document).on(pqevent,'.pq"',(function (){
  109.                 if(!pqshow){
  110.                     var mypos = {x: currentMousePos.x, y: currentMousePos.y}
  111.                     var myurl = $(this).attr("posthref");
  112.                     var ajax;
  113.                    
  114.                     $('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>');
  115.                    
  116.                     $.get(myurl,function(data){
  117.                         ajax = $.parseJSON(data);
  118.                        
  119.                         var okayid = ajax.length-1;
  120.                         if(ajax.length > 1 && ajax[0].id > ajax[1].id)okayid = 0;
  121.                        
  122.                         var rawtext = (ajax[okayid].uzenet);
  123.                         //alert(rawtext);
  124.                         var mytext = rawtext.replace(/<br\s*[\/]?>/gi,'<br style="height:5px;font-size:0;line-height:0.5;display:block;margin:0;">');
  125.                         if(mytext.length > 2500)mytext = mytext.slice(0,2500)+" \n<span style=\"color:red;\">[Túl hosszú!]</span>"
  126.                        
  127.                         $('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>
  128.                        
  129.                         pqshow = true;
  130.                    
  131.                     },'html');
  132.                    
  133.                 }
  134.             }));
  135.            
  136.             $(document).on('click','#blackbox',(function (){
  137.                 $(this).hide();
  138.                 $('#pqwindow').hide();
  139.                 pqshow = false;
  140.  
  141.             }));
  142.         }
  143.        
  144.        
  145.         //FORUM STUFF
  146.         var myurl = (window.location.href).split('/');
  147.         var postnum = $('span:contains(Üzenetek száma)').next().text();
  148.        
  149.        
  150.         //OPTIONS WINDOW
  151.         $('html').prepend(jsw);
  152.         $('#jswindow').html(jswc);
  153.        
  154. $(document).ready(function() {
  155.         //var css = document.styleSheets[0].cssRules[0];
  156.         //alert($('html').css('max-width'));
  157.        
  158.         //SEMI-GLOBALY USED VARS
  159.         var data = ['Gfsæsņgtwijw6','Xp~j|fqpjwņgtwijw5'];
  160.         var rows = [];
  161.        
  162.         //alert(myurl);
  163.        
  164.         if(((myurl[5] == "forum" || myurl[3] == "forum") && myurl.length > 5) && (~(window.location.href).indexOf("/forum") && window.location.href !== "http://stickman.hu/forum")){
  165.            
  166.             // $.get("http://fzolid.web.elte.hu/misc/stickbar.txt", function(data){
  167.                 // //alert(data);
  168.                 // content = data;
  169.             // }).done(function (){
  170.                 // rows = content.split("\n");
  171.             // });
  172.            
  173.             for(var i = 0;i < data.length;i++){
  174.                 var tmp = decode(data[i]);
  175.                 rows[i] = tmp.split("Ł");
  176.                
  177.             }
  178.            
  179.             //alert(decode("Gzspjwuns"));
  180.            
  181.             //AVATAR FRAMES
  182.             if(avatarmod){
  183.                 $(".avatar").css("width","50px").css("height","50px");
  184.                 $(".online").css("box-shadow","none").before("<span style=\"color:lightgreen;\">Online</span><br>");
  185.                 $(".avatar").css({
  186.                     'border-radius':'0',
  187.                     'border-style': 'solid',
  188.                     'border-width': '5px 5px 10px 5px',
  189.                     'border-image': 'url(http://s3.amazonaws.com/imgurCloneProduction/images/118.original.png) 5 5 10% 5 round',
  190.                     'border-image-outset': '0'
  191.                    
  192.                 });
  193.             }
  194.            
  195.                
  196.                
  197.             //COLOR CODED RANKS
  198.             $(".rang").css("font-weight","bold");
  199.             $(".rang:contains('Elit')").css("color","magenta");
  200.             $(".rang:contains('Moderátor')").css("color","gold");
  201.             $(".rang:contains('Felhasználó')").css("color","grey");
  202.            
  203.             //POST MODIFY
  204.             $("tbody tr").each(function (){
  205.                 //$(this).css("position","fixed");
  206.                 var myid = $(this).attr("id");
  207.                 var msg = $(".uzenet",".text","#"+myid);
  208.                 var msgtext = msg.html();
  209.                 var myname = $("#"+myid+" .msg-left .name a").html();
  210.                 var myavatar = $("#"+myid+" .msg-left .avatar");
  211.                
  212.                 myavatar.attr("id","img"+myname);
  213.                
  214.                 if(postidmod)$(".text",this).prepend("<span style=\"color:#808080;float:right;\">ID No."+myid+"</span>");
  215.                 if(fontsizemod)msg.css("font-size","14px");
  216.                 $(".msg-buttons",".text","#"+myid).css("margin","0px");
  217.                 $(".sig",".text","#"+myid).css("font-size","10px");
  218.                 $("br").css("height","5px").css("font-size","0").css("line-height","0.5").css("display","block").css("margin","0");
  219.                
  220.                 //EMBED YOUTUBE LINKS
  221.                 if(msgtext.toLowerCase().indexOf("youtube.com") >= 0 || msgtext.toLowerCase().indexOf("youtu.be") >= 0){
  222.                     $("#"+myid+" .text .uzenet a").each(function (){
  223.                         var url = $(this).attr("href");
  224.                         url = url.replace('watch?v=','embed/'); //TODO CHECK IF ITS A YT URL
  225.                         $(this).after(" <a id=\"ytembed\" myurl=\""+url+"\">[Megjelenít]</a> ");
  226.                        
  227.                     });
  228.                 }
  229.             });
  230.         }
  231.        
  232.         if(avatarmod){
  233.             for(var i = 0;i < rows.length;i++){
  234.                 //alert(rows[i][1]);
  235.                 var bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/118.original.png";
  236.                 switch(rows[i][1]){
  237.                     case "border0":
  238.                         bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/121.original.png";
  239.                     break;
  240.                     case "border1":
  241.                         bimg = "http://s3.amazonaws.com/imgurCloneProduction/images/123.original.png";
  242.                     break;
  243.                    
  244.                 }
  245.                 $("#img"+rows[i][0]).css({"border-image-source":"url("+bimg+")"});
  246.                    
  247.             }
  248.         }
  249.        
  250.        
  251.         $(document).on('click','#jssave',(function (){
  252.             localStorage.fontsizemod = $('#fontsizemod')[0].checked;
  253.             localStorage.postidmod = $('#postidmod')[0].checked;
  254.             localStorage.avatarmod = $('#avatarmod')[0].checked;
  255.             localStorage.postquotes = $('#postquotes')[0].checked;
  256.             localStorage.postquotesh = $('#postquotesh')[0].checked;
  257.             localStorage.autoupdate = $('#autoupdate')[0].checked;
  258.             location.reload();
  259.            
  260.         }));
  261.        
  262.         $(document).on('click','#jshide, #onlinehide',(function (){
  263.             $('#jswindow').html(jswc);
  264.            
  265.         }));
  266.        
  267.         $(document).on('click','#jsshow',(function (){
  268.             var jsfontchk = "checked";if(!fontsizemod)jsfontchk = "";
  269.             var jspostchk = "checked";if(!postidmod)jspostchk = "";
  270.             var jsavatarchk = "checked";if(!avatarmod)jsavatarchk = "";
  271.             var jsqtchk = "checked";if(!postquotes)jsqtchk = "";
  272.             var jsqthchk = "checked";if(!postquotesh)jsqthchk = "";
  273.             var jsautochk = "checked";if(!autoupdate)jsautochk = "";
  274.             $('#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>');
  275.            
  276.         }));
  277.        
  278.         $(document).on('click','#onlineshow',(function (){
  279.             $('#jswindow').html('Betöltés...');
  280.             $.get("http://stickman.hu/online",function(data){
  281.                 var myhtml = $(data);
  282.                 $('#jswindow').html('<span id="onlinelist"></span>');
  283.                 $('.onlines tbody tr td a',myhtml).each(function (){
  284.                 var myname = $(this).attr('href');
  285.                 if(!~myname.indexOf("stickman.hu"))$('#onlinelist').append(myname+'<br/>');
  286.             });
  287.             $('#onlinelist').append('<br/><a id="onlinehide">[Becsuk]</a>');
  288.            
  289.             },'html');
  290.            
  291.         }));
  292.        
  293.         $(document).on('click','#ytembed',(function (){
  294.             var url = $(this).attr("myurl");
  295.             $(this).after("<br><iframe width=\"420\" height=\"315\" src=\""+url+"\"></iframe>");
  296.             $(this).remove();
  297.            
  298.         }));
  299.        
  300.         if(autoupdate)
  301.         if(window.location == "http://stickman.hu/forum")
  302.         setInterval(function (){
  303.             $.get("http://stickman.hu/forum",function(data){
  304.                 var myhtml = $(data);
  305.                 var mypostnum = $('span:contains(Üzenetek száma)',myhtml).next().text();
  306.                 if(Number(mypostnum) > Number(postnum))location.reload();
  307.                
  308.             },'html');
  309.            
  310.         },1000*60);
  311.        
  312.         });//DOM READY
  313.        
  314.     }else{
  315.         $('body').prepend("StickJS error: Nincs localStorage!");
  316.        
  317.     }
  318.    
  319.    
  320.    
  321. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement