Skip to content

Instantly share code, notes, and snippets.

@KaRniZZZ
Last active July 31, 2016 08:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save KaRniZZZ/8b7c159adac83eadc5a5 to your computer and use it in GitHub Desktop.
Save KaRniZZZ/8b7c159adac83eadc5a5 to your computer and use it in GitHub Desktop.
pd smiles
// ==UserScript==
// @encoding utf-8
// @name pd-smiles
// @version 1.5
// @author 2poy, KaRniZZZ
// @match http://prodota.ru/forum/index.php?showtopic=*
// @match http://prodota.ru/forum/index.php?app=*
// @match http://prodota.ru/forum/index.php?s=*
// @match http://prodota.ru/forum/index.php?
// @icon http://cs406227.vk.me/g26834708/a_1eeba31d.jpg
// @run-at document-start
// @noframes
// @grant none
// ==/UserScript==
var pageType = {
MESSAGE: function(){
var div = document.createElement('div');
div.id = "smiles_2poy";
div.innerHTML += smiles + styles2;
var el = document.getElementsByClassName('ipsBox_withphoto clearfix')[0].children[0];
el.insertBefore(div,el.children[(el.children.length-1)]);
},
REPLY: function(){
var div = document.createElement('div');
div.id = "smiles_2poy";
div.innerHTML += smiles + styles2;
var el = document.getElementById('ips_fastReplyForm');
el.insertBefore(div ,el.children[(el.children.length-1)]);
},
REPLY_FULL: function(){
var div = document.createElement('div');
div.id = "smiles_2poy";
div.innerHTML += smiles + styles2;
var el = document.getElementsByClassName('ipsBox_container ipsLayout_content')[0];
el.insertBefore(div, el.getElementsByClassName('attachments')[0]);
},
MESSAGE_FULL: function(){
var div = document.createElement('div');
div.id = "smiles_2poy";
div.innerHTML += smiles + styles2;
var el = document.getElementsByClassName('ipsBox_container')[0];
el.insertBefore(div, el.getElementsByClassName('attachments')[0]);
}
};
pageType.POST_EDIT = pageType.REPLY_FULL;
pageType.MESSAGE_EDIT = pageType.MESSAGE_FULL;
pageType.MESSAGE_SEND = pageType.MESSAGE_FULL;
var foo;
if (document.URL == 'http://prodota.ru/forum/index.php?'){
foo = pageType.REPLY_FULL;
}
else if(document.URL.indexOf('http://prodota.ru/forum/index.php?showtopic=')!=-1){
foo = pageType.REPLY;
}
else if(document.URL.search('send.*sendReply') != -1){
foo = pageType.MESSAGE_FULL;
}
else if(document.URL.search('showConversation.*topicID') != -1){
foo = pageType.MESSAGE;
}
else if(document.URL.search('editMessage.*topicID') != -1){
foo = pageType.MESSAGE_EDIT;
}
else if(document.URL.search('section=send') != -1){
foo = pageType.MESSAGE_SEND;
}
else if(document.URL.search('post.*edit_post') != -1){
foo = pageType.POST_EDIT;
}
else{
return;
}
var smileList = [];
smileList.push( //Стандартные смайлы ПД
'tusila','petro','buba','avtorklif','http://prodota.ru/forum/public/style_emoticons/default/prayy.gif','rickroll','mameprivet','vihui','zloy','trollface','fffuuu','palevo','lol','sosew','geys','hmm','nate','clown','limon','popcorn','veselimsya','banned','fuckyea','smile','sad','dunno','subj','http://prodota.ru/forum/public/style_emoticons/default/xdnew.gif','avtoradolf','opasnoste','pidorasy','metalhead','snobuedance','nono','wizard','spydance','http://prodota.ru/forum/public/style_emoticons/default/newcry.gif','http://prodota.ru/forum/public/style_emoticons/default/spasibo_podrochil.gif','palevojein','ohmy','http://prodota.ru/forum/public/style_emoticons/default/vaunew.gif','ispug','yes','ohpalevo','_','parovozdjan','ginsgnil','http://prodota.ru/forum/public/style_emoticons/default/geypalevonew.gif','shok','yazik','http://prodota.ru/forum/public/style_emoticons/default/shaytan.gif','spy','veblo_1','^^','metal','fie','huyase','boss','lostneprowaet','bayan','perec','http://prodota.ru/forum/public/style_emoticons/default/ajax_loading.gif','http://prodota.ru/forum/public/style_emoticons/default/a31h54.jpg',
'http://i.imgur.com/4Wt9u4L.gif',
'<hr>'
);
smileList.push( //Смайлы артасяна
'http://doodoo.ru/smiles/anim3/b107.gif',
'http://doodoo.ru/smiles/anim4/bg136.gif',
'http://doodoo.ru/smiles/anim/big89.gif',
'http://doodoo.ru/smiles/anim2/big191.gif',
'http://doodoo.ru/smiles/anim2/big109.gif',
'http://doodoo.ru/smiles/anim/big20.gif',
'http://savepic.org/965777.gif',
'http://doodoo.ru/smiles/anim/big85.gif',
'http://doodoo.ru/smiles/anim/big53.gif',
'http://doodoo.ru/smiles/anim/big21.gif',
'http://doodoo.ru/smiles/anim/big29.gif',
'http://doodoo.ru/smiles/anim2/big117.gif',
'http://doodoo.ru/smiles/anim/hihi.gif',
'http://doodoo.ru/smiles/anim/big52.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07035.gif',
'http://doodoo.ru/smiles/anim/big49.gif',
'http://savepic.org/967838.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07041.gif',
'http://doodoo.ru/smiles/anim/big06.gif',
'http://doodoo.ru/smiles/anim/muede.gif',
'http://doodoo.ru/smiles/anim/big77.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07116.gif',
'http://doodoo.ru/smiles/anim4/bg195.gif',
'http://doodoo.ru/smiles/anim/big32.gif',
'http://doodoo.ru/smiles/anim/big36.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07080.gif',
'http://doodoo.ru/smiles/anim/big135.gif',
'http://doodoo.ru/smiles/anim/big26.gif',
'http://doodoo.ru/smiles/anim/ups.gif',
'http://doodoo.ru/smiles/anim/nein.gif',
'http://doodoo.ru/smiles/anim/big95.gif',
'http://doodoo.ru/smiles/anim2/big170.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07009.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07110.gif',
'http://doodoo.ru/smiles/anim/big114.gif',
'http://doodoo.ru/smiles/anim2/big134.gif',
'http://doodoo.ru/smiles/anim2/big171.gif',
'http://www.yoursmileys.ru/ksmile/blin/k07017.gif',
'http://doodoo.ru/smiles/anim/dance.gif',
'http://doodoo.ru/smiles/anim4/bg062.gif',
'http://doodoo.ru/smiles/anim/big09.gif',
'http://doodoo.ru/smiles/anim/big24.gif',
'http://doodoo.ru/smiles/anim/superschnute.gif',
'http://www.doodoo.ru/smiles/anim4/bg216.gif',
'http://www.doodoo.ru/smiles/anim4/bg083.gif',
'http://www.doodoo.ru/smiles/anim3/b176.gif',
'http://www.doodoo.ru/smiles/anim3/b141.gif',
'http://www.doodoo.ru/smiles/anim3/b111.gif',
'<hr>'
);
smileList.push( //sc2tv
'http://chat.sc2tv.ru/img/a.png',
'http://chat.sc2tv.ru/img/awesome.png',
'http://chat.sc2tv.ru/img/nocomments.png',
'http://chat.sc2tv.ru/img/manul.png',
'http://chat.sc2tv.ru/img/crazy.png',
'http://chat.sc2tv.ru/img/cry.png',
'http://chat.sc2tv.ru/img/glory.png',
'http://chat.sc2tv.ru/img/kawai.png',
'http://chat.sc2tv.ru/img/mee.png',
'http://chat.sc2tv.ru/img/omg.png',
'http://chat.sc2tv.ru/img/mhu.png',
'http://chat.sc2tv.ru/img/sad.png',
'http://chat.sc2tv.ru/img/happycry.png',
'http://chat.sc2tv.ru/img/2.png',
'http://chat.sc2tv.ru/img/mad.png',
'http://chat.sc2tv.ru/img/aangry.png',
'http://chat.sc2tv.ru/img/ii.png',
'http://chat.sc2tv.ru/img/huh.png',
'http://chat.sc2tv.ru/img/notch.png',
'http://chat.sc2tv.ru/img/neponi.png',
'http://chat.sc2tv.ru/img/vaganych.png',
'http://chat.sc2tv.ru/img/ra.png',
'http://chat.sc2tv.ru/img/epeka.png',
'http://chat.sc2tv.ru/img/smith.png',
'http://chat.sc2tv.ru/img/mini-happy.png',
'http://chat.sc2tv.ru/img/harupeka.png',
'http://chat.sc2tv.ru/img/spok.png',
'http://chat.sc2tv.ru/img/sml.png',
'http://chat.sc2tv.ru/img/uuu.png',
'http://chat.sc2tv.ru/img/vanga.png',
'http://chat.sc2tv.ru/img/deal.png',
'http://chat.sc2tv.ru/img/rnbw.png',
'http://chat.sc2tv.ru/img/ukrpeka.png',
'http://chat.sc2tv.ru/img/yopeka.png',
'http://chat.sc2tv.ru/img/hmpeka.png',
'http://chat.sc2tv.ru/img/butth.png',
'http://chat.sc2tv.ru/img/pekaking.png',
'http://chat.sc2tv.ru/img/ocry.png',
'http://chat.sc2tv.ru/img/opeka.png',
'http://chat.sc2tv.ru/img/zmbeka.png',
'http://chat.sc2tv.ru/img/richpeka.png',
'http://chat.sc2tv.ru/img/pled.png',
'http://chat.sc2tv.ru/img/kid2.png',
'http://chat.sc2tv.ru/img/yeah.png',
'http://chat.sc2tv.ru/img/putin.png',
'http://chat.sc2tv.ru/img/vat.png',
'http://chat.sc2tv.ru/img/gay.png',
'http://chat.sc2tv.ru/img/grafon.png',
'http://chat.sc2tv.ru/img/kot.png',
'http://chat.sc2tv.ru/img/facepalm.png',
'http://chat.sc2tv.ru/img/slowpoke.png',
'http://chat.sc2tv.ru/img/wow.png',
'http://chat.sc2tv.ru/img/bear.png',
'http://chat.sc2tv.ru/img/grumpy.png',
'http://chat.sc2tv.ru/img/omsk.png',
'http://chat.sc2tv.ru/img/kuma.png',
'http://chat.sc2tv.ru/img/trollface.png',
'http://chat.sc2tv.ru/img/fuuuu.png',
'http://chat.sc2tv.ru/img/why.png',
'http://chat.sc2tv.ru/img/yao.png',
'http://chat.sc2tv.ru/img/fyeah.png',
'http://chat.sc2tv.ru/img/lol.png',
'http://chat.sc2tv.ru/img/okay.png',
'http://chat.sc2tv.ru/img/alone.png',
'http://chat.sc2tv.ru/img/ewbte.png',
'http://chat.sc2tv.ru/img/wtf.png',
'http://chat.sc2tv.ru/img/daladno.png',
'http://chat.sc2tv.ru/img/megusta.png',
'http://chat.sc2tv.ru/img/bm.png',
'http://chat.sc2tv.ru/img/loool.png',
'http://chat.sc2tv.ru/img/notbad.png',
'http://chat.sc2tv.ru/img/really.png',
'http://chat.sc2tv.ru/img/izi.png',
'http://chat.sc2tv.ru/img/poker.png',
'http://chat.sc2tv.ru/img/kid.png',
'http://chat.sc2tv.ru/img/daya.png',
'http://chat.sc2tv.ru/img/ilied.png',
'http://chat.sc2tv.ru/img/mother-of-the-god.png',
'http://chat.sc2tv.ru/img/shockot.png',
'http://chat.sc2tv.ru/img/bin.png',
'http://chat.sc2tv.ru/img/ploho.png',
'http://chat.sc2tv.ru/img/no.png',
'http://chat.sc2tv.ru/img/daaa.png',
'http://chat.sc2tv.ru/img/banan.png',
'http://chat.sc2tv.ru/img/cap.png',
'http://chat.sc2tv.ru/img/br.png',
'http://chat.sc2tv.ru/img/terminator.png',
'http://chat.sc2tv.ru/img/crab.png',
'http://chat.sc2tv.ru/img/osu.png',
'http://chat.sc2tv.ru/img/tort.png',
'http://chat.sc2tv.ru/img/cougar.png',
'http://chat.sc2tv.ru/img/dobre.png',
'http://chat.sc2tv.ru/img/no-okay.png',
'http://chat.sc2tv.ru/img/konata.png',
'http://chat.sc2tv.ru/img/asuka.png',
'http://chat.sc2tv.ru/img/reimu.png',
'http://chat.sc2tv.ru/img/yoko.png',
'http://chat.sc2tv.ru/img/sex.png',
'http://chat.sc2tv.ru/img/fire.png',
'http://chat.sc2tv.ru/img/nelson.png',
'<hr>'
);
smileList.push( //twitch
'http://www.chatslang.com/images/shortcuts/twitch/admins/kreygasm.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/biblethump.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/bloodtrail.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/failfish.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/kapow.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/kappa.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/keepo.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/pogchamp.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/swiftrage.png',
'http://www.chatslang.com/images/shortcuts/twitch/admins/winwaker.png',
'http://chatslang.com/images/shortcuts/twitch/admins/dansgame.png',
'http://chatslang.com/images/shortcuts/twitch/admins/residentsleeper.png',
'<hr>'
);
var smiles = smileList.map(smile).join(''),
styles2 = '<style>#smiles_2poy {padding: 9px;opacity:0.9} #smiles_2poy img {margin: 1px; max-height: 25px !important;}'+
'#smiles_2poy hr{display:block;clear:both;background:none;border:1px solid #ddd;}</style>';
function smile(smile, alt) {
function url(smile) {
if(smile.slice(0,4)=='http') return smile;
return "http://prodota.ru/forum/public/style_emoticons/default/"+ smile +".gif";
}
return smile=='<hr>'?'<hr>':'<img class="bbc_img" alt="'+ alt +'" src="'+url(smile)+'">';
}
if(navigator.userAgent.indexOf("Firefox") != -1 ){
window.addEventListener('afterscriptexecute', function(e) {
if(e.target.src.search(/default.js/) != -1){
removeOldSmiles();
window.removeEventListener(e.type, arguments.callee, true);
}
});
}
else {
window.addEventListener('load', function(e) {
removeOldSmiles();
window.removeEventListener(e.type, arguments.callee, true);
});
}
function removeOldSmiles(){
document.getElementById('cke_14').onclick = clickSmile;
document.getElementsByClassName('ipsSmileyTray')[0].hide()
document.getElementById('ips_x_smile_show_all').remove();
}
function clickSmile() {
var k = document.getElementById('smiles_2poy');
if (k){
k.remove();
return;
}
foo();
var appendedSmiles = document.querySelectorAll('#smiles_2poy img');
setTimeout(function(){
var els = document.querySelectorAll('[rel="lightbox"]')
for(i in els) {try{els[i].removeAttribute('rel');}catch(e){}}
}, 1000);
for(n in appendedSmiles) {
if(!appendedSmiles[n].addEventListener) return;
appendedSmiles[n].addEventListener('click', function(ev){
var editor = CKEDITOR.instances;
for(var i in editor){
if (editor[i].name.indexOf('editor')>-1) {
editor[i].insertText(' ');
editor[i].insertElement(editor[i].document.createElement('img',{ attributes: { src: ev.target.src, 'class': 'bbc_emoticon' } }));
editor[i].insertText(' ');
}
}
return false;
}, true);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment