Onderschrift (hyperlink) niet zichtbaar voor guest user
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

Onderschrift (hyperlink) niet zichtbaar voor guest user
Hoe kan ik er voorzorgen dat een gast de footer txt / Onderschrift niet zichtbaar is.
In templates/subSilver/viewtopic_body.tpl zet dit {postrow.SIGNATURE} het onderschrift.
Iemand een idee??
Dennis
In templates/subSilver/viewtopic_body.tpl zet dit {postrow.SIGNATURE} het onderschrift.
Iemand een idee??
Dennis
Laatst gewijzigd door Dennis op 28 jun 2004, 16:53, 3 keer totaal gewijzigd.
Open viewtopic.php
Zoek
Before, add
After, add
Zoek
Code: Selecteer alles
$user_sig = ( $postrow[$i]['enable_sig'] && $postrow[$i]['user_sig'] != '' && $board_config['allow_sig'] ) ? $postrow[$i]['user_sig'] : '';Code: Selecteer alles
if ( $userdata['user_id'] == ANONYMOUS )
{
$user_sig = '';
}
else
{Code: Selecteer alles
}Dat heeft geen effect, $board_config['allow_sig'] beïnvloed alleen je eigen signature, dus of het "Onderschrift gebruiken" hokje tijdens het posten standaard uit of aan staat.DAMnet schreef:Je zou dus de default settings (GUEST) moeten aanpassen...
Denk ik???
Dat je dan $board_config['allow_sig'] of zoiets op UIT zet?
Dat kan, dan krijg je dit:DAMnet schreef:Als ik in viewtopic.php dit
//[/b]Code: Selecteer alles
'SIGNATURE' => $user_sig,
"uitzet" dan wordt het niet weergegeven
Kun je daar een if ( $poster_id != ANONYMOUS ) aankoppelen???
Code: Selecteer alles
'SIGNATURE' => ( $userdata['session_logged_in'] ) ? $user_sig : '',Ik ben weer een middagje aan het PHPen, maar stuit op een probleem.
Waarom geeft dit een error??
in bbcode.tpl
en dit ook
en ook dit in bbcode.php
En waarin dit geen effect geeft als ik wel of niet ingelogt bent.
Ik denk dat het antwoord dicht in de buurt ligt, omdat in andere situaties het wel werkt.
Dennis
Waarom geeft dit een error??
in bbcode.tpl
Code: Selecteer alles
if ( $userdata['user_id'] == ANONYMOUS )
{
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
}
else
{
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
}Code: Selecteer alles
<!-- BEGIN switch_user_logged_in -->
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
<!-- END switch_user_logged_in --> Code: Selecteer alles
// We do URLs in several different ways..
<!-- BEGIN switch_user_logged_in -->
$bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']);
<!-- END switch_user_logged_in --> Code: Selecteer alles
// We do URLs in several different ways..
if ( $userdata['user_id'] == ANONYMOUS )
{
$bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']);
}
else
{
// $bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
// $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']);
}Dennis
Je gebruikt PHP in de TPL (HTML) bestanden, dat haalt niets uit. Bovendien betwijfel ik of de switch_user_logged_in switches beschikaar zijn binnen de bbcode template.DAMnet schreef:in bbcode.tplCode: Selecteer alles
if ( $userdata['user_id'] == ANONYMOUS ) { <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> } else { <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> }Code: Selecteer alles
<!-- BEGIN switch_user_logged_in --> <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> <!-- END switch_user_logged_in -->
Hier gebruik je HTML binnen een PHP script, dat is fataal. Het kan ook niet werken; die switches worden pas omgezet als de template geparsed wordt. Hier moet je dus de PHP constructie if ( $userdata['session_logged_in'] ) gebruiken.DAMnet schreef:en ook dit in bbcode.php
Code: Selecteer alles
// We do URLs in several different ways.. <!-- BEGIN switch_user_logged_in --> $bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']); $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']); <!-- END switch_user_logged_in -->
Dat is zo niet te zeggen, je zou door middel van echo, print of die() moeten proberen te achterhalen welke voorwaardelijke stap hij kiest, en waarom. Als dit in een functie staat moet je eerst eens bekijken of hij de $userdata array heeft geladen met global.DAMnet schreef:En waarin dit geen effect geeft als ik wel of niet ingelogt bent.
Code: Selecteer alles
// We do URLs in several different ways.. if ( $userdata['user_id'] == ANONYMOUS ) { $bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']); $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']); } else { // $bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']); // $bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']); }
Waar de if ( $userdata['user_id'] == ANONYMOUS ) wel werkt is boven de
in viewtopic.php
Maar ga morgen weer verder stoeien...
Code: Selecteer alles
//
// Parse message and/or sig for BBCode if reqd
//Maar ga morgen weer verder stoeien...
mosymuis schreef:Die mogen ze niet zien, of die mogen ze niet posten?En waarom zou je dat willen?
Leek me wel een leuke uitdaging
Wat ik wilde was, dat alleen als je ingelogt bent geposte urls kan zien. Dus dat als er verwijzingen staan naar een andere site, dat je dan in moet loggen.
(optie zal niet werken als je hem niet gemarkeerd hebt met [url])
Aah, maar dat is simpel. Daarvoor hoef je niet in bbcode.php te stunten.DAMnet schreef:Wat ik wilde was, dat alleen als je ingelogt bent geposte urls kan zien. Dus dat als er verwijzingen staan naar een andere site, dat je dan in moet loggen.
(optie zal niet werken als je hem niet gemarkeerd hebt met [url])
Open
viewtopic.php
Zoek
Code: Selecteer alles
if ( $bbcode_uid != '' )Code: Selecteer alles
if ( !$userdata['session_logged_in'] )
{
$message = preg_replace("#\[url=([^ \"\n\r\t<]*)\]([^ \"\n\r\t<]*)\[/url\]#is", '\\2', $message);
$message = preg_replace("#\[url\]([^ \"\n\r\t<]*)\[/url\]#is", '\\1', $message);
}privmsg.php
Zoek
Code: Selecteer alles
if ( $bbcode_uid != '' )Code: Selecteer alles
if ( !$userdata['session_logged_in'] )
{
$private_message = preg_replace("#\[url=([^ \"\n\r\t<]*)\]([^ \"\n\r\t<]*)\[/url\]#is", '\\2', $private_message);
$private_message = preg_replace("#\[url\]([^ \"\n\r\t<]*)\[/url\]#is", '\\1', $private_message);
}Als ik dit toepas, zie ik alleen verschil dat hij dus de en weg laat (bij inlog of guest), maar de hyperlinks blijven er gewoon staan, zijn dus zichtbaar.Open
viewtopic.php
Zoek
Plaats daarbovenCode: Selecteer alles
if ( $bbcode_uid != '' )
Code: Selecteer alles
if ( !$userdata['session_logged_in'] ) { $message = preg_replace("#\[url=([^ \"\n\r\t<]*)\]([^ \"\n\r\t<]*)\[/url\]#is", '\\2', $message); $message = preg_replace("#\[url\]([^ \"\n\r\t<]*)\[/url\]#is", '\\1', $message); }
Ook de http://damnet.nl/forum/index.php moet dan bijvoorbeeld ook niet zichtbaar zijn.
Dennis
Laatst gewijzigd door Dennis op 17 okt 2004, 15:56, 1 keer totaal gewijzigd.
Verwijder dan de stukjes
en
uit de preg_replace functies.
Code: Selecteer alles
\\1Code: Selecteer alles
\\2(Mosymuis)
Als ikingeeft, werkt het niet.
Dat komt omdat de 'naam' van de url niet aan ééngesloten tekst is.
Zal denk ik in de replace ook naar een spatie moeten kijken??
Hoe kan ik dat doen??
Dennis
Als ik
Code: Selecteer alles
[url=http://earth.google.com/][u]Google Earth – Explore, Search and Discover [/u][/url] Dat komt omdat de 'naam' van de url niet aan ééngesloten tekst is.
Zal denk ik in de replace ook naar een spatie moeten kijken??
Hoe kan ik dat doen??
Dennis