Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @encoding utf-8
- // @name pd-smiles custom
- // @version 0.03
- // @author 2poy, KaRniZZZ
- // @match https://prodota.ru/forum/index.php?showtopic=*
- // @match https://prodota.ru/forum/index.php?app=*
- // @match https://prodota.ru/forum/index.php?s=*
- // @match https://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 == 'https://prodota.ru/forum/index.php?'){
- foo = pageType.REPLY_FULL;
- }
- else if(document.URL.indexOf('https://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( //Стандартные смайлы ПД
- 'buba', 'avtorklif', 'prayy', 'zloy', 'lol', 'sosew', 'geys', 'trollface', 'popcorn', 'smile', 'sad', 'dunno', 'palevojein', 'yes', 'ginsgnil', 'geypalevonew', 'fie', 'fuckyou',
- '<hr>'
- );
- smileList.push( // DOTO
- 'http://www.cyberfrags.com/sml/cool.gif','http://www.cyberfrags.com/sml/give.gif',
- 'http://www.cyberfrags.com/sml/wink.gif','http://www.cyberfrags.com/sml/facepalm.gif',
- 'http://www.cyberfrags.com/sml/hex.gif','http://www.cyberfrags.com/sml/laugh.gif',
- 'http://www.cyberfrags.com/sml/blush.gif','http://www.cyberfrags.com/sml/rage.gif',
- 'http://www.cyberfrags.com/sml/huh.gif','http://www.cyberfrags.com/sml/hush.gif',
- 'http://www.cyberfrags.com/sml/cheeky.gif',
- '<hr>'
- );
- var smiles = smileList.map(smile).join(''),
- styles2 = '<style>#smiles_2poy {padding: 8px;opacity:0.9} #smiles_2poy img {margin: 1px; max-height: 27px !important;}'+
- '#smiles_2poy hr{display:block;clear:both;background:none;border:1px solid rgba(96, 0, 255, 0.1);}</style>';
- function smile(smile, alt) {
- function url(smile) {
- if(smile.slice(0,4)=='http') return smile;
- return "https://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(var i in els) {try{els[i].removeAttribute('rel');}catch(e){}}
- }, 1000);
- for(var 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);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement