Anzeige nur, wenn Forum für Gäste offen
Anzeige nur, wenn Forum für Gäste offen
Hi Leute
Ich möchte gerne für meine Seite die Social-Media Buttons wie in diesem Thema beschrieben einbauen.
Das Problem dabei ist, dass ich verschiedene Forenbereiche habe, auf die Gäste keinen Zugriff haben. In solchen Foren machen die Buttons natürlich wenig Sinn, denn Facebook z.B. sieht dann nur die Login-Seite.
Ich kenne PHP, finde mich auch in den Templates zurecht, habe aber noch zu wenig Know-How in phpBB, um herauszufinden, wie ich z.B. in viewtopic.php bestimmen kann, ob sich das Thema in einem Forum befinden, das für Gäste gesperrt ist. Die Idee wäre, dann eine Template Variable zu erstellen, die ich im entsprechenden HTML auswerten kann.
Eventuell gibt es das ja sogar schon.
Danke für eure Hilfe!
Gruss - Kermit
Ich möchte gerne für meine Seite die Social-Media Buttons wie in diesem Thema beschrieben einbauen.
Das Problem dabei ist, dass ich verschiedene Forenbereiche habe, auf die Gäste keinen Zugriff haben. In solchen Foren machen die Buttons natürlich wenig Sinn, denn Facebook z.B. sieht dann nur die Login-Seite.
Ich kenne PHP, finde mich auch in den Templates zurecht, habe aber noch zu wenig Know-How in phpBB, um herauszufinden, wie ich z.B. in viewtopic.php bestimmen kann, ob sich das Thema in einem Forum befinden, das für Gäste gesperrt ist. Die Idee wäre, dann eine Template Variable zu erstellen, die ich im entsprechenden HTML auswerten kann.
Eventuell gibt es das ja sogar schon.
Danke für eure Hilfe!
Gruss - Kermit
- AYYILDIZLAR
- Ehemaliges Teammitglied
- Beiträge: 4148
- Registriert: 09.11.2010 18:08
- Kontaktdaten:
Re: Anzeige nur, wenn Forum für Gäste offen
Hallo,
Bin mir nicht ganz sicher, ob ich dich zu 100% richtig verstanden habe. Aber schau mal hier, ob dir das Snippet weiterhilft viewtopic.php?f=85&t=230116
Grüße
Bin mir nicht ganz sicher, ob ich dich zu 100% richtig verstanden habe. Aber schau mal hier, ob dir das Snippet weiterhilft viewtopic.php?f=85&t=230116
Grüße
DasEtwasAndereMotorradforum.de
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Re: Anzeige nur, wenn Forum für Gäste offen
Hi
Danke schon mal für deine Antwort. Nein, ich möchte nicht vom Benutzer wissen, ob er Gast ist oder nicht, sondern aufgrund des Themas (z.B. der Themen-ID), ob es in einem Forum ist, für das Gäste keinen Zugang haben. Dann würde ich die Social-Media Buttons nicht anzeigen.
Gruss - Kermit
Danke schon mal für deine Antwort. Nein, ich möchte nicht vom Benutzer wissen, ob er Gast ist oder nicht, sondern aufgrund des Themas (z.B. der Themen-ID), ob es in einem Forum ist, für das Gäste keinen Zugang haben. Dann würde ich die Social-Media Buttons nicht anzeigen.
Gruss - Kermit
Re: Anzeige nur, wenn Forum für Gäste offen
Jemand eine Idee?
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Anzeige nur, wenn Forum für Gäste offen
Die Berechtigungen werden mit einem Objekt vom Typ \phpbb\auth\auth geprüft (oder einfach nur auth im includes/ Verzeichnis in phpBB 3.0.x): https://www.phpbb.de/infos/3.1/xref/php ... h.php.html
Es sollte möglich sein, dir einfach ein neues Auth Objekt zu erzeugen, das du mit den Daten eines Gastbenutzers fütterst, egal welcher Benutzer gerade angemeldet ist. Dann kannst du mit dem neuen Objekt prüfen, ob der Gastbenutzer Lese- oder sonstwelche Rechte hat, indem du
Es sollte möglich sein, dir einfach ein neues Auth Objekt zu erzeugen, das du mit den Daten eines Gastbenutzers fütterst, egal welcher Benutzer gerade angemeldet ist. Dann kannst du mit dem neuen Objekt prüfen, ob der Gastbenutzer Lese- oder sonstwelche Rechte hat, indem du
$auth_gast->acl_get('f_read', $forum_id);
oder was ähnliches benutzt. Mit obtain_user_data hat das Objekt sogar eine Methode, in der du nur die User ID des Gastbenutzers übergeben musst (ANONYMOUS).Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Anzeige nur, wenn Forum für Gäste offen
Danke vielmals, gn#36!
Musste zwar noch ein wenig rumturnen, weil in der von meinem Provider installierten phpBB Version die Methode auth::obtain_user_data noch nicht vorhanden war. Aber ich konnte sie von der Doku einfach rüber kopieren.
Nun siehts in viewtopic.php so aus:
...
und in der viewtopic_body.html des style templates:
Also nochmals: Besten Dank für den Support!
Gruss - Kermit_ch
Musste zwar noch ein wenig rumturnen, weil in der von meinem Provider installierten phpBB Version die Methode auth::obtain_user_data noch nicht vorhanden war. Aber ich konnte sie von der Doku einfach rüber kopieren.
Nun siehts in viewtopic.php so aus:
Code: Alles auswählen
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
// 15.05.2015/MM: Added guest right check
include_once($phpbb_root_path . 'includes/auth.' . $phpEx);
Code: Alles auswählen
// 15.05.2015/MM: Added guest right check
$eacl_auth = new auth(); // create the auth instance.
$eacl_auth->acl($eacl_auth->obtain_user_data(1)); // retrieve the guest users (ID=1) data.
// 15.05.2015/MM: Added guest right check END
// Send vars to template
$template->assign_vars(array(
// 15.05.2015/MM: Added guest right check
'EACL_GUESTS_CAN_READ' => $eacl_auth->acl_get('f_read', $forum_id) > 0,
// 15.05.2015/MM: Added guest right check END
'FORUM_ID' => $forum_id,
Code: Alles auswählen
<!-- IF S_DISPLAY_SEARCHBOX -->
<div class="search-box">
<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
<fieldset>
<input class="inputbox search tiny" type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
<input class="button2" type="submit" value="{L_SEARCH}" />
{S_SEARCH_LOCAL_HIDDEN_FIELDS}
</fieldset>
</form>
</div>
<!-- ENDIF -->
<!-- NOTE: 15.05.2015/MM Added social media buttons -->
<!-- IF not S_IS_BOT and EACL_GUESTS_CAN_READ -->
<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>
<a class="addthis_button_tweet"></a>
<a class="addthis_counter addthis_pill_style"></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4eac6d5c6431ec66"></script>
<!-- ENDIF -->
<!-- NOTE: 15.05.2015/MM Added social media buttons END -->
Gruss - Kermit_ch
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Anzeige nur, wenn Forum für Gäste offen
Falls du phpBB 3.1 einsetzt würde ich dir empfehlen, das noch in eine Extension zu stecken. Die besteht aus gerade mal drei bis vier Dateien und macht dich unabhängiger von Update Problemen, weil du keine Änderungen an bestehenden PHP Dateien brauchst.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Anzeige nur, wenn Forum für Gäste offen
Danke für den Hinweis. Leider stellt mein Hostingprovider nur die Version 3.0.10 zur Verfügung und ich möchte nicht eine neuere Version installieren, sonst krieg ich bei Bedarf womöglich keinen Support von ihm.
Re: Anzeige nur, wenn Forum für Gäste offen
Hi,
oh weia. 3.0.10 ist wirklich uralt. Wir sind schon bei 3.0.14 angekommen. Zuletzt wurde auch eine Sicherheitslücke behoben. Deine Version ist über 3 Jahre alt.
Das Ding ist eben, dass du so hier nicht den besten Support bekommen kannst und bei den Entwicklern von phpBB.com gar keinen kriegst, außer bei Problemen beim Update zu 3.0.14.
Grüße
oh weia. 3.0.10 ist wirklich uralt. Wir sind schon bei 3.0.14 angekommen. Zuletzt wurde auch eine Sicherheitslücke behoben. Deine Version ist über 3 Jahre alt.
Das Ding ist eben, dass du so hier nicht den besten Support bekommen kannst und bei den Entwicklern von phpBB.com gar keinen kriegst, außer bei Problemen beim Update zu 3.0.14.
Grüße