WWT - Shoutbox Smileys

Adds customizable smileys to WWT shoutbox

目前為 2016-11-23 提交的版本,檢視 最新版本

// ==UserScript==
// @name        WWT - Shoutbox Smileys
// @namespace   Keka_Umans
// @description Adds customizable smileys to WWT shoutbox
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @include     *worldwidetorrents.eu/index.php
// @include     *worldwidetorrents.eu/
// @version     1.6
// @grant       none
// ==/UserScript==
var smileys = ''; // leave this as is
var Csmileys = ''; // leave this as is
/************************/
// Customizable Settings
/************************/
// show account/message links in shout header
var accInfo = 'yes'; // yes=On/no=Off !NO CAPS!  default is On
// hide WWT banner
var showBanner = 'yes'; // yes shows banner/no hides it !NO CAPS!  default is yes
// Icon color (if accInfo is set to yes)
var icoColor = '#FFFFFF'; // hex code of any color you like   default is White
// New message color (if accInfo is set to yes)
var msgColor = '#FFFFFF'; // hex code of any color you like   default is White
// Defealt text color for colorize button
var bbColor = '#000000'; // hex code of any color you like   default is Black
// Smiley Set Switches
// All switches are 1=On 0=Off
var KS = 1; // Show KAT Smileys
var WS = 1; // Show WWT Smileys
var ES = 1; // Show Extra Smileys
var HS = 1; // Show Holiday Smileys

/************************/
// this is where you can
// add your own custom images
// use the template below
// copy/paste as needed
// just fill in and uncomment (remove // from the line)
/************************/
// Csmileys += '    <img title="NAME" class="cusSmile" alt="NAME" src="https://URL.gif" />';







////////////////// DO NOT EDIT BELOW THIS LINE EXCEPT TO REMOVE A SMILEY /////////////////
// KAT Smileys
if(KS==1){
  smileys += '    <img title="Biggrin" class="cusSmile" alt="biggrin" src="https://i.imgur.com/yrmrqBr.gif" />';
  smileys += '    <img title="Cry" class="cusSmile" alt="cry" src="https://i.imgur.com/31QyqdW.gif" />';
  smileys += '    <img title="Dizzy" class="cusSmile" alt="dizzy" src="https://i.imgur.com/Dab19mK.gif" />';
  smileys += '    <img title="Funk" class="cusSmile" alt="funk" src="https://i.imgur.com/OelvgkH.gif" />';
  smileys += '    <img title="Huffy" class="cusSmile" alt="huffy" src="https://i.imgur.com/e1xCAZp.gif" />';
  smileys += '    <img title="LOL" class="cusSmile" alt="lol" src="https://i.imgur.com/Y2IB7c1.gif" />';
  smileys += '    <img title="Lovliness" class="cusSmile" alt="lovliness" src="https://i.imgur.com/OUzdHNF.gif" />';
  smileys += '    <img title="Mad" class="cusSmile" alt="mad" src="https://i.imgur.com/zZuLIGb.gif" />';
  smileys += '    <img title="Sad" class="cusSmile" alt="sad" src="https://i.imgur.com/xarqUB1.gif" />';
  smileys += '    <img title="Shocked" class="cusSmile" alt="shocked" src="https://i.imgur.com/qi4A3nr.gif" />';
  smileys += '    <img title="Shy" class="cusSmile" alt="shy" src="https://i.imgur.com/xFFGTfU.gif" />';
  smileys += '    <img title="Sleepy" class="cusSmile" alt="sleepy" src="https://i.imgur.com/16gZbHY.gif" />';
  smileys += '    <img title="Smile" class="cusSmile" alt="smile" src="https://i.imgur.com/jDCmN5k.gif" />';
  smileys += '    <img title="Sweat" class="cusSmile" alt="sweat" src="https://i.imgur.com/gOXCcif.gif" />';
  smileys += '    <img title="Titter" class="cusSmile" alt="titter" src="https://i.imgur.com/3mUNmP8.gif" />';
  smileys += '    <img title="Tongue" class="cusSmile" alt="tongue" src="https://i.imgur.com/Au91JBC.gif" />';
  smileys += '    <img title="Pirate" class="cusSmile" alt="pirate" src="https://i.imgur.com/c0gTgBS.gif" />';
  smileys += '    <img title="Boo" class="cusSmile" alt="boo" src="https://i.imgur.com/Rl6QHXw.gif" />';
  smileys += '    <img title="Wink" class="cusSmile" alt="wink" src="https://i.imgur.com/ZoWgkuV.gif" />';
  smileys += '    <img title="Dull" class="cusSmile" alt="dull" src="https://i.imgur.com/5T7B0wl.gif" />';
  smileys += '    <img title="Chuckle" class="cusSmile" alt="chuckle" src="https://i.imgur.com/UQxpJbL.gif" />';
  smileys += '    <img title="Clap" class="cusSmile" alt="clap" src="https://i.imgur.com/vBzTQec.gif" />';
  smileys += '    <img title="Drunk" class="cusSmile" alt="drunk" src="https://i.imgur.com/6amPLB3.gif" />';
  smileys += '    <img title="Finger" class="cusSmile" alt="finger" src="https://i.imgur.com/Zcq1str.gif" />';
  smileys += '    <img title="Inlove" class="cusSmile" alt="inlove" src="https://i.imgur.com/DjKkEX7.gif" />';
  smileys += '    <img title="Nerd" class="cusSmile" alt="nerd" src="https://i.imgur.com/gu5gvMk.gif" />';
  smileys += '    <img title="No" class="cusSmile" alt="no" src="https://i.imgur.com/VKctnGI.gif" />';
  smileys += '    <img title="ROFL" class="cusSmile" alt="rofl" src="https://i.imgur.com/BRNDUiY.gif" />';
  smileys += '    <img title="Lipssealed" class="cusSmile" alt="lipssealed" src="https://i.imgur.com/S29lZ3e.gif" />';
  smileys += '    <img title="Smirk" class="cusSmile" alt="smirk" src="https://i.imgur.com/8Bzq4I8.gif" />';
  smileys += '    <img title="Think" class="cusSmile" alt="think" src="https://i.imgur.com/fLaLJRx.gif" />';
  smileys += '    <img title="Yes" class="cusSmile" alt="yes" src="https://i.imgur.com/1Mge3YI.gif" />';
  smileys += '    <img title="Wait" class="cusSmile" alt="wait" src="https://i.imgur.com/tkKjFsA.gif" />';
  smileys += '    <img title="Wave" class="cusSmile" alt="wave" src="https://i.imgur.com/vHrmADf.gif" />';
  smileys += '    <img title="Cool" class="cusSmile" alt="cool" src="https://i.imgur.com/bFSKaxa.gif" />';
  smileys += '    <img title="Evil" class="cusSmile" alt="evil" src="https://i.imgur.com/zX9yKQn.gif" />';
  smileys += '    <img title="Punch" class="cusSmile" alt="punch" src="https://i.imgur.com/jcSMOIz.gif" />';
  smileys += '    <img title="DOH!" class="cusSmile" alt="doh" src="https://i.imgur.com/LQqhK7F.gif" />';
  smileys += '    <img title="Yawn" class="cusSmile" alt="yawn" src="https://i.imgur.com/EItEozy.gif" />';
  smileys += '    <img title="TMI" class="cusSmile" alt="tmi" src="https://i.imgur.com/UHp9eQR.gif" />';
  smileys += '    <img title="Fubar" class="cusSmile" alt="fubar" src="https://i.imgur.com/2S7ahGT.gif" />';
  smileys += '    <img title="Rock" class="cusSmile" alt="rock" src="https://i.imgur.com/jNciQTr.gif" />';
  smileys += '    <img title="Bandit" class="cusSmile" alt="bandit" src="https://i.imgur.com/GS4Lctd.gif" />';
  smileys += '    <img title="Swear" class="cusSmile" alt="swear" src="https://i.imgur.com/Qef0xw8.gif" />';
  smileys += '    <img title="Facepalm" class="cusSmile" alt="facepalm" src="https://i.imgur.com/ky63riP.gif" />';
  smileys += '    <img title="Thumbup" class="cusSmile" alt="thumbup" src="https://i.imgur.com/xxtKctj.gif" />';
  smileys += '    <img title="Thumbdown" class="cusSmile" alt="thumbdown" src="https://i.imgur.com/bkv4kfO.gif" />';
  smileys += '    <img title="HeadWall" class="cusSmile" alt="headwall" src="https://i.imgur.com/QnhNsQD.gif" />';  
}
// WWT Smileys
if(WS==1){
  smileys += '    <img data-code=":brb" title="BRB" class="cusSmile" alt="brb" src="/images/smilies/brb.gif" />';
  smileys += '    <img data-code=":cwl" title="Crying While Laughing" class="cusSmile" alt=":cwl" src="/images/smilies/cwl.gif" />';
  smileys += '    <img data-code=":love" title="Heart" class="cusSmile" alt=":love" src="/images/smilies/heart.gif" />';
  smileys += '    <img data-code=":bandit" title="bandit" class="cusSmile" alt="bandit" src="/images/smilies/bandit.gif" />';
  smileys += '    <img data-code=":brokenheart" title="brokenheart" class="cusSmile" alt="brokenheart" src="/images/smilies/brokenheart.gif" />';
  smileys += '    <img data-code=":doh" title="doh" class="cusSmile" alt="doh" src="/images/smilies/doh.gif" />';
  smileys += '    <img data-code=":envy" title="envy" class="cusSmile" alt="envy" src="/images/smilies/envy.gif" />';
  smileys += '    <img data-code=":fubar" title="fubar" class="cusSmile" alt="fubar" src="/images/smilies/fubar.gif" />';
  smileys += '    <img data-code=":headbang" title="headbang" class="cusSmile" alt="headbang" src="/images/smilies/headbang.gif" />';
  smileys += '    <img data-code=":lipssealed" title="lipssealed" class="cusSmile" alt="lipssealed" src="/images/smilies/lipssealed.gif" />';
  smileys += '    <img data-code=":smile" title="smile" class="cusSmile" alt="smile" src="/images/smilies/smile.gif" />';
  smileys += '    <img data-code=":sad" title="sad" class="cusSmile" alt="sad" src="/images/smilies/sad.gif" />';
  smileys += '    <img data-code=":wink" title="wink" class="cusSmile" alt="wink" src="/images/smilies/wink.gif" />';
  smileys += '    <img data-code=":tongue" title="tongue" class="cusSmile" alt="tongue" src="/images/smilies/tongueout.gif" />';
  smileys += '    <img data-code=":laugh" title="laugh" class="cusSmile" alt="laugh" src="/images/smilies/laugh.gif" />';
  smileys += '    <img data-code=":dull" title="dull" class="cusSmile" alt="dull" src="/images/smilies/dull.gif" />';
  smileys += '    <img data-code=":surprised" title="surprised" class="cusSmile" alt="surprised" src="/images/smilies/surprised.gif" />';
  smileys += '    <img data-code=":confused" title="confused" class="cusSmile" alt="confused" src="/images/smilies/confused.gif" />';
  smileys += '    <img data-code=":nerd" title="nerd" class="cusSmile" alt="nerd" src="/images/smilies/nerdy.gif" />';
  smileys += '    <img data-code=":smirk" title="smirk" class="cusSmile" alt="smirk" src="/images/smilies/smirk.gif" />';
  smileys += '    <img data-code=":cool" title="cool" class="cusSmile" alt="cool" src="/images/smilies/cool.gif" />';
  smileys += '    <img data-code=":facepalm" title="facepalm" class="cusSmile" alt="facepalm" src="/images/smilies/facepalm.gif" />';
  smileys += '    <img data-code=":cry" title="cry" class="cusSmile" alt="cry" src="/images/smilies/cry.gif" />';
  smileys += '    <img data-code=":kiss" title="kiss" class="cusSmile" alt="kiss" src="/images/smilies/kiss.gif" />';
  smileys += '    <img data-code=":finger" title="finger" class="cusSmile" alt="finger" src="/images/smilies/finger.gif" />';
  smileys += '    <img data-code=":evil" title="evil" class="cusSmile" alt="evil" src="/images/smilies/evil.gif" />';
  smileys += '    <img data-code=":angry" title="angry" class="cusSmile" alt="angry" src="/images/smilies/angry.gif" />';
  smileys += '    <img data-code=":inlove" title="inlove" class="cusSmile" alt="inlove" src="/images/smilies/inlove.gif" />';
  smileys += '    <img data-code=":blush" title="blush" class="cusSmile" alt="blush" src="/images/smilies/blush.gif" />';
  smileys += '    <img data-code=":clap" title="clap" class="cusSmile" alt="clap" src="/images/smilies/clap.gif" />';
  smileys += '    <img data-code=":think" title="think" class="cusSmile" alt="think" src="/images/smilies/think.gif" />';
  smileys += '    <img data-code=":yes" title="yes" class="cusSmile" alt="yes" src="/images/smilies/yes.gif" />';
  smileys += '    <img data-code=":no" title="no" class="cusSmile" alt="no" src="/images/smilies/no.gif" />';
  smileys += '    <img data-code=":hi" title="hi" class="cusSmile" alt="hi" src="/images/smilies/hi.gif" />';
  smileys += '    <img data-code=":drunk" title="drunk" class="cusSmile" alt="drunk" src="/images/smilies/drunk.gif" />';
  smileys += '    <img data-code=":giggle" title="giggle" class="cusSmile" alt="giggle" src="/images/smilies/giggle.gif" />';
  smileys += '    <img data-code=":punch" title="punch" class="cusSmile" alt="punch" src="/images/smilies/punch.gif" />';
  smileys += '    <img data-code=":wait" title="wait" class="cusSmile" alt="wait" src="/images/smilies/wait.gif" />';
  smileys += '    <img data-code=":swear" title="swear" class="cusSmile" alt="swear" src="/images/smilies/swear.gif" />';
  smileys += '    <img data-code=":sweat" title="sweat" class="cusSmile" alt="sweat" src="/images/smilies/sweat.gif" />';
  smileys += '    <img data-code=":tmi" title="tmi" class="cusSmile" alt="tmi" src="/images/smilies/tmi.gif" />';
}
// Extra Smileys
if(ES==1){
  smileys += '    <img title="Darky" class="cusSmile" alt="darky" src="https://i.imgur.com/NMq4OZg.gif" />';
  smileys += '    <img title="Eyebrows" class="cusSmile" alt="eyebrows" src="https://i.imgur.com/6lhvOK9.gif" />';
  smileys += '    <img title="Sarcastic" class="cusSmile" alt="sarcastic" src="https://i.imgur.com/tciEnnj.gif" />';
  smileys += '    <img title="Smoking" class="cusSmile" alt="smoke" src="https://i.imgur.com/8NM4PSG.gif" />';
  smileys += '    <img title="Puke" class="cusSmile" alt="puke" src="https://i.imgur.com/q1OATGv.gif" />';
  smileys += '    <img title="Lalala" class="cusSmile" alt="lalala" src="https://i.imgur.com/Z6jgGZb.gif" />';
  smileys += '    <img title="Devil" class="cusSmile" alt="devil" src="https://i.imgur.com/6O0oZBV.gif" />';
  smileys += '    <img title="Mooning" class="cusSmile" alt="mooning" src="https://i.imgur.com/RP9b7FS.gif" />';
  smileys += '    <img title="Poop" class="cusSmile" alt="poop" src="https://i.imgur.com/az3Ks2S.gif" />';
  smileys += '    <img title="Squirrel" class="cusSmile" alt="squirrel" src="https://i.imgur.com/xCBvpyM.gif" />';
  smileys += '    <img title="Ninja" class="cusSmile" alt="ninja" src="https://i.imgur.com/qAcWv6r.gif" />';
  smileys += '    <img title="Beer" class="cusSmile" alt="beer" src="https://i.imgur.com/oEkVt3Q.gif" />';
  smileys += '    <img title="Drink" class="cusSmile" alt="drink" src="https://i.imgur.com/Ny8qrd5.gif" />';
  smileys += '    <img title="Coffee" class="cusSmile" alt="coffee" src="https://i.imgur.com/VXVdBNW.gif" />';
  smileys += '    <img title="Cake" class="cusSmile" alt="cake" src="https://i.imgur.com/Qe18IlM.gif" />';
  smileys += '    <img title="Pizza" class="cusSmile" alt="pizza" src="https://i.imgur.com/5Lbz27k.gif" />';
  smileys += '    <img title="Rain" class="cusSmile" alt="rain" src="https://i.imgur.com/jcir7SZ.gif" />';
  smileys += '    <img title="Mail" class="cusSmile" alt="mail" src="https://i.imgur.com/u6mnOPE.gif" />';
  smileys += '    <img title="Music" class="cusSmile" alt="music" src="https://i.imgur.com/jE9cvcV.gif" />';
  smileys += '    <img title="Phone" class="cusSmile" alt="phone" src="https://i.imgur.com/uG1L8TY.gif" />';
  smileys += '    <img title="Weed" class="cusSmile" alt="weed" src="https://i.imgur.com/hAKWhAc.gif" />';
}
// Holiday Smileys
if(HS==1){
  smileys += '    <img title="Pumpkin" class="cusSmile" alt="pumpkin" src="https://i.imgur.com/lLxRQVF.gif" />';
  smileys += '    <img title="Ghost" class="cusSmile" alt="ghost" src="https://i.imgur.com/Y1JxeFL.gif" />';
  smileys += '    <img title="Vampire" class="cusSmile" alt="vampire" src="https://i.imgur.com/PFfpGR1.gif" />';
  smileys += '    <img title="Holiday Spirit" class="cusSmile" alt="holiday spirit" src="https://i.imgur.com/CKzSZGP.gif" />';
  smileys += '    <img title="Santa" class="cusSmile" alt="santa" src="https://i.imgur.com/d4TpzGE.gif" />';
  smileys += '    <img title="Xmas Tree" class="cusSmile" alt="xmas tree" src="https://i.imgur.com/SIc3x1x.gif" />';
}


////////////////// DO NOT EDIT BELOW THIS LINE FOR ANY REASON /////////////////
$(window).load(function(){
// to hide WWT banner
  if(showBanner == 'no'){
    $('div.myFrame:nth-child(2) > div:nth-child(2) > div:nth-child(1) > center:nth-child(1) > img:nth-child(1)').remove();
  }
////////////////////////
// Shout Toolbar
////////////////////////
// Adding Account infos
  if(accInfo == 'yes'){
    var uid = $('div.fltRight:nth-child(2) > a:nth-child(1)').attr('href'); // get user ID
    uid = uid.replace('/account-details.php?id=','');
// this is to get message count (needed for live count)
    function gmc() {
      'use strict';
      var msgCount = [];
      $.ajax({
        type: "GET",
        url: "/api/mail/?id="+uid,
        async: false,
        success: function (data) {msgCount = data.unread;},
        returnData: "json"
      });
      return msgCount;
    }
// get initial message count
    var msg = gmc();
// Defining Buttons
    buttons = '<a class="profile" href="/account-details.php?id='+uid+'"><span style="color:'+icoColor+';" title="Your Account" class="glyphicon glyphicon-user"></span></a>';
    buttons += '<a class="account" href="/account.php"><span style="color:'+icoColor+';" title="Account Settings" class="glyphicon glyphicon-wrench"></span></a>';
    buttons += '<a class="mail" href="/mailbox.php'+((msg != 0) ? '?inbox' : '')+'"><span style="color:'+icoColor+';" title="Your Messages" class="glyphicon glyphicon-envelope"></span><sup id="lCount" style="font-weight:bold;color:'+msgColor+';margin-left:5px;">('+msg+')</sup></a>';
// Adding the buttons
    $('div.myFrame:nth-child(6) > div:nth-child(1)').append(buttons);
// this will keep the count updated (big shoutout to PX for help here)
    function liveCount(){
      var newMsg = gmc();
      $('#lCount').text('('+newMsg+')');
      $('a.mail').prop('href','/mailbox.php'+((newMsg != 0) ? '?inbox' : '')+'');
    }
    setInterval(liveCount, 90000);
  }
////////////////////////
// Add Smileys + Buttons
////////////////////////
// Adding smiley sets
  $('tr.shoutbox_messageboxback').after('<tr><td id="cusSmileBox">'+smileys+Csmileys+'</td></tr>');
// CSS for smileys
  $('.cusSmile').css({'cursor': 'pointer', 'max-height': '25px'});
// colorize button
  $('#submit_shout').after('&nbsp;<input id="color_shout" value="Colorize" type="button" title="Wraps post in defined color">');
////////////////////////
// BBCode Box
////////////////////////
// Defining Buttons
  var bbButtons='BBCode Functions<hr /><br />';
  bbButtons += '<input class="bbImg" type="submit" value="IMG" />&nbsp;';
  bbButtons += '<input class="bbUrl" type="submit" value="URL" />&nbsp;';
  //bbButtons += '<input class="bbBold" type="submit" value="Bold" />'; // not yet
// Adding Buttons
  $('#cusSmileBox').after('<td colspan="2" style="text-align:center;vertical-align:top;border:1px solid #000;">'+bbButtons+'</td>');
////////////////////////
// Smiley Function
////////////////////////
  jQuery.fn.extend({
    insertAtCaret: function(myValue){
      return this.each(function(i) {
        if (document.selection) {
          //For browsers like Internet Explorer
          this.focus();
          var sel = document.selection.createRange();
          sel.text = myValue;
        }
        else if (this.selectionStart || this.selectionStart == '0') {
          //For browsers like Firefox and Webkit based
          var startPos = this.selectionStart;
          var endPos = this.selectionEnd;
          var scrollTop = this.scrollTop;
          this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
          this.focus();
          this.selectionStart = startPos + myValue.length;
          this.selectionEnd = startPos + myValue.length;
          this.scrollTop = scrollTop;
        }
        else {
          this.value += myValue;
          this.focus();
        }
      });
    }
  });
////////////////////////
// Click Events
////////////////////////
// Click for smiley
  $('.cusSmile').click(function(){
    var code = $(this).data('code');
    if(code){code = code;}
    else{code = '[img]'+ $(this).attr('src') +'[/img]';}
    $('.shoutbox_msgbox').insertAtCaret(' '+code+'');
  });
// Click for color
  $('#color_shout').click(function(){
    var text = $('.shoutbox_msgbox').val();
    if(text != ''){$('.shoutbox_msgbox').val('[color='+bbColor+'][b]'+text+'[/b][/color]');}
    submit_shout();
  });
////////////////////////
// fix for ff submits
////////////////////////
  if (navigator.userAgent.search("Firefox") >= 0) {
    $('.shoutbox_messageboxback').keydown(function(e) {
      if(e.keyCode == 13 && !e.shiftKey) { // enter not shift+enter
        e.preventDefault();
        submit_shout();
      }
    });
// Shift+Enter submit
    $('.shoutbox_messageboxback').keydown(function(e) {
      if(e.keyCode == 13 && e.shiftKey) {
        e.preventDefault();
        $('#color_shout').click();
      }
    });
  }
////////////////////////
// BBCode clicks
////////////////////////
// Click for IMG
  $('.bbImg').click(function(e){
    r=prompt('PLEASE_ENTER_THE_FULL_URL_FOR_YOUR_IMAGE\n\rONLY .png, .jpg, .gif images');
    if(r !== null && r !== ''){$('.shoutbox_msgbox').insertAtCaret('[img]'+r+'[/img]');}
  });
// Click for URL
  $('.bbUrl').click(function(e){
    l=prompt('PLEASE_ENTER_THE_FULL_URL');
    if(l !== null){
      t=prompt('PLEASE_ENTER_THE_TITLE');
      if(t === null || t === ''){$('.shoutbox_msgbox').insertAtCaret('[url]'+l+'[/url]');}
      else{$('.shoutbox_msgbox').insertAtCaret('[url='+l+']'+t+'[/url]');}
    }
  });
/*
// Click for Bold
  $('.bbBold').click(function(e){
    var text = 'highlighted text from input';
    $('.shoutbox_msgbox').insertAtCaret('[b]'+text+'[/b]');
  });
*/
}); // all done