Tekst i.p.v. plaatje als niet ingelogd

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Lontronics

Tekst i.p.v. plaatje als niet ingelogd

Bericht door Lontronics » 15 nov 2005, 10:23

Omdat ik vermoed dat anderen dit al een keer hebben gemaakt hierbij de vraag.

In het phpbb forum wordt de [img] tag gebruikt om foto's weer te geven.
Eigenlijk zou ik een aanpassing willen maken die, wanneer mensen niet zijn ingelogd i.p.v. de foto een melding geeft op de plaats van de foto, bijv. 'foto's worden alleen weergegeven wanneer u bent ingelogd'.

Dit moet vlgs mij vrij eenvoudig kunnen met een soort if-then constructie.

Iemand een idee of misschien het stukje code al uitgedacht?

Groeten,
Jan

Gebruikersavatar
Cheeta
Berichten: 1165
Lid geworden op: 11 jan 2004, 11:26
Locatie: Mijdrecht Sites: -- Derbi Club --
Contacteer:

Bericht door Cheeta » 15 nov 2005, 14:32

of zoiets bestaat weet ik niet,,

maar je moet dan de img tag in bbcode uit schakelen voor guests,, en dan voor guests een nieuwe aanmaken die het plaatje vervangt door een tekst ofzo?
Don't mess with BD and save the Cheeta's!

Ytrecq
Berichten: 228
Lid geworden op: 03 okt 2005, 16:51

Bericht door Ytrecq » 15 nov 2005, 16:59

Ik heb iets bedacht.
Zoek in bbcode.tpl:

Code: Selecteer alles

<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->
en vervang het met:

Code: Selecteer alles

	<!-- BEGIN switch_user_logged_out -->
		<!-- BEGIN img --><img src="url naar uitgelogd plaatje" border="0" /><!-- END img -->
	<!-- END switch_user_logged_out -->
	<!-- BEGIN switch_user_logged_in -->
		<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->
	<!-- END switch_user_logged_in -->
Wijzig vervolgens de url in de user logged_out switch en je bent klaar.
sudo apt-get remove windows

Gebruikersavatar
Cheeta
Berichten: 1165
Lid geworden op: 11 jan 2004, 11:26
Locatie: Mijdrecht Sites: -- Derbi Club --
Contacteer:

Bericht door Cheeta » 15 nov 2005, 17:04

werkt niet,, veel mensen tikken met de hand in en dan werkt het als nog,,
Don't mess with BD and save the Cheeta's!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 15 nov 2005, 17:05

En in die tpl kan je die switches nei gebruiken :(

Gebruikersavatar
Cheeta
Berichten: 1165
Lid geworden op: 11 jan 2004, 11:26
Locatie: Mijdrecht Sites: -- Derbi Club --
Contacteer:

Bericht door Cheeta » 15 nov 2005, 17:06

das nog wel aan te passen,,

maar je zult het in php moeten maken deze optie
Don't mess with BD and save the Cheeta's!

Ytrecq
Berichten: 228
Lid geworden op: 03 okt 2005, 16:51

Bericht door Ytrecq » 15 nov 2005, 17:51

Waar kan je dat dan wijzigen?
Of kan je dat niet wijzigen, omdat het 'bron' bestand in de map includes staat?
sudo apt-get remove windows

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

Bericht door mosymuis » 15 nov 2005, 18:41

Ytrecq schreef:Of kan je dat niet wijzigen, omdat het 'bron' bestand in de map includes staat?
Waarom zou je het dan niet kunnen wijzigen? ;) Ik zal het maar verklappen, zo moeilijk is de aanpassing niet.

Open
includes/bbcode.php

Vind

Code: Selecteer alles

global $lang, $bbcode_tpl;
Vervang met

Code: Selecteer alles

global $lang, $bbcode_tpl, $userdata, $lang;
Vind

Code: Selecteer alles

$replacements[] = $bbcode_tpl['img'];
vervang met

Code: Selecteer alles

$replacements[] = $userdata['session_logged_in'] ? $bbcode_tpl['img'] : $lang['Image_hidden_guest'];
Open
language/lang_dutch/lang_main.php

Vind

Code: Selecteer alles

//
// That's all Folks!
plaats ervoor

Code: Selecteer alles

$lang['Image_hidden_guest'] = '<b>[dit plaatje is verborgen]</b>';

Lontronics

Bericht door Lontronics » 15 nov 2005, 18:50

Ik heb er nog even over nagedacht, maar het verhaal is ontzettend simpel.
Vervolgens heb ik het verhaal getest en hier is het resultaat:

In viewtopic.php zoek:

Code: Selecteer alles

	if ( $user_sig != '' )
	{
		$user_sig = make_clickable($user_sig);
	}
	$message = make_clickable($message);
Voeg hieronder toe:

Code: Selecteer alles

	//
 	// Do not display images when not logged in
	//
	if( !$userdata['session_logged_in'] )
	{
		while(strpos($message, '<img') !== false)
		{
			$imgnote = "";
			// $imgnote  = "<i><b>Opm: U bent niet ingelogd, foto weergave afgeschermd</b></i>";
			$message = preg_replace('#<img(.*)/>#', $imgnote, $message);
		}
	}
Zoals de code hier nu staat worden foto's simpelweg onderdrukt, als je voor de eerste $imgnote // plaatst, en dit voor de tweede $imgnote weghaalt, wordt op de plaats van de foto de melding 'Opm: U bent niet ingelogd, foto weergave afgeschermd' weergegeven.

Jan

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 15 nov 2005, 18:50

Dan vind ik dat van Mosy beter, die voldoet volledig aan de code standaards.
... Maar ik modereer (nog) niet.

Lontronics

Bericht door Lontronics » 15 nov 2005, 18:52

Overigens is mijn oplossing eigenlijk niet de juiste omdat ik nu tekst in een php bestand zet en dit het onderhoud niet eenvoudiger maakt. Maar aangezien ik zelf een lijst bijhoudt van de aanpassingen die ik doorvoer is dit voor mij afdoende ;)

Jan

Lontronics

Bericht door Lontronics » 15 nov 2005, 18:52

Je was me voor Bee ;)

Gesloten