Onderschrift (hyperlink) niet zichtbaar voor guest user

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Onderschrift (hyperlink) niet zichtbaar voor guest user

Bericht door Dennis » 09 mei 2004, 12:42

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
Laatst gewijzigd door Dennis op 28 jun 2004, 16:53, 3 keer totaal gewijzigd.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 09 mei 2004, 12:46

ik denk zo:

open viewtopic_body.tpl
zoek {postrow.SIGNATURE}
zet dit ervoor in de plaats:
<!-- BEGIN switch_user_logged_in -->
{postrow.SIGNATURE}
<!-- END switch_user_logged_in -->

zorg er wel even voor dat BEGIN op een nieuwe regel staat en wat na END komt ook op een nieuwe regel staat.
Afbeelding

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 09 mei 2004, 12:52

Nope.... dan is het hele bericht leeg.

Is het hierin te zoeken??

Als ik in viewtopic.php dit
// 'SIGNATURE' => $user_sig,
"uitzet" dan wordt het niet weergegeven
Kun je daar een if ( $poster_id != ANONYMOUS ) aankoppelen???

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 09 mei 2004, 13:21

Je zou dus de default settings (GUEST) moeten aanpassen...

Denk ik???
Dat je dan $board_config['allow_sig'] of zoiets op UIT zet?

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 09 mei 2004, 13:37

Open viewtopic.php
Zoek

Code: Selecteer alles

$user_sig = ( $postrow[$i]['enable_sig'] && $postrow[$i]['user_sig'] != '' && $board_config['allow_sig'] ) ? $postrow[$i]['user_sig'] : '';
Before, add

Code: Selecteer alles

	if ( $userdata['user_id'] == ANONYMOUS )
	{
	   $user_sig = '';
	}
	else
	{
After, add
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 09 mei 2004, 13:43

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 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:Als ik in viewtopic.php dit
//

Code: Selecteer alles

'SIGNATURE' => $user_sig,
[/b]
"uitzet" dan wordt het niet weergegeven
Kun je daar een if ( $poster_id != ANONYMOUS ) aankoppelen???
Dat kan, dan krijg je dit:

Code: Selecteer alles

'SIGNATURE' => ( $userdata['session_logged_in'] ) ? $user_sig : '',
Maar Luuk's oplossing had ook al moeten werken, waarschijnlijk heb je de swicthes niet op eigen regels geplaatst. Dit is verplicht om ze te laten werken.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 09 mei 2004, 13:43

THANKS!!!!!!! :bier: :bier:

Het werkt..... (the add, after..... optie)

Dennis

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 28 jun 2004, 16:09

Ik ben weer een middagje aan het PHPen, maar stuit op een probleem.

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 -->
}
en dit ook

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 --> 
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 --> 
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']);
}
Ik denk dat het antwoord dicht in de buurt ligt, omdat in andere situaties het wel werkt.

Dennis

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 jun 2004, 17:38

DAMnet schreef: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 --> 
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: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 --> 
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 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']);
}
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.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 28 jun 2004, 20:37

Ik krijg het nog niet voor elkaar :(
Kan ik niet rechtsstreeks in de dbase laten kijken

We weten immers dat iedere user zijn eigen user_id heeft.
Anonymouse heeft -1 als id.


Of is het onmogelijk wat ik wil.

Dennis

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 jun 2004, 21:31

Wat wil je dan? De sigs voor gasten verbergen lukte toch al?

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 28 jun 2004, 22:02

Nope, de URL's :lol: (die gemarkeerd zijn als [url]

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 28 jun 2004, 22:06

Die mogen ze niet zien, of die mogen ze niet posten? :?: En waarom zou je dat willen?

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 28 jun 2004, 22:07

Waar de if ( $userdata['user_id'] == ANONYMOUS ) wel werkt is boven de

Code: Selecteer alles

//
// Parse message and/or sig for BBCode if reqd
//
in viewtopic.php

Maar ga morgen weer verder stoeien...

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 28 jun 2004, 22:09

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 :D

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])

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 29 jun 2004, 07:48

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])
Aah, maar dat is simpel. Daarvoor hoef je niet in bbcode.php te stunten.

Open
viewtopic.php

Zoek

Code: Selecteer alles

		if ( $bbcode_uid != '' )
Plaats daarboven

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);
		}
Open
privmsg.php

Zoek

Code: Selecteer alles

	if ( $bbcode_uid != '' )
Plaats daarboven

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);
	}

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 01 jul 2004, 18:25

Open
viewtopic.php

Zoek

Code: Selecteer alles

      if ( $bbcode_uid != '' ) 
Plaats daarboven

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); 
      }
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.
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.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 01 jul 2004, 19:00

Verwijder dan de stukjes
en
uit de preg_replace functies.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 01 jul 2004, 19:02

Jij bent GOED!!!!!!!! :thumb: :thumb:

Werkt

Thanks

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bericht door Dennis » 06 jul 2005, 22:01

(Mosymuis)

Als ik

Code: Selecteer alles

[url=http://earth.google.com/][u]Google Earth – Explore, Search and Discover [/u][/url] 
ingeeft, 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

Gesloten