Guest User

Untitled

a guest
Aug 6th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.83 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Mirkohelper
  3. // @namespace http://www.wykop.pl/ludzie/osael/
  4. // @description Niezbędnik każdego Mirka!
  5. // @author osael
  6. // @version 2.2
  7. // @grant none
  8. // @include https://www.wykop.pl/mikroblog*
  9. // @include https://www.wykop.pl/wpis*
  10. // @include https://www.wykop.pl/tag*
  11. // @include https://www.wykop.pl/ludzie*
  12. // @include https://www.wykop.pl/dodatki*
  13. // @include https://www.wykop.pl/wiadomosc-prywatna*
  14. // @include https://www.wykop.pl/moj*
  15. // @run-at document-end
  16. // ==/UserScript==
  17. //Bazowane na kilku innych dodatkach.
  18. //To jest mój pierwszy skrypt. Powiedz jeżeli coś jest nie tak jak powinno lub mogłobyć zrobione lepiej.
  19. //Podziekowania dla @Ginden oraz @kasper93.
  20.  
  21. //WERSJA TESTOWA POD NOWY WYPOK
  22.  
  23.  
  24. function main() {
  25.  
  26.  
  27. //------------ TU SIE DEFINIUJEMY ---------------------
  28. //( ͡° ͜ʖ ͡°)
  29. var MirkoEmotki = [
  30. '( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)',
  31. '( \u0361\u00B0 \u0296\u032F \u0361\u00B0)',
  32. '( \u0361\u00BA \u035C\u0296\u0361\u00BA)',
  33. '( \u0361\u00B0( \u0361\u00B0 \u035C\u0296( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\u0296 \u0361\u00B0) \u0361\u00B0)',
  34. '(\u2310 \u0361\u25A0 \u035C\u0296 \u0361\u25A0)',
  35. '(\u30FB\u3078\u30FB)',
  36. '\u10DA(\u0CA0_\u0CA0 \u10DA)',
  37. '(\u2565\uFE4F\u2565)',
  38. '(\u256F\uFE35\u2570,)',
  39. '( \u0361; \u0296\u032F \u0361;)',
  40. '( \u203E\u0296\u032B\u203E)',
  41. '(\u0298\u203F\u0298)',
  42. '(\uFF61\u25D5\u203F\u203F\u25D5\uFF61)',
  43. '\u1559(\u21C0\u2038\u21BC\u2036)\u1557',
  44. '\u1566(\u00F2_\u00F3\u02C7)\u1564',
  45. '(\u270C \uFF9F \u2200 \uFF9F)\u261E',
  46. 't(\u30C4)_/\u00AF',
  47. '\u25D5\u203F\u25D5',
  48. '(\uFF9F\uFF70\uFF9F)',
  49. '(>\u10DA)',
  50. '\uFD3E\u0361\u0E4F\u032F\u0361\u0E4F\uFD3F',
  51. '\u0CA0_\u0CA0',
  52. '\u0628_\u0628',
  53. '\u30FD( \u035D\u00B0 \u035C\u0296\u0361\u00B0)\uFF89',
  54. '( \u0361\u00B0\u256D\u256E\u0361 \u00B0)',
  55. '\u0295\u2022\u1D25\u2022\u0294',
  56. '\u1D98\u1D52\u1D25\u1D52\u1D85',
  57. '(\u2312(oo)\u2312)',
  58. '\u113D\u1F41\u020D \u032A \u0151\u1F40\u113F'
  59. ];
  60. //Emotki proponowne przez mirki na #mirkohelper
  61. var MirkoEmotkiUsr = [
  62. '( \u0361\u20AC \u035C\u0296 \u0361\u20AC)',
  63. '\u10DA(\u0301\u25C9\u25DE\u0C6A\u25DF\u25C9\u2035\u10DA)',
  64. '(\u3002\u30D8\u00B0)',
  65. '(\uFE36\uFE39\uFE3A)',
  66. '(\u2310 \u0361\u25A0 \u035F\u0296 \u0361\u25A0)',
  67. '(\u1D54\u1D25\u1D54)',
  68. '(\u222A_\u222A)\uFF61\uFF61\uFF61zzz',
  69. '( \u0361~ \u035C\u0296 \u0361~) ',
  70. '\u30FD\u0F3C\u0E88\u0644\u035C\u0E88\u0F3D\uFF89',
  71. '(\u00AC\u203F\u00AC)',
  72. '(\uFF89\u00B4\u30EE\u00B4)\uFF89*:\uFF65\uFF9F\u2727',
  73. '\u30FE(\u2310\u25A0_\u25A0)\u30CE\u266A',
  74. '( \u02D8 \u00B3\u02D8)\u2665',
  75. '( \u0E07 \u0361\u00B0\u256D\u035C\u0296\u256E\u0361\u00B0 ) \u0E07',
  76. '(\u0E07 \u2022\u0300_\u2022\u0301)\u0E07 ',
  77. '( \u02D8\u25BD\u02D8)\u3063\u2668',
  78. '(\u0E07 \u0360\u00B0 \u035F\u0296 \u0361\u00B0)\u0E07',
  79. '(\u256F\u00B0\u25A1\u00B0\uFF09\u256F\uFE35 \u253B\u2501\u253B',
  80. '\u252C\u2500\u2500\u252C\u25E1\uFF89(\u00B0 -\u00B0\uFF89)'
  81.  
  82. ];
  83.  
  84. var MirkoEmotkiBig = [
  85. '( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\n( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\uFF89\u2310\u25A0-\u25A0\n(\u2310 \u0361\u25A0 \u035C\u0296 \u0361\u25A0)',
  86. '\u252C\u2534\u252C\u2534\u2524 ( \u0361\u00B0 \u035C\u0296\u251C\u252C\u2534\u252C\u2534',
  87. '\u255A\u2550( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\u2550\u255D\n\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n.\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n..\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u2026\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u2026\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n..\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n.\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n.\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n..\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u2026\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u2026\u255A\u2550(\u2588\u2588\u2588)\u2550\u255D\n\u2026..\u255A(\u2588\u2588\u2588)\u255D\n\u2026\u2026\u255A(\u2588\u2588)\u255D\n\u2026\u2026\u2026(\u2588)\n\u2026\u2026\u2026.*',
  88. '\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u3000 \u2227__\u2227\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 \u3000( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u2282\u3000\u3000\u3064\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000(\u3064 \uFF89\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000 (\u30CE\n\u3000\u3000\u3000\u3000\u3000\uFF3C\u3000\u3000\u3000\u3000\u3000\u3000\u2606\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000|\u3000\u3000\u3000\u3000\u3000\u2606\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000(\u2312 \u2312\u30FD\u3000\u3000\u3000/\n\u3000\u3000\u3000\u3000\uFF3C\u3000\u3000\uFF08\u00B4\u2312\u3000\u3000\u2312\u3000\u3000\u2312\u30FE\u3000\u3000\u3000\uFF0F\n\u3000\u3000\u3000\u3000\u3000 \uFF08\u2019\u2312\u3000;\u3000\u2312\u3000\u3000\u3000::\u2312\u3000\u3000\uFF09\n\u3000\u3000\u3000\u3000\u3000\uFF08\u00B4\u3000\u3000\u3000\u3000\u3000\uFF09\u3000\u3000\u3000\u3000\u3000:::\u3000\uFF09\u3000\uFF0F\n\u3000\u3000\u2606\u2500\u3000\uFF08\u00B4\u2312;:\u3000\u3000\u3000\u3000::\u2312`\uFF09\u3000:;\u3000\u3000\uFF09\n\u3000\u3000\u3000\u3000\u3000\uFF08\u2312::\u3000\u3000\u3000::\u3000\u3000\u3000\u3000\u3000::\u2312\u3000\uFF09\n\u3000\u3000 \u3000\uFF0F\u3000\uFF08\u3000\u3000\u3000\u3000\u309D\u3000\u3000\u30FE\u3000\u4E36\u3000\u3000\u30BD\u3000\u2500',
  89. '\u2588\u25A0\u2588 \u2588 \u2580\u2588\u2580'
  90. ];
  91. var MirkoEmotkiBigDesc = [
  92. '(\u2310 \u0361\u25A0 \u035C\u0296 \u0361\u25A0)',
  93. '( \u0361\u00B0 \u035C\u0296\u251C\u252C',
  94. '\u255A\u2550( \u0361\u00B0 \u035C\u0296 \u0361\u00B0)\u2550\u255D',
  95. '( ͡° ͜ʖ ͡°)',
  96. 'HIT'
  97. ];
  98.  
  99. var MirkoSmieszki = '';
  100. var MirkoSmieszkiusr = '';
  101. var MirkoSmieszkiBig = [];
  102. //A tu kolor linkow. Potrzebne pod nocny/dzienny
  103. var classColor = $('a.editlenny').css("color");
  104.  
  105. //CSSki
  106. $("<style type='text/css'> .color { color:"+classColor+" !important; } </style>").appendTo("head");
  107. $("<style type='text/css'> .mirkosmieszek { min-width: 30px; float: left; padding: 0 5px 0px 0px;} </style>").appendTo("head");
  108. $("<style type='text/css'> #mirkohelper { position: absolute; width: 500px; height: 85px; line-height: 21px !important; padding: 0px !important; min-height: 0px !important; } </style>").appendTo("head");
  109. $("<style type='text/css'> #mirki { text-align: justify; border: 0px !important; padding: 0px !important; margin: 4px; } </style>").appendTo("head");
  110. $("<style type='text/css'> #mirkiusr { text-align: justify; border: 0px !important; padding: 0px !important; margin: 4px; display: none; } </style>").appendTo("head");
  111. $("<style type='text/css'> div#halp { border: 0px !important; padding: 0px !important; margin: 4px; display: none; } </style>").appendTo("head");
  112. $("<style type='text/css'> .mirkoButtons { position: absolute; float: left; z-index: 101; bottom: -4px; left: 3px; font-size: 9px; } </style>").appendTo("head");
  113. $("<style type='text/css'> .mirkoFooter { position: absolute; font-size: 9px; right: 3px; bottom: -3px; } </style>").appendTo("head");
  114.  
  115. //Mielenie emotek
  116. MirkoEmotki.forEach(function(el){
  117. MirkoSmieszki += '<a href="#" class="mirkosmieszek color" data-smieszek="'+el+'">'+el+'</a>';
  118. });
  119. MirkoEmotkiUsr.forEach(function(el){
  120. MirkoSmieszkiusr += '<a href="#" class="mirkosmieszek color" data-smieszek="'+el+'">'+el+'</a>';
  121. });
  122. $.map(MirkoEmotkiBig, function (el, idx) {
  123. var desc = MirkoEmotkiBigDesc[idx];
  124. MirkoSmieszkiBig += '<a href="#" class="mirkosmieszek color" data-smieszek="'+el+'" title="'+el+'">'+desc+'</a>';
  125.  
  126. });
  127. /*MirkoEmotkiBig.forEach(function(el){
  128. MirkoSmieszkiBig += '<a href="#" class="mirkosmieszek color" data-smieszek="'+el+'">'+el+'</a>';
  129. });
  130. */
  131. //DA JOB
  132. if(window.location.href.indexOf("ulubione") <0) {
  133. //Usuwamy Maciejowego helpera / Sorry Kaciej
  134. $('div.grid-main div.ddC div.dropdown table').remove();
  135.  
  136. //I dodajemy prawilny MirkoHelper
  137. $('div.grid-main div.ddC div.dropdown').prepend('<div id="mirkohelper" class="summary"></div>');
  138. $('div#mirkohelper').append('<div id="mirki">'+ MirkoSmieszki +'</div>');
  139. $('div#mirkohelper').append('<div id="mirkiusr" class="bgfff rel">'+ MirkoSmieszkiusr +'</div>');
  140. $('div#mirkohelper').append('<div id="moar" class="bgfff rel"><div id="halp">'+ MirkoSmieszkiBig +'</div></div>');
  141. $('div#mirkohelper').prepend('<span class="mirkoButtons" style=""><a href"#" class="color" id="halp">BIG</a> <a href="#" class="color" id="moar">WINCYJ!</a></span>');
  142. $('div#mirkohelper').append('<span class="mirkoFooter"><a class="color" href="http://www.wykop.pl/dodatki/pokaz/291/" title="Strona MirkoHelpera" target="_blank">MirkoHelper</a> by <a class="color" href="http://www.wykop.pl/ludzie/Osael/" target="_blank" title="( ͡° ͜ʖ ͡°) usuń konto">@osael</a></span>');
  143. }
  144. //A teraz obsluga tego towarzystwa
  145.  
  146. //Wstawianie wybranej emotki tam gdzie jest kursor
  147. $(document).on('click', 'a.mirkosmieszek', function() {
  148. var smieszko = ($(this).attr("data-smieszek"));
  149. jQuery(this).closest('form').find('textarea').insertAtCaret(smieszko+" ");
  150. return false;
  151. });
  152.  
  153. //chowanie MOAR! pokazywanie WINCYJ! i w ogóle dziwki, koks i lasery
  154. $(document).on("click", 'a#halp', function(){
  155. if( $('div#mirki').is(':visible') ) {
  156. $('div#mirki').hide();
  157. $('div#mirkiusr').hide();
  158. $('div#halp').show();
  159. } else if ( $('div#mirkiusr').is(':visible') ) {
  160. $('div#mirkiusr').hide();
  161. $('div#mirki').hide();
  162. $('div#halp').show();
  163. } else {
  164. $('div#halp').hide();
  165. $('div#mirki').show();
  166. }
  167. return false;
  168. });
  169. //niezle pojebane, nie? ale dziala! :D
  170. $(document).on("click", 'a#moar', function(){
  171. if( $('div#mirki').is(':visible') ) {
  172. $('div#mirki').hide();
  173. $('div#mirkiusr').show();
  174. } else if ( $('div#mirkiusr').is(':visible') ) {
  175. $('div#mirkiusr').hide();
  176. $('div#mirki').show();
  177. } else {
  178. $('div#mirkiusr').show();
  179. }
  180. $('div#halp').hide();
  181. return false;
  182. });
  183.  
  184.  
  185. //Skrypcik na wstawianie MirkoEmotki gdzie jest kursor
  186. jQuery.fn.extend({
  187. insertAtCaret: function(myValue){
  188. return this.each(function(i) {
  189. if (document.selection) {
  190. //For browsers like Internet Explorer
  191. this.focus();
  192. var sel = document.selection.createRange();
  193. sel.text = myValue;
  194. this.focus();
  195. }
  196. else if (this.selectionStart || this.selectionStart == '0') {
  197. //For browsers like Firefox and Webkit based
  198. var startPos = this.selectionStart;
  199. var endPos = this.selectionEnd;
  200. var scrollTop = this.scrollTop;
  201. this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
  202. this.focus();
  203. this.selectionStart = startPos + myValue.length;
  204. this.selectionEnd = startPos + myValue.length;
  205. this.scrollTop = scrollTop;
  206. } else {
  207. this.value += myValue;
  208. this.focus();
  209. }
  210. });
  211. }
  212. });
  213.  
  214. }
  215.  
  216. if (typeof $ == 'undefined') {
  217. if (typeof unsafeWindow !== 'undefined' && unsafeWindow.jQuery) {
  218. // Firefox
  219. var $ = unsafeWindow.jQuery;
  220. main();
  221. } else {
  222. // Chrome
  223. addJQuery(main);
  224. }
  225. } else {
  226. // Opera >.>
  227. main();
  228. }
  229.  
  230. //what is this i dont even
  231. function addJQuery(callback) {
  232. var script = document.createElement("script");
  233. script.textContent = "(" + callback.toString() + ")();";
  234. document.body.appendChild(script);
  235. }
Advertisement
Add Comment
Please, Sign In to add comment