PornoLab User Menu

Adds a dropdown with quick search links for users in forum topics (e.g. messages by author)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  1. // ==UserScript==
  2. // @name PornoLab User Menu
  3. // @namespace copyMister
  4. // @version 1.3
  5. // @description Adds a dropdown with quick search links for users in forum topics (e.g. messages by author)
  6. // @description:ru Добавляет выпадающее меню со ссылками на сообщения пользователя в теме (и другие ссылки)
  7. // @author copyMister
  8. // @license MIT
  9. // @match https://pornolab.net/forum/viewtopic.php*
  10. // @match https://pornolab.cc/forum/viewtopic.php*
  11. // @match https://pornolab.biz/forum/viewtopic.php*
  12. // @match https://pornolab.lib/forum/viewtopic.php*
  13. // @icon https://www.google.com/s2/favicons?sz=64&domain=pornolab.net
  14. // @run-at document-body
  15. // @grant none
  16. // @homepageURL https://pornolab.net/forum/viewtopic.php?t=2714164
  17. // ==/UserScript==
  18.  
  19. (function() {
  20. 'use strict';
  21.  
  22. $.holdReady(true);
  23.  
  24. document.addEventListener('DOMContentLoaded', function() {
  25. if (!document.querySelector('#quick-search')) {
  26. $.holdReady(false);
  27. return;
  28. }
  29.  
  30. var topicId = document.querySelector('#topic-title').href.split('=')[1];
  31. var forumId = document.querySelector('option[value^="search.php?f="]').value.split('=')[1];
  32.  
  33. document.querySelectorAll('#topic_main .post_btn_2').forEach(function(div) {
  34. var userId = div.firstElementChild.href.split('=')[2];
  35. var userName = div.closest('tbody').querySelector('.poster_info > .nick').textContent.trim();
  36. var userMenu = `usermenu-${userId}`;
  37.  
  38. div.insertAdjacentHTML(
  39. 'beforeend',
  40. `<a class="txtb menu-root without-caret" href="#${userMenu}">[▼]</a>`
  41. );
  42.  
  43. if (!document.querySelector(`#${userMenu}`)) {
  44. document.body.insertAdjacentHTML(
  45. 'beforeend',
  46. `<div id="${userMenu}" class="menu-sub"><div class="menu-a bold nowrap">
  47. <table style="width: 100%; border-collapse: collapse; border: 0;">
  48. <tr><th style="font-size: 12px; padding: 4px 12px;">${userName}</th></tr>
  49. </table>
  50. <a class="med" href="search.php?uid=${userId}&t=${topicId}&dm=1">Сообщения в этой теме</a>
  51. <a class="med" href="search.php?uid=${userId}&f=${forumId}&dm=1">Сообщения в этом разделе</a>
  52. <a class="med" href="search.php?uid=${userId}&search_author=1">Сообщения по всему трекеру</a>
  53. <a class="med" href="search.php?uid=${userId}&myt=1">Начатые темы</a>
  54. <a class="med" href="tracker.php?rid=${userId}">Раздачи</a></div></div>`
  55. );
  56. }
  57. });
  58.  
  59. $.holdReady(false);
  60. });
  61. })();