Seite 1 von 3

[3.3] Top Posters

Verfasst: 09.05.2017 16:58
von Kirk
Name der Extension: Top Posters
Autor: Kirk, lefty74 (Original Mod Autor)

Version der Extension: 2.2.1

Sprachen: de, de_x_sie, en

Beschreibung der Extension:
  • Diese Erweiterung basiert auf dem org. Mod Top Posters on Index von lefty.
  • Zeigt in der Forenübersicht eine variable Anzahl von Top Poster an, die gewünschte Anzahl der Top Poster kann man im ACP unter Erweiterungen/Top Poster/Einstellungen eingeben werden.
  • Man kann entweder die Top-Poster der letzten x Tagen, x Stunden oder beides zusammen anzeigen lassen.
  • Es ist möglich die Gruppe Administratoren und Moderatoren aus der Anzeige der Top Poster sowie aus der Anzeige Top-Poster der letzten x Stunden auszuschließen.
  • Die gewünschte Zeitspanne (Std./Tage) der Top-Poster ist ebenfalls im ACP einstellbar.
  • Man kann beim Zeitraum die gewünschte Anzahl der Top Poster eintragen (Vorschlag von LukeWCS)
  • Hat man im ACP bei den Top-Poster Einstellungen z. B. die Funktion "Top-Poster der letzten x Stunden anzeigen" oder "Gesamte Top-Poster anzeigen" aktiviert und es in der eingestellten Zeitspanne keine Beiträge gibt, wird diese nicht angezeigt.
  • Außerdem ist es möglich einzelne User über die spezifischen User ID aus der Anzeige auszuschließen.
    Eine Mitglieder Liste mit der entsprechenden User-ID befindet sich unterhalb der Einstellungen.
  • In der Mitgliederliste im ACP werden nur die User aufgelistet welche min. 1 Beitrag gepostet haben.
  • Bei den Topposter im Frontend werden User welche Inaktiv sind, nicht aufgelistet.
  • Des weiteren kann man im ACP unter Erweiterungen/Top Poster/Einstellungen über eine Select Box zwischen 4 Positionen wählen. Es werden wenn die EXT Sidebar inst. und aktiviert ist, 2 weitere Positionen angezeigt.
    • In der Sidebar oben
    • In der Sidebar unten
  • Ist die EXT Statistics Block inst. und aktiviert, wird in der oben genannten Select Box die Position "Oberhalb von Statistik" zusätzlich angezeigt.
  • Standardmäßig wird bei der Installation dieser EXT die 3 Top Poster und unterhalb der Statistik angezeigt.
  • Die Anzahl der jeweiligen Beiträge wird als reinen Text ausgegeben wenn:
    • Die Suchfunktion im Board allgemein deaktiviert ist oder der User bzw. die Gruppe kein Recht hat die Suchfunktion zu benutzen
    • Der User bzw. die Gruppe kein Recht hat ein Forum zu sehen
  • Es wird auch berücksichtigt wenn die Berechtigungen "Beitrags-Zähler wird erhöht" deaktiviert ist.
  • Einige Codestellen wurde vom Board3 Portal übernommen und auf diese Extension angepasst.
  • Man hat die Möglichkeit zu wählen ob ein Toggle Switch oder die Radio Buttons Ja/Nein angezeigt werden sollen.
  • Im ACP/Berechtigungen kann in den Benutzerrechten/Gruppenrechten unter Diverses einstellt werden, wer die Top Poster sehen darf.
  • Kompatibel mit:
Vorraussetzungen:
  • phpBB 3.3.8 oder höher
  • PHP 8.0.0 bis einschließlich 8.5.x


Hinweis:
Wer die Top Posters in der Sidebar (Version 2.2.1) anzeigen lassen möchte, muss folgende Änderungen machen:
Gehe in das Vz.: root/ext/kirk/topposters/style/prosilver/template
Öffne die Datei: topposters_sidebar.html und ersetze den kompletten Inhalt damit:

Code: Alles auswählen

{% if U_ACP || !TOPPOSTERS_ADMINMODE %}
	{% import "@kirk_sidebar/sidebar_macros.html" as forms %}
	{% if TOPPOSTERS_ACTIVATED_HOURS && topposters_hours is defined %}
		{{ forms.sidebar_box_frame_h_l }}
			{% if TOPPOSTERS_ACTIVATED_HOURS && !TOPPOSTERS_ACTIVATED_DAYS %}
				{{ TOPPOSTERS_HOURS }}
			{% elseif TOPPOSTERS_ACTIVATED_DAYS && TOPPOSTERS_ACTIVATED_HOURS %}
				{{ TOPPOSTERS_DAYS }}
			{% endif %}
		{{ forms.sidebar_box_frame_h_r() }}
			<li class="bg1 topposter-sidebar">
				{% for topposter_hours in topposters_hours %}
					<span class="sidebar-user-icon"></span>
					<span class="sidebar-user-span">
						<i class="icon fa-user"></i>
						<span> {{ topposter_hours.USERNAME_FULL }}</span>
					</span>
					{% if S_DISPLAY_SEARCH %}
						<span class="sidebar-userposts">
							<a class="poster-posts" href="{{ topposters_hours.S_SEARCH_ACTION }}">({{ topposter_hours.POSTER_POSTS }})</a>
						</span>
						<br class="sidebar-clear">
					{% else %}
						<span class="sidebar-userposts">({{ topposter_hours.POSTER_POSTS }})</span>
						<br class="sidebar-clear">
					{% endif %}
				{% endfor %}
				{% if TOPPOSTERS_ACTIVATED_DAYS %}
					<br class="sidebar-clear">
					{{ lang('TOPPOSTERS_TOPIC_TIME') }}
				{% endif %}
			</li>
		{{ forms.sidebar_box_frame_f_l }}{{ forms.sidebar_box_frame_f_r() }}
	{% elseif !TOPPOSTERS_ACTIVATED_HOURS %}
		{{ forms.sidebar_box_frame_h_l }}{{ OUR_TOPPOSTERS }}{{ forms.sidebar_box_frame_h_r() }}
			<li class="bg1 topposter-sidebar">
				{% if !TOPPOSTERS_ACTIVATED_HOURS && TOPPOSTERS_ALL %}
					{% for topposter_total in topposters_total %}
						<span class="sidebar-user-icon"></span>
						<span class="sidebar-user-span">
							<i class="icon fa-user"></i>
							<span> {{ topposter_total.USERNAME_FULL }}</span>
						</span>
						{% if S_DISPLAY_SEARCH %}
							<span class="sidebar-userposts">
								<a class="poster-posts" href="{{ topposter_total.S_SEARCH_ACTION }}">({{ topposter_total.POSTER_POSTS }})</a>
							</span>
							<br class="sidebar-clear">
						{% else %}
							<span class="sidebar-userposts">({{ topposter_total.POSTER_POSTS }})</span>
							<br class="sidebar-clear">
						{% endif %}
					{% endfor %}
				{% endif %}
				{% if !TOPPOSTERS_ACTIVATED_HOURS && !TOPPOSTERS_ALL %}
					{% for topposter_total in topposters_total %}
						<span class="sidebar-user-icon"></span>
						<span class="sidebar-user-span">
							<i class="icon fa-user"></i>
							<span> {{ topposter_total.USERNAME_FULL }}</span>
						</span>
						{% if S_DISPLAY_SEARCH %}
							<span class="sidebar-userposts">
								<a class="poster-posts" href="{{ topposter_total.S_SEARCH_ACTION }}">({{ topposter_total.POSTER_POSTS }})</a>
							</span>
							<br class="sidebar-clear">
						{% else %}
							<span class="sidebar-userposts">({{ topposter_total.POSTER_POSTS }})</span>
							<br class="sidebar-clear">
						{% endif %}
					{% endfor %}
				{% elseif topposters_hours is defined %}
					<div class="topposter-hours">
						{% if !TOPPOSTERS_ACTIVATED_DAYS -%}
							{{ TOPPOSTERS_HOURS }}{{ lang('COLON') }}
							<br class="sidebar-clear">
						{%- else -%}
							{{ TOPPOSTERS_DAYS }}{{ lang('COLON') }}
							<br class="sidebar-clear">
						{%- endif %}
						<div class="topposter-sidebar-hours-days">
							{% for topposter_hours in topposters_hours -%}
								<span class="sidebar-user-icon"></span>
								<span class="sidebar-user-span">
									<i class="icon fa-user"></i>
									<span> {{ topposter_hours.USERNAME_FULL }}</span>
								</span>
								{% if S_DISPLAY_SEARCH %}
									<span class="sidebar-userposts">
										<a class="poster-posts" href="{{ topposters_hours.S_SEARCH_ACTION }}">({{ topposter_hours.POSTER_POSTS }})</a>
									</span>
									<br class="sidebar-clear">
								{% else %}
									<span class="sidebar-userposts">({{ topposter_hours.POSTER_POSTS }})</span>
									<br class="sidebar-clear">
								{% endif %}
							{% endfor %}
						</div>
						{% if TOPPOSTERS_ACTIVATED_DAYS %}
							<br class="sidebar-clear">
							{{ lang('TOPPOSTERS_TOPIC_TIME') }}
						{% endif %}
					</div>
				{% endif %}
			</li>
		{{ forms.sidebar_box_frame_f_l }}{{ forms.sidebar_box_frame_f_r() }}
	{% endif %}
{% endif %}
Danach den Foren Cache leeren!

Download der Extension: https://kirk-phpbb.com/viewtopic.php?f=41&t=229

Screenshots:

ACP Modul: [ externes Bild ]

Mitglieder Liste mit der entsprechenden User-ID: [ externes Bild ]

Ansicht oberhalb der Forumlist: [ externes Bild ]

Ansicht unterhalb der Statistik : [ externes Bild ]

Kombinierte Ansicht: [ externes Bild ]


Installation der Erweiterung:
Nach dem Download entpacke diese Datei und lade den gesamten Ordner kirk nach root/ext hoch.
Im Administrations-Bereich unter Anpassen -> Erweiterungs-Verwaltung -> Deaktivierte Erweiterungen (ab phpBB 3.3.14 Nicht installierte Erweiterungen)
in der Zeile Top Posters auf Aktivieren klicken.

Re: [3.1] [3.2] Top Posters

Verfasst: 20.05.2017 11:53
von Kirk
Es gibt ein Update dieser Extension.
Alle neue Funktionen und Details siehe erster Beitrag!

Re: [3.1] [3.2] Top Posters

Verfasst: 21.05.2017 01:13
von jackennils
Danke dafür!

ISt es möglich, die Überschrift "Beiträge in den letzten x Stunden" gar nicht erst anzuzeigen, wenn es im Zeitraum keine Beiträge gab? Nur die Überschrift und ein leeres <p></p> wirkt etwas seltsam.

Re: [3.1] [3.2] Top Posters

Verfasst: 21.05.2017 08:37
von Kirk
Da muss ich mal schauen wie sich das realisieren lässt.

Re: [3.1] [3.2] Top Posters

Verfasst: 21.05.2017 11:21
von jackennils
Das wäre toll!

Edit:
Habs mal mit

Code: Alles auswählen

<!-- IF topposters_hours -->
für die Überschrift versucht. Das klappt ganz gut. :)

In meinem Fall sieht der Block nun so aus:

Code: Alles auswählen

					<!-- IF topposters_hours -->
					<h4>{L_TOP_POSTERS} {TOPPOSTERS_HOURS}</h4>
					<p>
					<!-- ENDIF -->
						<!-- BEGIN topposters_hours --><!-- IF topposters_hours.S_ROW_COUNT > 0 -->{L_COMMA_SEPARATOR}<!-- ENDIF --> {topposters_hours.USERNAME_FULL} <!-- IF S_DISPLAY_SEARCH --><a style="color: #242424; text-decoration: none;" href="{topposters_hours.S_SEARCH_ACTION}">({topposters_hours.POSTER_POSTS})</a><!-- ELSE -->({topposters_hours.POSTER_POSTS})<!-- ENDIF --><!-- END topposters_hours -->
					<!-- IF topposters_hours -->
					</p>
					<!-- ENDIF -->

Re: [3.1] [3.2] Top Posters

Verfasst: 21.05.2017 19:58
von Kirk
Man könnte es so machen, wenn es in diesem eingestellten Zeitraum keine Beiträge gibt ein Hinweis zu sehen ist z.b. so "Es gibt keine Beiträge der letzten X Stunden ".

Re: [3.1] [3.2] Top Posters

Verfasst: 21.05.2017 20:03
von jackennils
Das geht natürlich auch, aber ich bevorzuge dann einfach gar nichts zu sehen. Hat ja geklappt, danke trotzdem. :)

Re: [3.1] [3.2] Top Posters

Verfasst: 27.05.2017 10:52
von Kirk
Es gibt ein Update dieser Extension.
Es ist jetzt so eingestellt das wenn man im ACP bei den Top-Poster Einstellungen z.b. die Funktion "Top-Poster der letzten x Stunden anzeigen" oder "Gesamte Top-Poster anzeigen" aktiviert und es in der eingestellten Zeitspanne keine Beiträge gibt, diese nicht angezeigt wird.
Download siehe erster Beitrag!

Re: [3.1] [3.2] Top Posters

Verfasst: 10.02.2019 11:22
von Kirk
Es gibt ein Update dieser Erweiterung.
Download siehe erster Beitrag!

Neuerung:

Re: [3.1] [3.2] Top Posters

Verfasst: 09.11.2019 14:51
von RedCougar
Ich würde die Top Poster gerne in einem Block von einer Seitenleiste anzeigen lassen, wie seinerzeit im Portal.

Wäre das mit dieser Erweiterung auch irgendwie möglich?