Seite 1 von 1

Spoiler BBCode

Verfasst: 20.12.2006 20:33
von mücheln
Ja Hallo,
ich habe in mein Forum den Spoiler BBCode von hier
=> http://phpbbhacks.com/download/4620
eingefügt.
Der Mod geht gut. Was mich stört, auch nicht Registrierte (nicht Eingelogt) können den Spoiler einsehen.
Kann der Code so verändert werden, das nur Leute die Eingelogt sind, den Spoiler einsehen können?
Wenn ja, gibt es einen netten Menschen der mir sagt wie und was?
Wäre sehr Nett.

THX

Re: Spoiler BBCode

Verfasst: 21.12.2006 01:41
von Mahony
Hallo
mücheln hat geschrieben:Was mich stört, auch nicht Registrierte (nicht Eingelogt) können den Spoiler einsehen.
Kann der Code so verändert werden, das nur Leute die Eingelogt sind, den Spoiler einsehen können?
Wenn ja, gibt es einen netten Menschen der mir sagt wie und was?
Wäre sehr Nett.

THX
Das hier sollte dir weiterhelfen >>>switches in bbcode.tpl? [snippet]<<<

P.S. Eine andere Möglichkeit, wäre dieser MOD >>>user_level_hidden_msgs_1.0.1.a<<<


Beschreibung:
This allows users to hide messages inside posts that only
certain user levels can read such as ADMIN, MOD, USER

Grüße: Mahony

Verfasst: 21.12.2006 10:55
von mücheln
@ Mahony
Danke für deine hilfe. Werde beides mal versuchen.
Eine frage zu deiner ersten Antwort.
"switches in bbcode.tpl? [snippet]" Verstehe ich das richtig, wenn ich diese änderung vornehme,
das generell kein BB Code mehr angezeigt wird wenn man Ausgelogt ist?
Also auch kein [img], [quote],

Code: Alles auswählen

, ... ?

Verfasst: 21.12.2006 11:20
von Mahony
Hallo
mücheln hat geschrieben: Eine frage zu deiner ersten Antwort.
"switches in bbcode.tpl? [snippet]" Verstehe ich das richtig, wenn ich diese änderung vornehme,
das generell kein BB Code mehr angezeigt wird wenn man Ausgelogt ist?
Nein - es kommt halt darauf an was du in der bbcode_logged_out.tpl erlaubst (was da eingetragen ist).



Grüße: Mahony

Verfasst: 21.12.2006 14:10
von mücheln
Gut.
Was müßte ich dann in bbcode_logget_out.tpl verändern, damit der Spoiler nicht angezeigt wird?
Ich sehe ja nicht mal in bbcode.tpl was erlaubt ist, wie soll ich wissen was ich bei bbcode_logget_out.tpl verändern muß damit es nicht angezeigt wird.

Oh man, ich bin nun wieder an dem Punkt, wo ich mich dafür Hasse Zimmermann gelernt zu haben. :-?

Verfasst: 21.12.2006 14:17
von Elvis
um es ganz einfach zu machen löscht Du in der bbcode_logged_out.tpl den HTML Code für den Button "Show" und "Hide".

Code: Alles auswählen

<input class="liteoption" type="button" value="Show"  onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }">
und dafür schreibste einfach deinen Text hin zb"

Code: Alles auswählen

um diesen Text zu sehen mußt Du dich registrieren oder einlogen
Ergebnis würde so dann ausehen
Spoiler: um diesen Text zu sehen mußt Du dich registrieren oder einlogen

Verfasst: 21.12.2006 18:03
von mücheln
Also, ich habe wie hier => http://www.phpbb.de/viewtopic.php?t=133111
beschrieben die bbcode.php geändert.
Dann habe ich bbcode.tpl kopiert und in bbcode_logged_out.tpl umbenannt.
Diesen Code

Code: Alles auswählen

<input class="liteoption" type="button" value="Show"  onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }">
habe ich nicht gehabt, bei mir sieht der so aus

Code: Alles auswählen

<input type="button" value="Show" style="width:45px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }">
Diesen habe ich, wenn ich dich richtig verstanden habe komplett gelöscht, und mit dem ersetzt

Code: Alles auswählen

Um diesen Text zu sehen mußt Du dich Registrieren oder Einlogen
Und nun sieht das ergebniss im Forum, egal ob Eingelogt oder nicht, so aus

Code: Alles auswählen

[spoiler:e29b89fba4]Test versteckter Text[/spoiler:e29b89fba4]
Da ist etwas nicht wie es werden sollte. Ich Tippe, das ich wieder mal zu dumm bin und deine vorgehensweise falsch interpretiert habe.

EDIT:/
Ok., ich habe alles wieder rückgängig gemacht.
Dafür habe ich den user_level_hidden_msgs_1.0.1.a Mod eingebaut. In verbindung mit dem Spoiler Mod passt das nun recht gut.
Danke für die Hilfe.

Dickes THX

Verfasst: 22.12.2006 12:13
von Elvis
dann wirste woll ein switch fehlen oder du ahst beim einbau was falsch gemacht.

ich habs gerade getestet und funktioniert.

Code: Alles auswählen

suche und finde
includes/bbcode.php 

	global $template


direkt dahinter
	, $userdata


suche
	$tpl_filename = $template->make_filename('bbcode.tpl');

	
ersetzten mit
	if ( $userdata['session_logged_in'] )
	{
	$tpl_filename = $template->make_filename('bbcode.tpl');
   	}
   	else
   	{   
 	$tpl_filename = $template->make_filename('bbcode_logged_out.tpl');
   	}
dann die bbcode.tpl kopieren "nichts vorher ändern" und in bbcode_logged_out.tpl umbenennen. Dann den Teil mit dem INPUT löschen und dafür deinen Text einfügen.

Denke aber drann das man den versteckten Text trotzdem sieht wenn man auf ZITAT drückt.