Greasy Fork is available in English.

IP-Phone-Forum

Einige kleine Anpassungen

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  1. // ==UserScript==
  2. // @name IP-Phone-Forum
  3. // @version 0.7
  4. // @description Einige kleine Anpassungen
  5. // @author rabe85
  6. // @include *ip-phone-forum.de/*
  7. // @exclude *ip-phone-forum.de/conversations/*
  8. // @grant none
  9. // @namespace https://greasyfork.org/users/156194
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. function ipfforum() {
  16.  
  17. var url_path = window.location.pathname;
  18. var url_array = url_path.split("/");
  19. var url_array_lenght = url_array.length - 1;
  20. var url_switch = url_array[url_array_lenght];
  21.  
  22. // Style herausfinden
  23. var style = document.getElementsByClassName('OverlayTrigger Tooltip')[0].innerHTML;
  24.  
  25. if(style == 'Xenith') {
  26.  
  27. // Sidebar ausblenden (außer bei PNs / Unterhaltungen)
  28. $('.uix_mainSidebar').remove();
  29.  
  30. // Seite breiter darstellen
  31. var page_width_xenith0 = document.getElementsByClassName('mainContainer');
  32. for(var pwx = 0, page_width_xenit; !!(page_width_xenit=page_width_xenith0[pwx]); pwx++) {
  33. page_width_xenit.setAttribute('style','float:none; width:auto;');
  34. }
  35.  
  36. // Abstand zwischen BreadBox und Content erzwingen
  37. var breadbox_content0 = document.getElementsByClassName('breadBoxTop');
  38. for(var bc = 0, breadbox_content; !!(breadbox_content=breadbox_content0[bc]); bc++) {
  39. breadbox_content.setAttribute('style','margin-top:25px; margin-right:0px; margin-bottom:25px; margin-left:0px;');
  40. }
  41.  
  42. if(url_array[1] == 'forums' && !url_array[2]) {
  43. // BreadBox anzeigen
  44. var breadbox_show0 = document.getElementsByClassName('uix_contentFix');
  45. for(var bs = 0, breadbox_show; !!(breadbox_show=breadbox_show0[bs]); bs++) {
  46. breadbox_show.insertAdjacentHTML('beforebegin', '<div class="breadBoxTop" style="margin-top:25px; margin-right:0px; margin-bottom:25px; margin-left:0px;"><div class="topCtrl homeTopButton"><a href="find-new/posts?recent=1" class="callToAction" rel="nofollow"><span>Aktuelle Themen</span></a></div><div class="topCtrl homeTopButton findNewPostsButton"><a href="find-new/posts" class="callToAction" rel="nofollow"><span>Neue Beitr&auml;ge</span></a></div><nav><fieldset class="breadcrumb" style=""><a href="misc/quick-navigation-menu" class="OverlayTrigger jumpMenuTrigger" data-cacheoverlay="true" title="N&uuml;tzliche Links anzeigen"><i class="uix_icon uix_icon-sitemap"></i><!--Gehe zu...--></a><div class="boardTitle"><strong>IP-Phone-Forum</strong></div><span class="crumbs"><span class="crust homeCrumb" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="https://www.ip-phone-forum.de/forums/" class="crumb" rel="up" itemprop="url"><span itemprop="title"><i class="uix_icon uix_icon-home" title="Startseite"></i><span class="uix_breadcrumb__home__title">Startseite</span></span></a><span class="arrow"><i class="uix_icon uix_icon-breadcrumbSeparator"></i></span></span><span class="crust selectedTabCrumb" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="https://www.ip-phone-forum.de/forums/" class="crumb" rel="up" itemprop="url"><span itemprop="title">Foren</span></a><span class="arrow"><i class="uix_icon uix_icon-breadcrumbSeparator"></i></span></span></span></fieldset></nav></div>');
  47. }
  48. } else {
  49. // BreadBox erweitern
  50. var breadbox_expand0 = document.getElementsByClassName('breadBoxTop');
  51. for(var be = 0, breadbox_expand; !!(breadbox_expand=breadbox_expand0[be]); be++) {
  52. breadbox_expand.insertAdjacentHTML('afterbegin', '<div class="topCtrl homeTopButton"><a href="find-new/posts?recent=1" class="callToAction" rel="nofollow"><span>Aktuelle Themen</span></a></div><div class="topCtrl homeTopButton findNewPostsButton"><a href="find-new/posts" class="callToAction" rel="nofollow"><span>Neue Beitr&auml;ge</span></a></div>');
  53. }
  54. }
  55.  
  56. // Unterforen in der Übersicht schmaler darstellen
  57. var subforum_small0 = document.getElementsByClassName('nodeTitle');
  58. for(var ss = 0, subforum_small; !!(subforum_small=subforum_small0[ss]); ss++) {
  59. subforum_small.setAttribute('style','padding:1px; display:inline;');
  60. }
  61.  
  62. if(url_array[1] == 'threads') {
  63.  
  64. // Navigationspfeile bei Beitragsnummer hinzufügen
  65. var nav_angle0 = document.getElementsByClassName('item muted postNumber hashPermalink OverlayTrigger');
  66. for(var na = 0, nav_angle; !!(nav_angle=nav_angle0[na]); na++) {
  67. var nav_threadcount = document.getElementsByClassName('sectionMain message ').length - 2;
  68. var nav_golast_link = '<a href="javascript: void(0)" onclick="audentio.pagination.scrollToPost(' + nav_threadcount + ')" style="float:right;" title="Zum letzten Beitrag"><i class="fa fa-angle-double-down pointer fa-fw pagebottom"></i></a>';
  69. var nav_goafter_link = '<a href="javascript: void(0)" onclick="audentio.pagination.nextPost()" style="float:right;" title="Zum nächsten Beitrag"><i class="fa fa-angle-down pointer fa-fw pagedown"></i></a>';
  70. var nav_gobefore_link = '<a href="javascript: void(0)" onclick="audentio.pagination.prevPost()" style="float:right;" title="Zum vorherigen Beitrag"><i class="fa fa-angle-up pointer fa-fw pageup"></i></a>';
  71. var nav_gofirst_link = '<a href="javascript: void(0)" onclick="audentio.pagination.scrollToPost(0)" style="float:right;" title="Zum ersten Beitrag"><i class="fa fa-angle-double-up pointer fa-fw pagetop"></i></a>';
  72. nav_angle.outerHTML = nav_golast_link + nav_goafter_link + nav_angle.outerHTML + nav_gobefore_link + nav_gofirst_link;
  73. }
  74.  
  75. // Abstand zwischen Rahmen und Avatar hinzufügen - Thema
  76. var thread_avatar0 = document.getElementsByClassName('avatarHolder');
  77. for(var ta = 0, thread_avatar; !!(thread_avatar=thread_avatar0[ta]); ta++) {
  78. thread_avatar.setAttribute('style','margin:5px; border:0px;');
  79. }
  80.  
  81. // Abstand zwischen Rahmen und Avatar hinzufügen - Quick Reply
  82. var quickreply_avatar = document.getElementsByClassName('quickReply message sectionMain')[0];
  83. quickreply_avatar.getElementsByClassName('messageUserInfo')[0].setAttribute('style','margin:5px; border:0px;');
  84. quickreply_avatar.getElementsByClassName('avatarHolder')[0].setAttribute('style','');
  85.  
  86. // Abstand bei Signatur löschen
  87. var signatur_abstand0 = document.getElementsByClassName('signature');
  88. for(var sa = 0, signatur_abstand; !!(signatur_abstand=signatur_abstand0[sa]); sa++) {
  89. signatur_abstand.setAttribute('style','margin-bottom:0px; padding-top:0px; padding-bottom:0px;');
  90. }
  91.  
  92. }
  93.  
  94. } else { // Default Style
  95.  
  96. // Sidebar ausblenden (außer bei PNs / Unterhaltungen)
  97. $('.sidebar').remove();
  98.  
  99. // Seite breiter darstellen
  100. var page_width_default0 = document.getElementsByClassName('mainContent');
  101. for(var pwd = 0, page_width_default; !!(page_width_default=page_width_default0[pwd]); pwd++) {
  102. page_width_default.setAttribute('style','margin-right:0px;');
  103. }
  104.  
  105. }
  106.  
  107.  
  108. function changequote() {
  109.  
  110. // Zitate immer vollständig anzeigen
  111. var quote_style = document.createElement("STYLE");
  112. var quote_text = document.createTextNode(".bbCodeQuote .quoteContainer .quoteExpand.quoteCut {display: none;} html .bbCodeQuote .quoteContainer .quote {max-height: none;}");
  113. quote_style.appendChild(quote_text);
  114. document.head.appendChild(quote_style);
  115.  
  116. // Zitate, Code breiter darstellen
  117. var quote_width0 = document.getElementsByClassName('bbCodeBlock');
  118. for(var qw = 0, quote_width; !!(quote_width=quote_width0[qw]); qw++) {
  119. quote_width.setAttribute('style','margin-top:1em; margin-right:0px; margin-bottom:20px; margin-left:0px;');
  120. }
  121.  
  122. // Abstand bei Zitaten schmaler darstellen - Titelzeile
  123. var quote_header0 = document.getElementsByClassName('type');
  124. for(var qh = 0, quote_header; !!(quote_header=quote_header0[qh]); qh++) {
  125. quote_header.setAttribute('style','padding-top:1px; padding-right:5px; padding-bottom:1px; padding-left:5px;');
  126. }
  127.  
  128. }
  129.  
  130. // Zitatänderungen immer aktualisieren
  131. window.addEventListener('load', changequote, false);
  132. window.addEventListener('mouseover', changequote, false);
  133. window.addEventListener('scroll', changequote, false);
  134.  
  135. }
  136.  
  137. // DOM vollständig aufgebaut?
  138. if (/complete|interactive|loaded/.test(document.readyState)) {
  139. ipfforum();
  140. } else {
  141. document.addEventListener("DOMContentLoaded", ipfforum, false);
  142. }
  143.  
  144. })();