Seite 1 von 2

[3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 19:43
von ottischwenk
Gibt es eine Möglichkeit, dass nur angemeldete User Links in Beiträgen folgen dürfen und Gäste nicht?
Dass sie sich anmelden müssen, um Links nachzugehen!
Ich frage hier, da ich nicht glaube, dass es eine Standard Funktion ist

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 19:53
von Kurt W
Ich verwende dafür den BB Code hidden.

Hier können Textpassagen wie natürlich auch Links, nur angemeldete User sehen.

Ich glaube das war in der BB Code Box mit enthalten.

Gruß Kurt

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 20:13
von Mahony
Hallo
Kurt W hat geschrieben:Ich verwende dafür den BB Code hidden.

Hier können Textpassagen wie natürlich auch Links, nur angemeldete User sehen.
Tja...und wer fügt den BBCode in alle alten Beiträge ein, um die Links zu verstecken?
Das mag vielleicht funktionieren, wenn du der einzigste Benutzer in deinem Forum bist, denn nicht jeder benutzt dann auch wirklich den BBCode.
@ottischwenk - Eventuell hilft dir das hier weiter >>> viewtopic.php?t=231505#p1323585
Das erfordert zwar Änderungen am Core-Code, aber es wäre evtl. eine Möglichkeit.

Grüße: Mahony

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 20:16
von Kurt W
In meinem Forum kann das jeder User selber machen, wenn er möchte, das der Link nicht sichtbar sein sollte.

Soviel Links sind es bei mir dann auch nicht.

Aber klar gebe ich dir recht, wenn jemand zig Links pro Tag in seinem Forum hat und jeder "versteckt" sein soll, dann ist das keine gangbare Lösung.

Gruß Kurt

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 20:37
von ottischwenk
Mahony hat geschrieben:@ottischwenk - Eventuell hilft dir das hier weiter >>> viewtopic.php?t=231505#p1323585
Das erfordert zwar Änderungen am Core-Code, aber es wäre evtl. eine Möglichkeit.
Diesen Text gibt es bei mir nicht

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 28.06.2018 21:32
von Mahony
Hallo
O.K. ....in phpBB 3.2.2 wurde der Code an der Stelle geändert.

Suche also nach

Code: Alles auswählen

if (count($censors))

Füge in neuer, leeerer Zeile DAVOR ein:

Code: Alles auswählen

    // GASTLESER VERSCHEUCHEN | ANFANG
    if (preg_match('#<a|\[img|\[code|\[url#is', $text))
    {
        global $user;
        
        if (($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'])
        {
            $text = preg_replace('#<a class="postlink"(.*?)</a>#is', '<b>[ Link | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Link zu sehen. ]</a></b>', $text);
            $text = preg_replace('#<a href="mailto:(.*?)</a>#is', '<b>[ eMail-Adresse | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um die Adresse zu sehen. ]</a></b>', $text);
            $text = preg_replace('#\[img(.*?)\[/img(.*?)\]#is', '<b>[ Externes Bild | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um das Bild zu sehen. ]</a></b>', $text);
            $text = preg_replace('#\[code(.*?)\[/code(.*?)\]#is', '<b><dl class="codebox"><dt>Code:</dt><dd><code><span><b>[ Code-Block | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Code zu sehen. ]</b></span></code></dd></dl></a></b>', $text);
            $text = preg_replace('#\[url(.*?)\[/url(.*?)\]#is', '<b>[ Link | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Link zu sehen. ]</a></b>', $text);
        }
    }
    // GASTLESER VERSCHEUCHEN | ENDE
 
Grüße: Mahony

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 29.06.2018 06:47
von ottischwenk
Mahony hat geschrieben:O.K. ....in phpBB 3.2.2 wurde der Code an der Stelle geändert.
Danke - funktioniert, wie gewünscht.

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 30.06.2018 06:13
von ottischwenk
ottischwenk hat geschrieben:
Mahony hat geschrieben:O.K. ....in phpBB 3.2.2 wurde der Code an der Stelle geändert.
Danke - funktioniert, wie gewünscht.
Edit: jetzt werden zwar die Bilder nicht angezeigt, dafür können Gäste Links folgen.
ich habe die Statistiken synchronisiert und den Cache gelöscht

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 02.07.2018 02:09
von Teufelchen_Funny
Hi
Der Code funktioniert für Links leider nicht
Gäste können genauso wie vor der Änderung die Links sehen und benutzen.

mg Teufelchen :(

Re: [3.2] Gäste (nicht angemeldete User) sollen Links nicht folgen dürfen

Verfasst: 02.07.2018 16:18
von BNa
canonknipser hat geschrieben:Re: Bilder/Links generell für Gäste verstecken
Beitrag von canonknipser » 01.07.2018 17:38

Da das hier lustig von dort viewtopic.php?f=151&t=241712&p=1385381#p1385277 "gecrossposted" wurde, mache ich hier erst mal dicht. Das hat ja nix mehr mit 3.0 zu tun
Grüße, canonknipser
Das wurde nicht "lustig" "gecrossposted", sondern,
ich wusste zum Zeitpunkt meines Posts tatsächlich nichts
von Mahony's vorab getätigtem Post von 2 Tagen zuvor,
da ich nur in dem alten Topic postete :wink:

Mein Code betraf auch eine andere Stelle:
öffne

includes/functions_content.php

finde

Code: Alles auswählen

$text = censor_text($text);
danach einfügen

Code: Alles auswählen

    // GASTLESER VERSCHEUCHEN | ANFANG
    if (preg_match('#<a|\[img|\[code|\[url#is', $text))
    {
        global $user;
        
        if (($user->data['user_id'] == ANONYMOUS) || $user->data['is_bot'])
        {
            $text = preg_replace('#<a class="postlink"(.*?)</a>#is', '<b>[ Link | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Link zu sehen. ]</a></b>', $text);
            $text = preg_replace('#<a href="mailto:(.*?)</a>#is', '<b>[ eMail-Adresse | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um die Adresse zu sehen. ]</a></b>', $text);
            $text = preg_replace('#\[img(.*?)\[/img(.*?)\]#is', '<b>[ Externes Bild | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um das Bild zu sehen. ]</a></b>', $text);
            $text = preg_replace('#\[code(.*?)\[/code(.*?)\]#is', '<b><dl class="codebox"><dt>Code:</dt><dd><code><span><b>[ Code-Block | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Code zu sehen. ]</b></span></code></dd></dl></a></b>', $text);
            $text = preg_replace('#\[url(.*?)\[/url(.*?)\]#is', '<b>[ Link | Bitte <a href="./ucp.php?mode=login">einloggen</a> oder <a href="./ucp.php?mode=register">registrieren</a>, um den Link zu sehen. ]</a></b>', $text);
        }
    }
    // GASTLESER VERSCHEUCHEN | ENDE                
ungetestet.
sollte aber funktionieren...