// ======================================= // СПИСОК ЗАБЛОКИРОВАННЫХ // ======================================= var block = [ "Чужая2_3", "ник1", "ник2", ]; // ======================================= // ОТКРЫВАТЬ ТЕМЫ С ПОСЛЕДНЕГО СООБЩЕНИЯ // 1 открывать с последнего сообщения // не 1 открывать как обычно // ======================================= var open_bottom = 1; // ======================================= // ВАШИ СМАЙЛЫ // 1 панель смайлов по умолчанию открыта // не 1 (например 0) панель смайлов по умолчанию скрыта // массив смайлов - url картинки и bbcode смайла, брать отсюда: // http://forums.kuban.ru/misc.php?do=getsmilies&editorid=vB_Editor_001 // ======================================= var smiles = 0; var smiles_array = [ ['http://forums.kuban.ru/images/smilies/shocked.gif', ':shocked:'], ['http://forums.kuban.ru/images/smilies/Cry.gif', ':Cry:'], ['http://forums.kuban.ru/images/smilies/music.gif', ':music:'], ['http://forums.kuban.ru/images/smilies/eek.gif', ':eek:'], ['http://forums.kuban.ru/images/smilies/pop2.gif', ':pop2:'], ['http://forums.kuban.ru/images/smilies/banplease.gif', ':banplease:'], ['http://forums.kuban.ru/images/smilies/boink.gif', ':boink:'], ['http://forums.kuban.ru/images/smilies/drum.gif', ':drum:'], ['http://forums.kuban.ru/images/smilies/heh.gif', ':heh:'], ['http://forums.kuban.ru/images/smilies/rolleyes.gif', ':rolleyes:'], ['http://forums.kuban.ru/images/smilies/yo.gif', ':yo:'], ['http://forums.kuban.ru/images/smilies/thumb.gif', ':thumb:'], ['http://forums.kuban.ru/images/smilies/ban.gif', ':ban:'], ['http://forums.kuban.ru/images/smilies/crazy.gif', ':crazy:'], ['http://forums.kuban.ru/images/smilies/high5.gif', ':high5:'], ['http://forums.kuban.ru/images/smilies/sleep.gif', ':sleep:'], ['http://forums.kuban.ru/images/smilies/pizza.gif', ':pizza:'], ['http://forums.kuban.ru/images/smilies/drama.gif', ':drama:'], ['http://forums.kuban.ru/images/smilies/ranger.gif', ':ranger:'], ['http://forums.kuban.ru/images/smilies/doh.gif', ':doh:'], ['http://forums.kuban.ru/images/smilies/popcorn.gif', ':popcorn:'], ['http://forums.kuban.ru/images/smilies/cheer2.gif', ':cheer2:'], ['http://forums.kuban.ru/images/smilies/rant.gif', ':rant:'], ]; // ======================================= // Открываем страницу с последнего сообщения // ======================================= if(open_bottom == 1) { const open_el = document.getElementById('vB_Editor_QR_textarea'); open_el.scrollIntoView(); } // ======================================= // ЧС исполняемый код // ======================================= var posts = document.getElementsByClassName("alt2"); for (var i = 0; i < posts.length; i++) { if(posts[i].querySelector("div > a > b") != null) { if(block.indexOf(posts[i].querySelector("div > a > b").innerText) != -1) { var el = posts[i].querySelector("div > a > b").parentNode.parentNode.parentNode.parentNode; el.style.visibility = "collapse"; } } } // ======================================= // YOUTUBE справочно, неисполняемый код // ======================================= function youtube_parser(url) { var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]{11,11}).*/; var match = url.match(regExp); if (match) if (match.length >= 2) return match[2]; } function addTextAtCursorPosition(textArea, cursorPosition, text) { var front = (textArea.value).substring(0, cursorPosition); var back = (textArea.value).substring(cursorPosition, textArea.value.length); textArea.value = front + text + back; } function updateCursorPosition(cursorPosition, text, textArea) { cursorPosition = cursorPosition + text.length; textArea.selectionStart = cursorPosition; textArea.selectionEnd = cursorPosition; textArea.focus(); } function addTextAtCaret(textAreaId, text) { var videoID = youtube_parser(text); if(videoID !== undefined) { videoID = '[youtube]' + videoID + '[/youtube]'; var textArea = document.getElementById(textAreaId); var cursorPosition = textArea.selectionStart; addTextAtCursorPosition(textArea, cursorPosition, videoID); updateCursorPosition(cursorPosition, videoID, textArea); } } function addYouTube() { result = prompt("Введите полный URL YouTube:"); if(result) addTextAtCaret('vB_Editor_QR_textarea', result); } // ======================================= // ЦИТИРОВАНИЕ справочно, неисполняемый код // ======================================= function quote_parser(str) { var result = new Array(); var regexp_num = new RegExp(/\d+/); var num = regexp_num.exec(str)[0]; result.push(num); var regexp_name = new RegExp(/'(.*?)'/); var name = regexp_name.exec(str)[0].toString(); name = name.replace(/[']/g,''); result.push(decodeURI(name)); return result; } function quote_selection_new() { var str; var result; var txt = ""; var quote; if (window.getSelection) { txt = window.getSelection().toString(); } else if (document.getSelection) { txt = document.getSelection(); } else if (document.selection) { txt = document.selection.createRange().text; } if(txt != "") { var s = window.getSelection().focusNode.parentElement; for(i = 0; i < document.getElementsByTagName('*').length; i++) { if(s.tagName == "BODY") break; else if(s.tagName == "TR") break; else if(s.parentElement.querySelector('td[style="padding: 5px 5px 20px; color: #0000cc;"]')) { str = s.parentElement.querySelector('a[title="Цитировать выделенный фрагмент"]'); break; } s = s.parentElement; } result = quote_parser(str); quote = '[quote=' + quote_parser(str)[1] + ';' + quote_parser(str)[0] + "]" + txt + "[/quote]"; var textArea = document.getElementById("vB_Editor_QR_textarea"); var cursorPosition = textArea.selectionStart; addTextAtCursorPosition(textArea, cursorPosition, quote); updateCursorPosition(cursorPosition, quote, textArea); } else { bbcode('[quote]','[/quote]'); } } // ======================================= // SCRIPT (аналог eval) делает неисполняемый код исполняемым) // ======================================= var textscript = "function youtube_parser(e){var t=/^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\\&v=)([^#\\\&\\?]{11,11}).*/,o=e.match(t);return o\&\&o.length>=2?o[2]:void 0}function addTextAtCursorPosition(e,t,o){var n=e.value.substring(0,t),r=e.value.substring(t,e.value.length);e.value=n+o+r}function updateCursorPosition(e,t,o){e+=t.length,o.selectionStart=e,o.selectionEnd=e,o.focus()}function addTextAtCaret(e,t){var o=youtube_parser(t);if(void 0!==o){o=\"[youtube]\"+o+\"[/youtube]\";var n=document.getElementById(e),r=n.selectionStart;addTextAtCursorPosition(n,r,o),updateCursorPosition(r,o,n)}}function addYouTube(){result=prompt(\"Введите полный URL YouTube:\"),result\&\&addTextAtCaret(\"vB_Editor_QR_textarea\",result)}function quote_parser(e){var t=new Array,o=new RegExp(/\\d+/),n=o.exec(e)[0];t.push(n);var r=new RegExp(/\'(.*?)\'/),u=r.exec(e)[0].toString();return u=u.replace(/[\']/g,\"\"),t.push(decodeURI(u)),t}function quote_selection_new(){var e,t,o,n=\"\";if(window.getSelection?n=window.getSelection().toString():document.getSelection?n=document.getSelection():document.selection\&\&(n=document.selection.createRange().text),\"\"!=n){var r=window.getSelection().focusNode.parentElement;for(i=0;i 1) { fieldset = document.getElementsByClassName("fieldset").item(2); } else { fieldset = document.getElementsByClassName("fieldset").item(0); } // HILIGHT var highlight = document.createElement('a'); highlight.href = 'javascript:bbcode(\'[highlight]\',\'[/highlight]\')'; highlight.setAttribute('style', 'margin-left: 10px; vertical-align: 4px; background-color: #ffff9e;'); highlight.textContent = "Highlight"; fieldset.querySelector("div").appendChild(highlight); // URL var link = document.createElement('a'); link.href = 'javascript:bbcode(\'[url]\',\'[/url]\')'; link.setAttribute('style', 'margin-left: 10px; vertical-align: 4px;'); link.textContent = "URL"; fieldset.querySelector("div").appendChild(link); // YouTube var youtube = document.createElement('a'); // youtube.setAttribute('href', 'javascript:bbcode(\'[youtube]\',\'[/youtube]\')'); youtube.href = 'javascript:addYouTube()'; youtube.setAttribute('style', 'margin-left: 10px; vertical-align: 4px; text-decoration: none;'); var youtube_text_1 = document.createElement('span'); youtube_text_1.innerText = "YouTube"; youtube_text_1.setAttribute('style', 'text-decoration: underline;'); youtube.appendChild(youtube_text_1); var youtube_text_2 = document.createElement('span'); youtube_text_2.innerText = " 🎬"; //youtube_text_2.style.color = "red"; youtube.appendChild(youtube_text_2); fieldset.querySelector("div").appendChild(youtube); // QUOTE var quote = document.createElement('a'); // quote.href = 'javascript:bbcode(\'[quote]\',\'[/quote]\')'; quote.href = 'javascript:quote_selection_new()'; quote.setAttribute('style', 'margin-left: 10px; vertical-align: 4px; text-decoration: none;'); var quote_text_1 = document.createElement('span'); quote_text_1.innerText = "Цитата"; quote_text_1.setAttribute('style', 'text-decoration: underline;'); quote.appendChild(quote_text_1); var quote_text_2 = document.createElement('span'); quote_text_2.innerText = " 📃"; //quote_text_2.style.color = "red"; quote.appendChild(quote_text_2); fieldset.querySelector("div").appendChild(quote); // ======================================= // МЕГА РАЗДЕЛ СМАЙЛОВ // ======================================= var div_smiles = document.createElement('div'); var div_smiles_show = document.createElement('div'); div_smiles_show.setAttribute('style', 'margin-top: 5px; text-align: right; padding: 2px; padding-right: 5px;'); if(smiles == 1) div_smiles_show.innerHTML = "Скрыть смайлы ⬆"; else div_smiles_show.innerHTML = "Показать смайлы ⬇"; div_smiles_show.setAttribute('id', 'div_smiles_show'); var div_smiles_panel = document.createElement('div'); div_smiles_panel.setAttribute('style', ''); div_smiles_panel.setAttribute('id', 'div_smiles_panel'); if(smiles == 1) div_smiles_panel.style.display = "inline-block"; else div_smiles_panel.style.display = "none"; for(i = 0; iСкрыть смайлы ⬆\"):(e.style.display=\"none\",document.getElementById(\"div_smiles_show\").innerHTML=\"Показать смайлы ⬇\")}function addSmile(e){e+=\" \";var i=document.getElementById(\"vB_Editor_QR_textarea\"),s=i.selectionStart;addTextAtCursorPosition(i,s,e),updateCursorPosition(s,e,i)}"; var script_smile = document.createElement("script"); script_smile.type="text/javascript"; script_smile.innerHTML = textscript_smile; document.getElementsByTagName('head')[0].appendChild(script_smile); /* // ======================================= // SPECIAL for AdelDiamond // ======================================= var imgs = document.getElementById('posts').getElementsByTagName("img"); var regExpGif = /\.gif\b/; for (var i = 0; i < imgs.length; i++) { var match = imgs[i].src.match(regExpGif); if (match) { imgs[i].src = ""; } } */ // ======================================= // Визуальные улучшения // ======================================= var threadadminform = document.getElementsByName('threadadminform'); var threadadminform_table = threadadminform[0].getElementsByTagName('table'); if(threadadminform_table[0].getAttribute('cellpadding') == '4' && threadadminform_table[0].getAttribute('cellspacing') == '1' && threadadminform_table[0].getAttribute('border') == '0') { threadadminform_table[0].style.display = "none"; document.getElementById('vB_Editor_QR_textarea').style.width = "500px"; document.getElementById('vB_Editor_QR_textarea').style.height = "155px"; document.getElementById('vB_Editor_QR_textarea').style.backgroundColor = "white"; document.getElementById('vB_Editor_QR_textarea').style.resize = "both"; } var divs_class_panel = document.getElementsByClassName('panel'); if(divs_class_panel[0].parentNode.getAttribute('class')) { if(divs_class_panel[0].getElementsByTagName('div')[0].getAttribute('align') == "left" && divs_class_panel[0].getElementsByTagName('div')[0].getAttribute('style') == "width: 450px;") { divs_class_panel[0].getElementsByTagName('div')[0].style.width = "500px"; } }