Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
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.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von 4seven »

und wie hängt das ads mit dem portal zusammen?
erklär mal genau, welche links verschwinden.
und, was sind das für links (intern/extern)?

dürfte mglw. etwas komplex werden.
hab dazu auch im grunde iA keine zeit.
vllt. kann jemand anders noch einen blick drüber werfen.

teste doch vorab erstmal den hier:
http://www.mssti.com/phpbb3/viewtopic.php?f=31&t=335
Papa101
Mitglied
Beiträge: 96
Registriert: 23.10.2008 16:19
Wohnort: Ludwigsfelde

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von Papa101 »

Im "DM_Portal_ADS" das im Portal zu sehen ist kommen Banner rein, die man verlinken kann. D.h. wenn man auf die Banner klickt kommt man zu der Seite, von der der Banner ist (einstellbar im ACP). Und da der Link auch mit http:// beginnt, verschwindet der Link sammt Banner und der Text daß man sich erst Einloggen/Registrieren soll, erscheint.

als Gast:
[ externes Bild ]

Angemeldet:
[ externes Bild ]

ACP:
[ externes Bild ]

Und diese Banner sollen noch nach dem Code erhalten bleiben. Also ebend nur in den Beiträgen selber sollen die Links nicht mehr nutzbar sein für Gäste.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von 4seven »

schon getestet?
teste doch vorab erstmal den hier:
http://www.mssti.com/phpbb3/viewtopic.php?f=31&t=335
Papa101
Mitglied
Beiträge: 96
Registriert: 23.10.2008 16:19
Wohnort: Ludwigsfelde

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von Papa101 »

4seven hat geschrieben:schon getestet?
teste doch vorab erstmal den hier:
http://www.mssti.com/phpbb3/viewtopic.php?f=31&t=335
Jetzt ebend fertig geworden, aber genau das selbe. Ich denke mal die Tatsache daß mit

Code: Alles auswählen

define('IN_BBCODE_URL',		true );	// Hide links into the bbcode [url][/url]
		define('IN_BBCODE_IMG',		false);	// Hide links into the bbcode [img][/img]
beides "gekillt" wird. Also mit [img] sämmtliche Bilder, und mit [url] sämmtliche Links, egal obs intern oder extern ist. Nur wenn man´s rausnimmt ist ja wieder alles zu sehn, auch in den Beiträgen. :(
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von 4seven »

und in den von dir gezeigten stellen des acp-moduls mal testweise

Code: Alles auswählen

gardi.de
statt

Code: Alles auswählen

http://www.gardi.de
einzugeben bringt nichts?

dann würde mein 4s-bb-control da möglicherweise auch nicht weiter helfen.
käme auf einen versuch an. wie gesagt, ich weiß es nicht, da ich keine portale benutze.
http://www.phpbb.de/community/viewtopic ... 6#p1105656

dummerweise gibt es kein:

Code: Alles auswählen

if (portal){
ignoriere restriktion des boards}; 
oder doch??

macht ja auch sinn, das zu verzahnen, da das portal ja sonst machen würde, was es will :grin:
Papa101
Mitglied
Beiträge: 96
Registriert: 23.10.2008 16:19
Wohnort: Ludwigsfelde

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von Papa101 »

4seven hat geschrieben:und in den von dir gezeigten stellen des acp-moduls mal testweise

Code: Alles auswählen

gardi.de
statt

Code: Alles auswählen

http://www.gardi.de
einzugeben bringt nichts?
Nach dieser Eingabe funktionierts garnicht mehr. Bringt also nichts, weder beim Link noch beim Bild.
4seven hat geschrieben:dann würde mein 4s-bb-control da möglicherweise auch nicht weiter helfen.
käme auf einen versuch an. wie gesagt, ich weiß es nicht, da ich keine portale benutze.
http://www.phpbb.de/community/viewtopic ... 6#p1105656

dummerweise gibt es kein:

Code: Alles auswählen

if (portal){
ignoriere restriktion des boards};  
oder doch??

macht ja auch sinn, das zu verzahnen, da das portal ja sonst machen würde, was es will :grin:
Den Code hab ich jetzt nirgens gefunden, oder soll ich den irgendwo einsetzen? :-?
Langsam aber sicher wirds für mich unüberschaubar. Zumal jetzt noch "4S-BB-Control" dazugekommen ist. :o
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von 4seven »

erstmal luft holen. vllt. meldet sich noch ein portal-experte zu wort.
oder frage doch direkt in dem entsprechenden portal-forum nach.

ist halt nicht so wirklich phpbb3 spezifisch die anfrage.
Colourfulz
Mitglied
Beiträge: 1
Registriert: 13.09.2009 14:10

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen

Beitrag von Colourfulz »

Hallo, liebe Comunity!
Ich habe das:

Code: Alles auswählen

     /**
       * Return bbcode template replacement
       */
       function bbcode_tpl_replace($tpl_name, $tpl)
       {
       global $user;
    // Links_For_Members_Only_by_4seven/2008
    // with_replacement_link_for_guests_to_register
    if ($user->data[\\\'user_id\\\'] == ANONYMOUS){
    $replacements = array(
             \\\'quote_username_open\\\'   => array(\\\'{USERNAME}\\\'   => \\\'$1\\\'),
             \\\'color\\\'               => array(\\\'{COLOR}\\\'      => \\\'$1\\\', \\\'{TEXT}\\\'         => \\\'$2\\\'),
             \\\'size\\\'               => array(\\\'{SIZE}\\\'      => \\\'$1\\\', \\\'{TEXT}\\\'         => \\\'$2\\\'),
             \\\'img\\\'               => array(\\\'{URL}\\\'      => \\\'$1\\\'),
             \\\'flash\\\'               => array(\\\'{WIDTH}\\\'      => \\\'$1\\\', \\\'{HEIGHT}\\\'         => \\\'$2\\\', \\\'{URL}\\\'   => \\\'$3\\\'),
             \\\'email\\\'               => array(\\\'{EMAIL}\\\'      => \\\'$1\\\', \\\'{DESCRIPTION}\\\'   => \\\'$2\\\'),
             \\\'url\\\' => array(\\\'{DESCRIPTION}\\\' => \\\'<a href=\\\"./ucp.php?mode=register\\\">Dieser Link ist für Gäste unsichtbar. Bitte registriere Dich, um alle Funktionen nutzen zu können.</a> \\\')
             );   
    }
    else{
    static $replacements = array(
             \\\'quote_username_open\\\'   => array(\\\'{USERNAME}\\\'   => \\\'$1\\\'),
             \\\'color\\\'               => array(\\\'{COLOR}\\\'      => \\\'$1\\\', \\\'{TEXT}\\\'         => \\\'$2\\\'),
             \\\'size\\\'               => array(\\\'{SIZE}\\\'      => \\\'$1\\\', \\\'{TEXT}\\\'         => \\\'$2\\\'),
             \\\'img\\\'               => array(\\\'{URL}\\\'      => \\\'$1\\\'),
             \\\'flash\\\'               => array(\\\'{WIDTH}\\\'      => \\\'$1\\\', \\\'{HEIGHT}\\\'         => \\\'$2\\\', \\\'{URL}\\\'   => \\\'$3\\\'),
             \\\'email\\\'               => array(\\\'{EMAIL}\\\'      => \\\'$1\\\', \\\'{DESCRIPTION}\\\'   => \\\'$2\\\'),
             \\\'url\\\'               => array(\\\'{URL}\\\'      => \\\'$1\\\', \\\'{DESCRIPTION}\\\'   => \\\'$2\\\')
             );     
    }   
    // Links_For_Members_Only_by_4seven/2008
    // with_replacement_link_for_guests_to_register
Nur kommt bei mir diese Fehlermeldung, wenn ich auf ein Thread im Forum klicke.

Parse error: syntax error, unexpected T_IF, expecting T_FUNCTION in /usr/export/www/vhosts/funnetwork/hosting/dirkross/phpBB3/includes/bbcode.php on line 439

Hab die Line 439 nicht wirklich gefunden rumprobiert und dann waren da glaube ich noch Fehler auf Line 428,437.

Ich hoffe mir kann einer helfen,
Colourfulz

EDIT:
Sieht dann so aus:

Code: Alles auswählen

<?php
/**
*
* @package phpBB3
* @version $Id: bbcode.php 9461 2009-04-17 15:23:17Z acydburn $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* BBCode class
* @package phpBB3
*/
class bbcode
{
	var $bbcode_uid = '';
	var $bbcode_bitfield = '';
	var $bbcode_cache = array();
	var $bbcode_template = array();

	var $bbcodes = array();

	var $template_bitfield;
	var $template_filename = '';

	/**
	* Constructor
	* Init bbcode cache entries if bitfield is specified
	*/
	function bbcode($bitfield = '')
	{
		if ($bitfield)
		{
			$this->bbcode_bitfield = $bitfield;
			$this->bbcode_cache_init();
		}
	}

	/**
	* Second pass bbcodes
	*/
	function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = false)
	{
		if ($bbcode_uid)
		{
			$this->bbcode_uid = $bbcode_uid;
		}

		if ($bbcode_bitfield !== false)
		{
			$this->bbcode_bitfield = $bbcode_bitfield;

			// Init those added with a new bbcode_bitfield (already stored codes will not get parsed again)
			$this->bbcode_cache_init();
		}

		if (!$this->bbcode_bitfield)
		{
			// Remove the uid from tags that have not been transformed into HTML
			if ($this->bbcode_uid)
			{
				$message = str_replace(':' . $this->bbcode_uid, '', $message);
			}

			return;
		}

		$str = array('search' => array(), 'replace' => array());
		$preg = array('search' => array(), 'replace' => array());

		$bitfield = new bitfield($this->bbcode_bitfield);
		$bbcodes_set = $bitfield->get_all_set();

		$undid_bbcode_specialchars = false;
		foreach ($bbcodes_set as $bbcode_id)
		{
			if (!empty($this->bbcode_cache[$bbcode_id]))
			{
				foreach ($this->bbcode_cache[$bbcode_id] as $type => $array)
				{
					foreach ($array as $search => $replace)
					{
						${$type}['search'][] = str_replace('$uid', $this->bbcode_uid, $search);
						${$type}['replace'][] = $replace;
					}

					if (sizeof($str['search']))
					{
						$message = str_replace($str['search'], $str['replace'], $message);
						$str = array('search' => array(), 'replace' => array());
					}

					if (sizeof($preg['search']))
					{
						// we need to turn the entities back into their original form to allow the
						// search patterns to work properly
						if (!$undid_bbcode_specialchars)
						{
							$message = str_replace(array('&#58;', '&#46;'), array(':', '.'), $message);
							$undid_bbcode_specialchars = true;
						}

						$message = preg_replace($preg['search'], $preg['replace'], $message);
						$preg = array('search' => array(), 'replace' => array());
					}
				}
			}
		}

		// Remove the uid from tags that have not been transformed into HTML
		$message = str_replace(':' . $this->bbcode_uid, '', $message);
	}

	/**
	* Init bbcode cache
	*
	* requires: $this->bbcode_bitfield
	* sets: $this->bbcode_cache with bbcode templates needed for bbcode_bitfield
	*/
	function bbcode_cache_init()
	{
		global $user, $phpbb_root_path;

		if (empty($this->template_filename))
		{
			$this->template_bitfield = new bitfield($user->theme['bbcode_bitfield']);
			$this->template_filename = $phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/bbcode.html';

			if (!@file_exists($this->template_filename))
			{
				if (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'])
				{
					$this->template_filename = $phpbb_root_path . 'styles/' . $user->theme['template_inherit_path'] . '/template/bbcode.html';
					if (!@file_exists($this->template_filename))
					{
						trigger_error('The file ' . $this->template_filename . ' is missing.', E_USER_ERROR);
					}
				}
				else
				{
					trigger_error('The file ' . $this->template_filename . ' is missing.', E_USER_ERROR);
				}
			}
		}

		$bbcode_ids = $rowset = $sql = array();

		$bitfield = new bitfield($this->bbcode_bitfield);
		$bbcodes_set = $bitfield->get_all_set();

		foreach ($bbcodes_set as $bbcode_id)
		{
			if (isset($this->bbcode_cache[$bbcode_id]))
			{
				// do not try to re-cache it if it's already in
				continue;
			}
			$bbcode_ids[] = $bbcode_id;

			if ($bbcode_id > NUM_CORE_BBCODES)
			{
				$sql[] = $bbcode_id;
			}
		}

		if (sizeof($sql))
		{
			global $db;

			$sql = 'SELECT *
				FROM ' . BBCODES_TABLE . '
				WHERE ' . $db->sql_in_set('bbcode_id', $sql);
			$result = $db->sql_query($sql, 3600);

			while ($row = $db->sql_fetchrow($result))
			{
				// To circumvent replacing newlines with <br /> for the generated html,
				// we use carriage returns here. They are later changed back to newlines
				$row['bbcode_tpl'] = str_replace("\n", "\r", $row['bbcode_tpl']);
				$row['second_pass_replace'] = str_replace("\n", "\r", $row['second_pass_replace']);

				$rowset[$row['bbcode_id']] = $row;
			}
			$db->sql_freeresult($result);
		}

		foreach ($bbcode_ids as $bbcode_id)
		{
			switch ($bbcode_id)
			{
				case 0:
					$this->bbcode_cache[$bbcode_id] = array(
						'str' => array(
							'[/quote:$uid]'	=> $this->bbcode_tpl('quote_close', $bbcode_id)
						),
						'preg' => array(
							'#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise'	=> "\$this->bbcode_second_pass_quote('\$1', '\$2')"
						)
					);
				break;

				case 1:
					$this->bbcode_cache[$bbcode_id] = array(
						'str' => array(
							'[b:$uid]'	=> $this->bbcode_tpl('b_open', $bbcode_id),
							'[/b:$uid]'	=> $this->bbcode_tpl('b_close', $bbcode_id),
						)
					);
				break;

				case 2:
					$this->bbcode_cache[$bbcode_id] = array(
						'str' => array(
							'[i:$uid]'	=> $this->bbcode_tpl('i_open', $bbcode_id),
							'[/i:$uid]'	=> $this->bbcode_tpl('i_close', $bbcode_id),
						)
					);
				break;

				case 3:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'#\[url:$uid\]((.*?))\[/url:$uid\]#s'			=> $this->bbcode_tpl('url', $bbcode_id),
							'#\[url=([^\[]+?):$uid\](.*?)\[/url:$uid\]#s'	=> $this->bbcode_tpl('url', $bbcode_id),
						)
					);
				break;

				case 4:
					if ($user->optionget('viewimg'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> $this->bbcode_tpl('img', $bbcode_id),
							)
						);
					}
					else
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[img:$uid\](.*?)\[/img:$uid\]#s'		=> str_replace('$2', '[ img ]', $this->bbcode_tpl('url', $bbcode_id, true)),
							)
						);
					}
				break;

				case 5:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'#\[size=([\-\+]?\d+):$uid\](.*?)\[/size:$uid\]#s'	=> $this->bbcode_tpl('size', $bbcode_id),
						)
					);
				break;

				case 6:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'!\[color=(#[0-9a-f]{6}|[a-z\-]+):$uid\](.*?)\[/color:$uid\]!is'	=> $this->bbcode_tpl('color', $bbcode_id),
						)
					);
				break;

				case 7:
					$this->bbcode_cache[$bbcode_id] = array(
						'str' => array(
							'[u:$uid]'	=> $this->bbcode_tpl('u_open', $bbcode_id),
							'[/u:$uid]'	=> $this->bbcode_tpl('u_close', $bbcode_id),
						)
					);
				break;

				case 8:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise'	=> "\$this->bbcode_second_pass_code('\$1', '\$2')",
						)
					);
				break;

				case 9:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'#(\[\/?(list|\*):[mou]?:?$uid\])[\n]{1}#'	=> "\$1",
							'#(\[list=([^\[]+):$uid\])[\n]{1}#'			=> "\$1",
							'#\[list=([^\[]+):$uid\]#e'					=> "\$this->bbcode_list('\$1')",
						),
						'str' => array(
							'[list:$uid]'		=> $this->bbcode_tpl('ulist_open_default', $bbcode_id),
							'[/list:u:$uid]'	=> $this->bbcode_tpl('ulist_close', $bbcode_id),
							'[/list:o:$uid]'	=> $this->bbcode_tpl('olist_close', $bbcode_id),
							'[*:$uid]'			=> $this->bbcode_tpl('listitem', $bbcode_id),
							'[/*:$uid]'			=> $this->bbcode_tpl('listitem_close', $bbcode_id),
							'[/*:m:$uid]'		=> $this->bbcode_tpl('listitem_close', $bbcode_id)
						),
					);
				break;

				case 10:
					$this->bbcode_cache[$bbcode_id] = array(
						'preg' => array(
							'#\[email:$uid\]((.*?))\[/email:$uid\]#is'			=> $this->bbcode_tpl('email', $bbcode_id),
							'#\[email=([^\[]+):$uid\](.*?)\[/email:$uid\]#is'	=> $this->bbcode_tpl('email', $bbcode_id)
						)
					);
				break;

				case 11:
					if ($user->optionget('viewflash'))
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[flash=([0-9]+),([0-9]+):$uid\](.*?)\[/flash:$uid\]#'	=> $this->bbcode_tpl('flash', $bbcode_id),
							)
						);
					}
					else
					{
						$this->bbcode_cache[$bbcode_id] = array(
							'preg' => array(
								'#\[flash=([0-9]+),([0-9]+):$uid\](.*?)\[/flash:$uid\]#'	=> str_replace('$1', '$3', str_replace('$2', '[ flash ]', $this->bbcode_tpl('url', $bbcode_id, true)))
							)
						);
					}
				break;

				case 12:
					$this->bbcode_cache[$bbcode_id] = array(
						'str'	=> array(
							'[/attachment:$uid]'	=> $this->bbcode_tpl('inline_attachment_close', $bbcode_id)
						),
						'preg'	=> array(
							'#\[attachment=([0-9]+):$uid\]#'	=> $this->bbcode_tpl('inline_attachment_open', $bbcode_id)
						)
					);
				break;

				default:
					if (isset($rowset[$bbcode_id]))
					{
						if ($this->template_bitfield->get($bbcode_id))
						{
							// The bbcode requires a custom template to be loaded
							if (!$bbcode_tpl = $this->bbcode_tpl($rowset[$bbcode_id]['bbcode_tag'], $bbcode_id))
							{
								// For some reason, the required template seems not to be available, use the default template
								$bbcode_tpl = (!empty($rowset[$bbcode_id]['second_pass_replace'])) ? $rowset[$bbcode_id]['second_pass_replace'] : $rowset[$bbcode_id]['bbcode_tpl'];
							}
							else
							{
								// In order to use templates with custom bbcodes we need
								// to replace all {VARS} to corresponding backreferences
								// Note that backreferences are numbered from bbcode_match
								if (preg_match_all('/\{(URL|LOCAL_URL|EMAIL|TEXT|SIMPLETEXT|IDENTIFIER|COLOR|NUMBER)[0-9]*\}/', $rowset[$bbcode_id]['bbcode_match'], $m))
								{
									foreach ($m[0] as $i => $tok)
									{
										$bbcode_tpl = str_replace($tok, '$' . ($i + 1), $bbcode_tpl);
									}
								}
							}
						}
						else
						{
							// Default template
							$bbcode_tpl = (!empty($rowset[$bbcode_id]['second_pass_replace'])) ? $rowset[$bbcode_id]['second_pass_replace'] : $rowset[$bbcode_id]['bbcode_tpl'];
						}

						// Replace {L_*} lang strings
						$bbcode_tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $bbcode_tpl);

						if (!empty($rowset[$bbcode_id]['second_pass_replace']))
						{
							// The custom BBCode requires second-pass pattern replacements
							$this->bbcode_cache[$bbcode_id] = array(
								'preg' => array($rowset[$bbcode_id]['second_pass_match'] => $bbcode_tpl)
							);
						}
						else
						{
							$this->bbcode_cache[$bbcode_id] = array(
								'str' => array($rowset[$bbcode_id]['second_pass_match'] => $bbcode_tpl)
							);
						}
					}
					else
					{
						$this->bbcode_cache[$bbcode_id] = false;
					}
				break;
			}
		}
	}

/**
   * Return bbcode template replacement
   */
   function bbcode_tpl_replace($tpl_name, $tpl)
   {
   global $user;
// Links_For_Members_Only_by_4seven/2008
// with_replacement_link_for_guests_to_register
if ($user->data['user_id'] == ANONYMOUS){
$replacements = array(
         'quote_username_open'   => array('{USERNAME}'   => '$1'),
         'color'               => array('{COLOR}'      => '$1', '{TEXT}'         => '$2'),
         'size'               => array('{SIZE}'      => '$1', '{TEXT}'         => '$2'),
         'img'               => array('{URL}'      => '$1'),
         'flash'               => array('{WIDTH}'      => '$1', '{HEIGHT}'         => '$2', '{URL}'   => '$3'),
         'email'               => array('{EMAIL}'      => '$1', '{DESCRIPTION}'   => '$2'),
         'url' => array('{DESCRIPTION}' => '<a href="./ucp.php?mode=register">Dieser Link ist f&uuml;r G&auml;ste unsichtbar. Bitte registriere Dich, um alle Funktionen nutzen zu k&ouml;nnen.</a> ')
         );   
}
else{
static $replacements = array(
         'quote_username_open'   => array('{USERNAME}'   => '$1'),
         'color'               => array('{COLOR}'      => '$1', '{TEXT}'         => '$2'),
         'size'               => array('{SIZE}'      => '$1', '{TEXT}'         => '$2'),
         'img'               => array('{URL}'      => '$1'),
         'flash'               => array('{WIDTH}'      => '$1', '{HEIGHT}'         => '$2', '{URL}'   => '$3'),
         'email'               => array('{EMAIL}'      => '$1', '{DESCRIPTION}'   => '$2'),
         'url'               => array('{URL}'      => '$1', '{DESCRIPTION}'   => '$2')
         );     
}   
// Links_For_Members_Only_by_4seven/2008
// with_replacement_link_for_guests_to_register
    
		}

		if ($bbcode_id != -1 && !$skip_bitfield_check && !$this->template_bitfield->get($bbcode_id))
		{
			return (isset($bbcode_hardtpl[$tpl_name])) ? $bbcode_hardtpl[$tpl_name] : false;
		}

		if (empty($this->bbcode_template))
		{
			if (($tpl = file_get_contents($this->template_filename)) === false)
			{
				trigger_error('Could not load bbcode template', E_USER_ERROR);
			}

			// replace \ with \\ and then ' with \'.
			$tpl = str_replace('\\', '\\\\', $tpl);
			$tpl = str_replace("'", "\'", $tpl);

			// strip newlines and indent
			$tpl = preg_replace("/\n[\n\r\s\t]*/", '', $tpl);

			// Turn template blocks into PHP assignment statements for the values of $bbcode_tpl..
			$this->bbcode_template = array();

			$matches = preg_match_all('#<!-- BEGIN (.*?) -->(.*?)<!-- END (?:.*?) -->#', $tpl, $match);

			for ($i = 0; $i < $matches; $i++)
			{
				if (empty($match[1][$i]))
				{
					continue;
				}

				$this->bbcode_template[$match[1][$i]] = $this->bbcode_tpl_replace($match[1][$i], $match[2][$i]);
			}
		}

		return (isset($this->bbcode_template[$tpl_name])) ? $this->bbcode_template[$tpl_name] : ((isset($bbcode_hardtpl[$tpl_name])) ? $bbcode_hardtpl[$tpl_name] : false);
	}

	/**
	* Return bbcode template replacement
	*/
	function bbcode_tpl_replace($tpl_name, $tpl)
	{
		global $user;

		static $replacements = array(
			'quote_username_open'	=> array('{USERNAME}'	=> '$1'),
			'color'					=> array('{COLOR}'		=> '$1', '{TEXT}'			=> '$2'),
			'size'					=> array('{SIZE}'		=> '$1', '{TEXT}'			=> '$2'),
			'img'					=> array('{URL}'		=> '$1'),
			'flash'					=> array('{WIDTH}'		=> '$1', '{HEIGHT}'			=> '$2', '{URL}'	=> '$3'),
			'url'					=> array('{URL}'		=> '$1', '{DESCRIPTION}'	=> '$2'),
			'email'					=> array('{EMAIL}'		=> '$1', '{DESCRIPTION}'	=> '$2')
		);

		$tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $tpl);

		if (!empty($replacements[$tpl_name]))
		{
			$tpl = strtr($tpl, $replacements[$tpl_name]);
		}

		return trim($tpl);
	}

	/**
	* Second parse list bbcode
	*/
	function bbcode_list($type)
	{
		if ($type == '')
		{
			$tpl = 'ulist_open_default';
			$type = 'default';
		}
		else if ($type == 'i')
		{
			$tpl = 'olist_open';
			$type = 'lower-roman';
		}
		else if ($type == 'I')
		{
			$tpl = 'olist_open';
			$type = 'upper-roman';
		}
		else if (preg_match('#^(disc|circle|square)$#i', $type))
		{
			$tpl = 'ulist_open';
			$type = strtolower($type);
		}
		else if (preg_match('#^[a-z]$#', $type))
		{
			$tpl = 'olist_open';
			$type = 'lower-alpha';
		}
		else if (preg_match('#[A-Z]#', $type))
		{
			$tpl = 'olist_open';
			$type = 'upper-alpha';
		}
		else if (is_numeric($type))
		{
			$tpl = 'olist_open';
			$type = 'decimal';
		}
		else
		{
			$tpl = 'olist_open';
			$type = 'decimal';
		}

		return str_replace('{LIST_TYPE}', $type, $this->bbcode_tpl($tpl));
	}

	/**
	* Second parse quote tag
	*/
	function bbcode_second_pass_quote($username, $quote)
	{
		// when using the /e modifier, preg_replace slashes double-quotes but does not
		// seem to slash anything else
		$quote = str_replace('\"', '"', $quote);
		$username = str_replace('\"', '"', $username);

		// remove newline at the beginning
		if ($quote == "\n")
		{
			$quote = '';
		}

		$quote = (($username) ? str_replace('$1', $username, $this->bbcode_tpl('quote_username_open')) : $this->bbcode_tpl('quote_open')) . $quote;

		return $quote;
	}

	/**
	* Second parse code tag
	*/
	function bbcode_second_pass_code($type, $code)
	{
		// when using the /e modifier, preg_replace slashes double-quotes but does not
		// seem to slash anything else
		$code = str_replace('\"', '"', $code);

		switch ($type)
		{
			case 'php':
				// Not the english way, but valid because of hardcoded syntax highlighting
				if (strpos($code, '<span class="syntaxdefault"><br /></span>') === 0)
				{
					$code = substr($code, 41);
				}

			// no break;

			default:
				$code = str_replace("\t", '&nbsp; &nbsp;', $code);
				$code = str_replace('  ', '&nbsp; ', $code);
				$code = str_replace('  ', ' &nbsp;', $code);

				// remove newline at the beginning
				if (!empty($code) && $code[0] == "\n")
				{
					$code = substr($code, 1);
				}
			break;
		}

		$code = $this->bbcode_tpl('code_open') . $code . $this->bbcode_tpl('code_close');

		return $code;
	}
}

?>
JoeZ
Mitglied
Beiträge: 4
Registriert: 20.08.2013 22:33

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beitr

Beitrag von JoeZ »

Auch von mir herzlichen Dank 4seven für diese schnelle, einfache Lösung! :grin: Da habe ich schon ganz andere komplexere Lösungsansätze gesehen....
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beitr

Beitrag von BNa »

Colourfulz hat geschrieben:Nur kommt bei mir diese Fehlermeldung
Sind Sie ein guter Beobachter? Finden sie die X Unterschiede :grin:

viewtopic.php?f=87&p=1307604#p1131335
viewtopic.php?f=87&t=165901#p964507
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“