Nur Bilder von der eigenen Website per [img] einbindbar

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Nur Bilder von der eigenen Website per [img] einbindbar

Beitrag von Pyramide »

Wer verhindern möchte, dass Bilder von fremden Webseiten mit dem [img] BBCode eingebunden werden, diesen jedoch nicht komplett deaktivieren kann, weil er weiterhin Bilder von der eigenen Website einbinden möchte, kann das folgende Snippet verwenden. Wenn jemand ein Bild von einer fremden Website einbindet, wird dieses stattdessen als [ externer Link] angezeigt.

Beachte, dass die Änderung auch rückwirkend für alle bereits geposteten Beiträge gilt. Umgekehrt werden, falls du das Snippet später wieder ausbaust, auch die zwischenzeitlich geposteten Bilder wieder sichtbar.

Siehe auch: Direktes Einbinden von externen Bildern nicht mehr möglich (Ankündigung auf phpBB.de)


Öffne: includes/bbcode.php

Suche: (3.0.7-PL1: Zeile 239)

Code: Alles auswählen

					if ($user->optionget('viewimg'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> $this->bbcode_tpl('img', $bbcode_id),
							)
						);
					}
Ersetze mit:

Code: Alles auswählen

					if ($user->optionget('viewimg'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								//nur Bilder von phpBB.de direkt anzeigen
								'#\[img:$uid\](https://www\.phpbb\.de/.*?)\[/img:$uid\]#s'		=> $this->bbcode_tpl('img', $bbcode_id),
								//alle anderen durch [ externes Bild ] ersetzen
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> str_replace('$2', '[ externes Bild ]', $this->bbcode_tpl('url', $bbcode_id, true)),
							)
						);
					}
Anstatt https://www.phpbb.de/ musst du natürlich die Basis-URL deiner eigenen Website eintragen.
KB:knigge
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Re: Nur Bilder von der eigenen Website per [img] einbindbar

Beitrag von redbull254 »

Hinweis:

Achtet beim Ersetzen der URL auch darauf, ggf. dass „https://“ durch „http://“ zu ersetzen.

Nicht jeder benutzt dieses Protokoll:
Das HTTPS-Protokoll wird zur Verschlüsselung und zur Authentifizierung der Kommunikation zwischen Webserver und Browser im World Wide Web verwendet.
Beste Grüße
Walter
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Nur Bilder von der eigenen Website per [img] einbindbar

Beitrag von Pyramide »

Erweiterung von Blackhawk87: Wenn man den Link zum externen Bild mit einer eigenen CSS-Klasse versehen möchte, dann fügt man anstatt dieser Zeile

Code: Alles auswählen

'#\[img:$uid\](.*?)\[/img:$uid\]#s'      => str_replace('$2', '[ externes Bild ]', $this->bbcode_tpl('url', $bbcode_id, true)),
stattdessen die folgende Zeile ein:

Code: Alles auswählen

'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> '<a href="$1" class="extimglink">[ externes Bild ]</a>',
Somit kann man dem Link ein Bild oder sonstige Formatierung verpassen, mit einer Ergänzung in der links.css, z.B. so:

Code: Alles auswählen

.extimglink {
 background-image: url (... );
 background-position: left center;
 background-repeat: no-repeat;
 padding-left: 12px;
}
Nach der Änderung der .css Datei muss ggf. einmal im ACP das Style aktualisiert werden.
KB:knigge
Antworten

Zurück zu „[3.0.x] Snippets“