Seite 2 von 5
Verfasst: 02.03.2008 20:42
von Dr.Death
@Dark_Shade:
Du bist halt nicht allen Beiträgen gefolgt..... begebe Dich auf die Spur von Mahony..... ich präsentiere doch nicht alles gleich auf einem Silberteller
Der von mir gepostete Link führt schon zum Ziel.... nur ein wenig selber lesen solltest Du schon.
Verfasst: 02.03.2008 22:58
von 4seven
Hi nochmal @Dark_Shade,
die einfachste und für mich effektivste Methode ist die zusätzliche Abschaltung der sog.
magic_urls.
Also alle Änderungen wie gehabt + zusätzlich:
Öffne
includes/functions_content.php
Finde
Code: Alles auswählen
case MAGIC_URL_LOCAL:
$tag = 'l';
$relative_url = preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));
$url = $url . '/' . $relative_url;
$text = ($relative_url) ? $relative_url : $url;
break;
case MAGIC_URL_FULL:
$tag = 'm';
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
break;
case MAGIC_URL_WWW:
$tag = 'w';
$url = 'http://' . $url;
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
break;
case MAGIC_URL_EMAIL:
$tag = 'e';
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
$url = 'mailto:' . $url;
break;
Ersetze mit
Code: Alles auswählen
/*
case MAGIC_URL_LOCAL:
$tag = 'l';
$relative_url = preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));
$url = $url . '/' . $relative_url;
$text = ($relative_url) ? $relative_url : $url;
break;
case MAGIC_URL_FULL:
$tag = 'm';
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
break;
case MAGIC_URL_WWW:
$tag = 'w';
$url = 'http://' . $url;
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
break;
case MAGIC_URL_EMAIL:
$tag = 'e';
$text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;
$url = 'mailto:' . $url;
break;
*/
Das sorgt dafür, das jegliche Eingaben, wie
www.google.de oder auch
http://www.google.de nicht mehr ohne den echten
[url]-Tag geparst werden. Sie werden also verworfen
> Leeres Postfeld. Ist ziemlich effektiv, weil rigeros und einfach. So gewöhnen sich die User gleich an den
[url]- Button
lg
4seven
Verfasst: 09.03.2008 18:32
von 4seven
Hallo,
ich habe vorhergehenden Code korrigiert
(18:45):
http://www.phpbb.de/viewtopic.php?p=964507#964507
Bei Bedarf bitte abändern
lg
4seven
Verfasst: 30.03.2008 11:58
von Dark_Shade
Nochmal danke an Euch beide!
@Dr. Death: Tut mir leid, aber ich werde aus deinem Link irgendwie nicht schlau... Also wenn ich das richtig verstanden habe, kann man mit dem Hide MOD manuell Parts verstecken... aber ich will ja automatisch alle URLS für Besucher ausschalten. (Egal ob [url] benutzt wurde oder nicht.)
@4seven: Also bei deinem Lösungsvorschlag werden die Links ja anscheinend "unsichtbar" gemacht. Könnte ich das erweitern, und stattdessen ein Text aka "Please Login bla.." einblenden lassen?
Um zu erreichen, dass man dann die Links sieht, wenn man eingeloggt ist, könnte man ja /* ... */ einfach durch if (user_logged_in) { ... } ersetzen, oder? (Ich weiß jetzt nicht genau die if-Anweisung)
Verfasst: 30.03.2008 16:14
von 4seven
@4seven: Also bei deinem Lösungsvorschlag werden die Links ja anscheinend "unsichtbar" gemacht. Könnte ich das erweitern, und stattdessen ein Text aka "Please Login bla.." einblenden lassen
Genau das was du beschreibst macht ja das snippet. bist du nicht eingeloggt steht da:
Code: Alles auswählen
bla bla bla wenn du alles sehen willst logg dich ein oder registrier dich bla
hier lesen
http://www.phpbb.de/viewtopic.php?p=964507#964507
Um zu erreichen, dass man dann die Links sieht, wenn man eingeloggt ist, könnte man ja /* ... */ einfach durch if (user_logged_in) { ... } ersetzen, oder? (Ich weiß jetzt nicht genau die if-Anweisung)
auch das macht das snippet
aber ich will ja automatisch alle URLS für Besucher ausschalten. (Egal ob [url] benutzt wurde oder nicht.)
auch das macht das snippet
siehe auch hier, ganze drei posts zurück
http://www.phpbb.de/viewtopic.php?p=964759#964759
p.s. lese bitte nochmal den ganzen beitrag
[offtopic]
geht jetzt nicht gegen dich, aber manchmal hab ich das gefühl, es liest hier kaum jemand mehr (schon lange nicht aufmerksam), sondern überfliegt in 3,8 nanosekunden alles und wenn ihn, was er lesen möchte oder wissen will, nicht in 3 meter größe anspringt, dann wird trotzdem gefragt. dann darf man nochmal und nochmal und nochmal erklären, zeigen, links setzen usw. etc. pp.
[/offtopic]
Verfasst: 30.03.2008 17:12
von Dark_Shade
Hallo 4seven,
[offtopic]
geht jetzt nicht gegen dich, aber manchmal hab ich das gefühl, es liest hier kaum jemand mehr (schon lange nicht aufmerksam), sondern überfliegt in 3,8 nanosekunden alles und wenn ihn, was er lesen möchte oder wissen will, nicht in 3 meter größe anspringt, dann wird trotzdem gefragt. dann darf man nochmal und nochmal und nochmal erklären, zeigen, links setzen usw. etc. pp.
[/offtopic]
Ja, das kann ich sehr gut verstehen. Doch ich habe wirklich die Links angeschaut und dort aufmerksam alles durchgelesen.
Also jetzt nochmal zu deinen beiden Snippets.
Das erste:
Das habe ich bei mir verbaut. Durch das Snippet werden alle URLs, die mit [url] geschrieben wurden, durch ein Text ersetzt, wenn man nicht eingeloggt ist.
Das zweite:
Durch das Snippet werden anklickbare URLs nicht-anklickbar gemacht und auch unsichtbar gemacht. D.h. man wird dazu gezwungen, [url] zu benutzen, damit das erste Snippet zum Einsatz kommt.
Habe ich das so richtig verstanden?
Gruß und Danke
Verfasst: 30.03.2008 17:24
von 4seven
Genau
weil, eine beliebige, einfach in das post (ohne tag) eingegebene url in einen text zu parsen ist m.E. nicht (ohne weiteres) möglich. da kann mich aber gerne jemand anderes eines besseren belehren. positive nebeneffekte: die user gewöhnen sich gleich an die korrekte benutzung der tags + spambots haben in den gastbereichen wenig chancen ihre links anzubringen
Verfasst: 31.03.2008 00:21
von BaerchenHH
Erst einmal Danke 4seven für deine Snippets...
Ich habe aber folgendes auf dem Herzen zu diesem Thema:
- Links ohne dem URL-Tag werden normal dargestellt und gelinkt.
(Gilt nur für bestehende Postings, bei neuen wird der Link bereits im Edit entfernt!)
- Links mit dem URL-Tag werden wie gewünscht überschrieben...
Dabei habe ich den Text abgeändert, so daß der User sich wahlweise zur Registrierung oder zum LogIn klicken soll...Code: Alles auswählen
'url' => array('{DESCRIPTION}' => '<font size="-2" color="#008040" <a href=""></a>*** Dieser Link ist nur für Mitglieder sichtbar. Bitte <a href="./ucp.php?mode=register"><u>registriere</u></a> Dich, oder <a href="./ucp.php?mode=login"><u>logge</u></a> dich ein, um alle Funktionen nutzen zu können. *** </font>')
Leider wird hierbei der erste Teil ("*** Dieser Link ist nur für Mitglieder sichtbar. Bitte ") auf eine nicht existierende Seite gelinkt, ergibt also einen 404er.
Ich habe das ersteinmal mit folgendem Code (ersetzen) gelöst:Code: Alles auswählen
'url' => array('{DESCRIPTION}' => '<font size="-2" color="#008040" <a href=""></a>*** Dieser Link ist nur für Mitglieder sichtbar. Bitte <a href="./ucp.php?mode=register"><u>registriere</u></a> Dich, oder <a href="./ucp.php?mode=login"><u>logge</u></a> dich ein, um alle Funktionen nutzen zu können. *** </font>')
Gibt es da ne elegantere Lösung?
- eMail-Adressen werden von dieser Änderung miteinbezogen und müßen wohl vom [email]-BBCode umschloßen sein, um angezeigt werden zu können (teste ich nachher mal).
Mann möge mich jetzt schlagen, aber ich vermute, daß wenn mann eMails von dieser Änderung ausschließen wil, muß einfach der letzte Block (case MAGIC_URL_EMAIL) ausgelassen werden, oder?
Verfasst: 31.03.2008 03:19
von BaerchenHH
Ich habe jetzt mal versucht, das ganze auf eMails auszuweiten... das haut aber nicht so richtig hin...
Mit dem [email]-Tag werden die eMails zwar in dem gleichen Schema wie die URLs dargestellt, allerdings wird für Gäste der Alternativtext
nicht angezeigt...!
Das Ändern der Zeile
Code: Alles auswählen
'email' => array('{EMAIL}' => '$1', '{DESCRIPTION}' => '$2'),
im ersten Abschnitt in
Code: Alles auswählen
'email' => array('{DESCRIPTION}' => '<font size="-2" color="#008040" <a href=""></a>*** Diese Adresse ist nur für Mitglieder sichtbar. Bitte <a href="./ucp.php?mode=register"><u>registriere</u></a> Dich, oder <a href="./ucp.php?mode=login"><u>logge</u></a> dich ein, um alle Funktionen nutzen zu können. *** </font>'),
brachte leider nicht den gewünschten Erfolg...!
PS: Den [email]-Tag-Button habe ich mal glaube ich irgendwo deaktiviert, weiß jetzt aber nicht, wo ich ihn wider aktivieren kann
Könnt ihr mir einen Tip geben?
Verfasst: 31.03.2008 03:34
von 4seven
Hallo BaerchenHH,
Leider wird hierbei der erste Teil ("
*** Dieser Link ist nur für Mitglieder sichtbar. Bitte ") auf eine nicht existierende Seite gelinkt, ergibt also einen 404er.
Ich habe das ersteinmal mit folgendem Code (ersetzen) gelöst:
Code: Alles auswählen
'url' => array('{DESCRIPTION}' => '<font size="-2" color="#008040" <a href=""></a>*** Dieser Link ist nur für Mitglieder sichtbar. Bitte <a href="./ucp.php?mode=register"><u>registriere</u></a> Dich, oder <a href="./ucp.php?mode=login"><u>logge</u></a> dich ein, um alle Funktionen nutzen zu können. *** </font>')
Gibt es da ne elegantere Lösung?
Eine elegantere nicht, aber eine richtige *g
Code: Alles auswählen
'url' => array('{DESCRIPTION}' => '<font size="-2" color="#008040"> *** Dieser Link ist nur für Mitglieder sichtbar. Bitte <a href="./ucp.php?mode=register"><u>registriere</u></a> Dich, oder <a href="./ucp.php?mode=login"><u>logge</u></a> dich ein, um alle Funktionen nutzen zu können. *** </font>')
Man möge mich jetzt schlagen, aber ich vermute, daß wenn man eMails von dieser Änderung ausschließen wil, muß einfach der letzte Block (case MAGIC_URL_EMAIL) ausgelassen werden, oder?[/list]
Korrekt
Ich habe jetzt mal versucht, das ganze auf eMails auszuweiten... das haut aber nicht so richtig hin...
Mit dem [email]-Tag werden die eMails zwar in dem gleichen Schema wie die URLs dargestellt, allerdings wird für Gäste der Alternativtext nicht angezeigt...!
Das läuft auch nicht mit jedem Tag so und auch nicht ohne weiteres, zumal der Email-Tag in einem Standard phpBB3 garnicht existiert. Es werden nur Dinge wie **
irgendwas@domain.de mit den Magic-Urls geparst, als mailto:
irgendwas@domain.de. Wie hier im 2er, wie du ** siehst.
PS: Den [email]-Tag-Button habe ich mal glaube ich irgendwo deaktiviert, weiß jetzt aber nicht, wo ich ihn wider aktivieren kann
Könnt ihr mir einen Tip geben?
Siehe einen drüber
gruß
4seven