Greasy Fork is available in English.
Поик открытых тем
// ==UserScript== // @name hwm_pz_scaner // @namespace https://greasyfork.org/ru/users/170936 // @description Поик открытых тем // @author Kleshnerukij // @version 1.0.4 // @include https://www.heroeswm.ru/forum_thread.php?id=25* // @include https://www.lordswm.com/forum_thread.php?id=25* // @include http://178.248.235.15/forum_thread.php?id=25* // ==/UserScript== (function() { var num_page = "10"; var cur_page = "0"; var res = ""; var url = ""; var page = ""; var full_res = ""; var full_file = ""; var start_temp = ''; var end_temp = ''; var xhr = new XMLHttpRequest(); var search_opth = /<tr( class='second'|)><td style=\'padding-top:6px;padding-bottom:6px;\'><a href=\'forum_messages\.php\?tid=(\d+)\'>(.*?)<\/a><\/td><td>.*?<\/td><td>\d+<\/td><td><a.*?href=\'pl_info\.php\?id=(\d+)\'>(.*?)<\/a>/igm; var search_tdata = /tid=(\d+)\'>(.*?)<.*?id=(\d+)\'>(.*?)</i; var c_head_table = document.getElementsByClassName('table3 forum c_darker td_bordered')[0]; var c_head_tr = document.getElementsByClassName('table3 forum c_darker td_bordered')[0].getElementsByTagName('tr')[0]; var c_head = document.getElementsByClassName('table3 forum c_darker td_bordered')[0].getElementsByTagName('th')[0]; var c_div_star = document.createElement('div'); c_div_star.style.display = "none"; c_div_star.id = "c_div_star"; var c_span_star = document.createElement('span'); c_span_star.innerHTML = " ✯"; c_span_star.onclick = function(){c_div_star.style.display = "inline-block";c_div_star.style.display = "inline-block";c_span_star.style.display = "none";}; c_span_star.style.cursor = "pointer"; var c_span_from = document.createElement('span'); c_span_from.innerHTML = " с "; var c_span_before = document.createElement('span'); c_span_before.innerHTML = " по "; var c_span_nbsp = document.createElement('span'); c_span_nbsp.innerHTML = " "; var c_span_nbsp2 = document.createElement('span'); c_span_nbsp2.innerHTML = " "; var c_from = document.createElement('input'); c_from.id = "c_from"; c_from.style.width = "50px"; var c_before = document.createElement('input'); c_before.id = "c_before"; c_before.style.width = "50px"; var c_button = document.createElement('input'); c_button.type = "button"; c_button.value = "Искать"; c_button.onclick = start_search; var c_status = document.createElement('span'); c_status.id = "res_search"; c_status.innerHTML = ""; var download_link = document.createElement("a"); download_link.title = "Скачать итоговый файл (csv)"; download_link.download = "thread_list.csv"; download_link.appendChild(document.createTextNode('Скачать')); var c_res_tr = document.createElement('tr'); var c_res_td = document.createElement('td'); c_div_star.appendChild(c_span_from); c_div_star.appendChild(c_from); c_div_star.appendChild(c_span_before); c_div_star.appendChild(c_before); c_div_star.appendChild(c_span_nbsp); c_div_star.appendChild(c_button); c_div_star.appendChild(c_span_nbsp2); c_div_star.appendChild(c_status); c_head.appendChild(c_span_star); c_head.appendChild(c_div_star); var res_search = document.getElementById('res_search'); function start_search() { start_temp = document.getElementById('c_from').value; end_temp = document.getElementById('c_before').value; getPage((start_temp-1), end_temp); } function getPage(start_pg, end_pg) { url = "https://www.heroeswm.ru/forum_thread.php?id=25&page="+start_pg; xhr.open('GET', url); xhr.send(); xhr.onload = function() { if (xhr.status != 200) { // анализируем HTTP-статус ответа, если статус не 200, то произошла ошибка } else { page = xhr.responseText; var page = page.match(search_opth); if (page != undefined) { page.forEach(GetOpenTheme); } res_search.innerHTML = "Обработано: "+(start_pg+1)+"/"+end_pg+" "; start_pg++; if (start_pg < end_pg) { getPage(start_pg, end_pg); } else { let del_end = true; while (del_end) { if (c_head_table.getElementsByTagName("tr")[1] !== undefined) { var del_tr = c_head_table.getElementsByTagName("tr")[1]; del_tr.remove(); } else { del_end = false; } } c_head_table.innerHTML += full_res; var uri = 'data:text/csv;charset=utf-8,' + full_file; download_link.href = uri; document.getElementById("c_div_star").appendChild(download_link); } } } } function GetOpenTheme(item, index) { var res = item.match(search_tdata); full_res += '<tr><td><a href="https://www.heroeswm.ru/forum_messages.php?tid='+res[1]+'">'+res[2]+'</a></td><td colspan="4"><a href="https://www.heroeswm.ru/pl_info.php?id='+res[3]+'">'+res[4]+'</a></td></tr>'; full_file += 'https://www.heroeswm.ru/forum_messages.php?tid='+res[1]+'\n'; } })();