Seite 1 von 2

Links für Gäste nur in bestimmten Foren ausblenden

Verfasst: 06.04.2008 22:38
von christin-e
Hallo,

Ich konnte leider über die Suche keine passenden Themen finden.
Darum erstelle ich einfach gleich mal eins :wink:

Ich habe folgenden MOD eingebaut:
Links für Gäste ausblenden

Code: Alles auswählen

##############################################################
## Snippet Title:          Links für Gäste ausblenden
## Snippet Author:         MagMo < N/A > (N/A) http://phpbb.mwegner.de/
## Snippet Description:    Links (BBCode: [url][/url], [url=...][/url] und normal gepostete Links) werden 
##                         Gästen nicht anzeigt, es erscheint anstelle des Links ein Platzhaltertext. 
##                         Registrierte Besucher bekommen den Link angezeigt.
##
## phpBB-Version:          2.0.20, 2.0.21
##
## Files To Edit:          2
##      includes/bbcode.php
##      language/lang_german/lang_main.php
##
##############################################################
Ich möchte jetzt für 1 Forum die Links wieder zu lassen,
ist das irgendwie Möglich?

z.B. für
http://www.phpbb.de/viewforum.php?f=9
http://www.phpbb.de/viewforum.php?f=72
sind alle Links für Gäste sichtbar
und z.B. für
http://www.phpbb.de/viewforum.php?f=73
http://www.phpbb.de/viewforum.php?f=74
http://www.phpbb.de/viewforum.php?f=33
steht ein Platzhalter anstelle des Links

Lieben Gruss
Tini

Verfasst: 07.04.2008 07:12
von Dr.Death
Du hast zuviel Code gepostet, was das Thema unnötig in die Länge zieht und unübersichtlich macht.
Es wäre besser die Datei bzw. den Code als .txt Datei abzuspeichern und dann hier einen Link zu posten - siehe auch KB:datei .

Bitte passe deinen Beitrag an, lies Dir den phpBB.de-Knigge und den Hinweis zur Fragestellung und Rechtschreibung durch und beachte diese zukünftig.

Verfasst: 07.04.2008 12:34
von christin-e
Ich hoffe es wird dem jetzt gerecht Herr Dr. Death 8)

Verfasst: 08.04.2008 19:43
von christin-e
Hat denn niemand eine Idee? :roll:

Verfasst: 12.04.2008 00:38
von christin-e
ich bekomme es leider nicht gelöst :roll:
Kann mir denn keiner helfen?

Verfasst: 17.04.2008 04:23
von christin-e
weiß denn hier keiner bescheid, wie ich das am besten gelöst bekomme?

Verfasst: 17.04.2008 10:12
von Mavo460
Hier mal an den beiden beispiel Foren die du genannt hast. Entsprechend dann deinen Wünschen anpassen.

suche

Code: Alles auswählen

	// matches a [url]xxxx://www.phpbb.com[/url] code..
	$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] )
	{
		$replacements[] = $lang['BBCode_NO_LINK'];
	}
	else
	{
		$replacements[] = $bbcode_tpl['url1'];
	}

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] )
	{
		$replacements[] = $lang['BBCode_NO_LINK'];
	}
	else
	{
		$replacements[] = $bbcode_tpl['url2'];
	}

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] )
	{
		$replacements[] = $lang['BBCode_NO_LINK'];
	}
	else
	{
		$replacements[] = $bbcode_tpl['url3'];
	}

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if (!$userdata['session_logged_in'] )
	{
		$replacements[] = $lang['BBCode_NO_LINK'];
	}
	else
	{
		$replacements[] = $bbcode_tpl['url4'];
	}
ersetze mit

Code: Alles auswählen

	// matches a [url]xxxx://www.phpbb.com[/url] code..
	$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
	if ($forum_id == "9" || $forum_id == "72")
	{
		$replacements[] = $bbcode_tpl['url1'];
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$replacements[] = $lang['BBCode_NO_LINK'];
		}
		else
		{
			$replacements[] = $bbcode_tpl['url1'];
		}
	}

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
	if ($forum_id == "9" || $forum_id == "72")
	{
		$replacements[] = $bbcode_tpl['url2'];
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$replacements[] = $lang['BBCode_NO_LINK'];
		}
		else
		{
			$replacements[] = $bbcode_tpl['url2'];
		}
	}

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if ($forum_id == "9" || $forum_id == "72")
	{
		$replacements[] = $bbcode_tpl['url3'];
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$replacements[] = $lang['BBCode_NO_LINK'];
		}
		else
		{
			$replacements[] = $bbcode_tpl['url3'];
		}
	}

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
	if ($forum_id == "9" || $forum_id == "72")
	{
		$replacements[] = $bbcode_tpl['url4'];
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$replacements[] = $lang['BBCode_NO_LINK'];
		}
		else
		{
			$replacements[] = $bbcode_tpl['url4'];
		}
	}
suche

Code: Alles auswählen

global $lang, $userdata;
ersetze mit

Code: Alles auswählen

global $lang, $userdata, $forum_id;
suche

Code: Alles auswählen

	if (!$userdata['session_logged_in'] )
	{
		$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
	}
	else
	{
		$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
	}
ersetze mit

Code: Alles auswählen

	if ($forum_id == "9" || $forum_id == "72")
	{
		$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
		}
		else
		{
			$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
		}
	}
suche

Code: Alles auswählen

	if (!$userdata['session_logged_in'] )
	{
		$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
	}
	else
	{
		$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
	}
ersetze mit

Code: Alles auswählen

	if ($forum_id == "9" || $forum_id == "72")
	{
		$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
	}
	else
	{
		if (!$userdata['session_logged_in'] )
		{
			$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
		}
		else
		{
			$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
		}
	}
Gruß

Marco

Verfasst: 17.04.2008 22:29
von christin-e
Hi Marco,
Vielen Dank für deine Antwort, leider bleibt das gewünschte Ergebnis aus.
Der Platzhalter steht nach wie vor in den Beiträgen

Code: Alles auswählen

if ($forum_id == "9" || $forum_id == "72") 
habe ich selbstverständlich an meine ForenId angepasst :wink:

Gibt es eine andere Lösung, oder versteckt sich in dem Code nur ein Fehler?
LG
Tine

Verfasst: 18.04.2008 02:09
von Mavo460
Ich hatte das extra noch vorab geprüft :D und eben auch nochmal geprüft. Funktioniert auf alle Fälle.

Wichtig ist das du diese Änderung durchführst:

suche

Code: Alles auswählen


global $lang, $userdata;
ersetze mit

Code: Alles auswählen

global $lang, $userdata, $forum_id; 
Noch etwas was ich vergessen habe

suche

Code: Alles auswählen

function bbencode_second_pass($text, $uid)
{
	global $lang, $bbcode_tpl, $userdata;
und ersetze mit

Code: Alles auswählen

function bbencode_second_pass($text, $uid)
{
	global $lang, $bbcode_tpl, $userdata, $forum_id;
Wenn du nur ein Forum nutzen willst dann müssen die If abfragen so ausschauen:

Code: Alles auswählen

if ($forum_id == "9")
Gruß

Marco

Verfasst: 23.04.2008 02:55
von christin-e
Hallo Marco....
Ich habe jetzt ein paar Tage probiert, leider ohne Erfolg :cry:
Du sagst, bei dir funktioniert deine Änderung?
Aber warum nicht bei mir??

Habe dir einmal meine bbcode.php als .txt bereitgestellt:
KlickHier

Ich hoffe das die Datei weiterhilft....
Vielen Dank und schönen Gruß
Tine