Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
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.
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.
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
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
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
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
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.
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.
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
schon getestet?
teste doch vorab erstmal den hier:
http://www.mssti.com/phpbb3/viewtopic.php?f=31&t=335
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
Jetzt ebend fertig geworden, aber genau das selbe. Ich denke mal die Tatsache daß mit4seven hat geschrieben:schon getestet?
teste doch vorab erstmal den hier:
http://www.mssti.com/phpbb3/viewtopic.php?f=31&t=335
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]

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
und in den von dir gezeigten stellen des acp-moduls mal testweise
statt
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:
oder doch??
macht ja auch sinn, das zu verzahnen, da das portal ja sonst machen würde, was es will
Code: Alles auswählen
gardi.de
Code: Alles auswählen
http://www.gardi.de
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};
macht ja auch sinn, das zu verzahnen, da das portal ja sonst machen würde, was es will

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
Nach dieser Eingabe funktionierts garnicht mehr. Bringt also nichts, weder beim Link noch beim Bild.4seven hat geschrieben:und in den von dir gezeigten stellen des acp-moduls mal testweisestattCode: Alles auswählen
gardi.de
einzugeben bringt nichts?Code: Alles auswählen
http://www.gardi.de
Den Code hab ich jetzt nirgens gefunden, oder soll ich den irgendwo einsetzen?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:oder doch??Code: Alles auswählen
if (portal){ ignoriere restriktion des boards};
macht ja auch sinn, das zu verzahnen, da das portal ja sonst machen würde, was es will

Langsam aber sicher wirds für mich unüberschaubar. Zumal jetzt noch "4S-BB-Control" dazugekommen ist.

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
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.
oder frage doch direkt in dem entsprechenden portal-forum nach.
ist halt nicht so wirklich phpbb3 spezifisch die anfrage.
-
- Mitglied
- Beiträge: 1
- Registriert: 13.09.2009 14:10
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beiträgen
Hallo, liebe Comunity!
Ich habe das:
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:
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
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(':', '.'), 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ü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
}
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", ' ', $code);
$code = str_replace(' ', ' ', $code);
$code = str_replace(' ', ' ', $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;
}
}
?>
Re: Links für Gäste ausblenden - Forum zugänglich ab x Beitr
Auch von mir herzlichen Dank 4seven für diese schnelle, einfache Lösung!
Da habe ich schon ganz andere komplexere Lösungsansätze gesehen....

Re: Links für Gäste ausblenden - Forum zugänglich ab x Beitr
Sind Sie ein guter Beobachter? Finden sie die X UnterschiedeColourfulz hat geschrieben:Nur kommt bei mir diese Fehlermeldung

viewtopic.php?f=87&p=1307604#p1131335
viewtopic.php?f=87&t=165901#p964507
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...