Zitate <Erweitern> im profil festlegen

Support für weitere IT-Themenbereiche
Antworten
Novalis

Zitate <Erweitern> im profil festlegen

Beitrag von Novalis »

hiho ich hatte schonmal in nem anderem forum gefragt ^^
phpbbdim
gibt es ne möglichkeit das so zu machen
das die user einstellen können ob sie zitate voll oder gekürzt sehen wollen?
es handelt sich bei dem was cih meine um einen mod der ermöglicht das zitate verkürzt angezeigt werden bzw in nem minifenster was man durch klick auf "erweitern" auf volle größe strecken kann..

nun das problem/die frage
wie kann ich es machen das ich im userprofil ne einstellung habe
"immer volle zitate anzeigen ja/nein"

so des wars schon ^^
eventuel ein wink mitm zaun wär janz nett ^^
(wobei ein zaunpfahl manchmal auch reicht ; )
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, erstens weiß ich nicht, um welchen MOD es sich handeln soll und zweitens habe ich mit Zitaten noch nicht soooo viel gemacht :confused:

Sicher könnte man im Userprofil eine solche Option einbauen, aber wie dann was automatisch verkleinern/vergrössern???

Welcher MOD soll es denn sein???
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich vermute mal es ist der Select Expand BBcodes MOD (oder der gleichwertige von FI) gemeint.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Novalis

Beitrag von Novalis »

http://suicide-kills.de/viewtopic.php?p=11264#11264

das meine ich ^^

ka wie der mod heißt der war bei phpbb-dimensions mit dabei ^^
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Das sieht mir nach dem Select Expand BBcodes MOD aus. Der Arbeitet mit Javascript das in der bbcode.tpl eingebunden ist/wird.

Interessant wäre die Idee von Novalis (ich habe den MOD auch im einsatz (allerdings nur für Codeboxen)). Leider hab ich keinen Schimmer von Javascript. :(
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Leider hab ich keinen Schimmer von Javascript
Geht mir auch so :(
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

leider hab ich jetzt nicht die Zeit es auszutüfteln aber hier mal ein paar tipps:

öffnet mal die select_expand_bbcode.js

da gibt es eine Funktion die nennt sich:

_SXBB.prototype.resize = function(cmd)

das müsste man so abändern

_SXBB.prototype.resize = function(cmd, allow)

dann müsste man nach:

var x = this.getObj(this.id+'x');
if( !x ) return;

das hier einfügen

if (allow == 0) cmd = this.T['expand'];

und dann noch nach dem

this.size = this.min;
o.style.height = this.size + 'px';
o.style.overflow = 'auto';
x.innerHTML = this.genCmd('resize', this.T['expand']);

das hier:

allow = 1;

zu guter letzt brauch man dann noch diese Funktion:

function SXBB_evalSize(cmd)

da drin müsst ihr es proggen (1 oder 2 Zeilen) dass man von draussen quasi den Wert aus der Datenbank des jeweiligen Users nimmt und da einfügt... 0 für erlaubt und 1 für nicht erlaubt... oder wie ihr wollt... Das müsste mit einer Zusatzfiunktion get_allow(); zu machen sein die nichts weiter zu tun hat als mit return den Wert dann weiterzugeben.

Es sollte so funktionieren...

Wie gesagt habe leider in 45min Prpfung und cih muss ja noch hin *grins* Also viel Erfolg!
Nur ein Informatik Student. ^^
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

^^ Ist ein schöner Ansatz. :)
Hat aber leider einen fetten Hacken! Und zwar lassen sich php-Variablen nicht so ohne weiteres an Javascript übergeben. :(
Die einzige, mir bekannte, Möglichkeit wäre die komplette select_expand_bbcode.js ins template zu übernehmen und die Variable dann mittels Platzhalter da reinzuschreiben. ^6
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, AmigaLink, da muss ich Dir beipflichten: In ein externes Javascript sind PHP-Platzhalter nicht übertragbar, sondern nur direkt in ein Template!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

Edit: Nochmal anders ausgedrückt:

man setzt einfach vor die skript Datei eine Variable xyz die wird dann mit {ALLOW} gefüllt und auf diese kann dann das Skript zugreifen Oo

*könnte so auch gehen oder nicht oO*

Edit2:

hier mal wie es funzen sollte:

in der bbcode_body.tpl :

Code: Alles auswählen

--- FIND 3 TIMES ---
<script type="text/javascript" src="{U_SXBB_JSLIB}"></script>

--- BEFORE ADD ---
<script type="text/javascript">
<!--
var allow = {EXPAND_ALLOW};
//-->
</script>

--- OPEN ---
select_expand_bbcodes.js

--- FIND ---
	var o = this.getObj(this.id);
	if( !o ) return;
	var x = this.getObj(this.id+'x');
	if( !x ) return;

--- AFTER ADD ---
	if (allow == 1) cmd = this.T['expand'];

--- FIND ---
		// Check to conditionally hide the [expand] link, if once expanded, adding [contract] is not really useful.
		x.innerHTML = ( (o.scrollHeight-this.margin) > this.min ? this.genCmd('resize', this.T['contract']) : '' );

--- AFTER ADD ---
		allow = 0;
So nun müsst ihr noch dran denken in der bbcode.php die daten aus der userprofile zu ziehen und entsprechend der Templatevariable definieren. Oo So müsste es klappen ;)

Edit 3: Ah ich seh was nicht klappen köntne ... die bbcode.php weiss nicht über deine id ~.~ so wird das mist naja ... vielleicht fällt euch dazu was ein ;-) aber ansonsten funktioniert so das Schema ;)
Zuletzt geändert von Bootenks am Di 24.Jan, 2006 17:26, insgesamt 3-mal geändert.
Nur ein Informatik Student. ^^
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Also die Userdata in der bbcode.php verfügbar zu machen dürfte wohl das kleinste Problem sein. ;) Wobei ich jetzt spontan nicht sagen kann ob da evtl. die Performance drunter leidet.

Aber wenn deine Idee zur Variablenübergabe wirklich Funktioniert, Boo, dann dann danke ich dir hiermit mal dafür. Denn das kann ich bei meinem Thread Slideshow gut gebrauchen. :p
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

ja das klappt auf alle fälle so ^^ wenn du zum Beispiel zwei js Skript lädst, dann kannst du immer im zweiten Skript auf die Funktionen zugreifen die das erste Skript liefert. Ist dann halt global verfügbar. (aber nur im js)

Aber das einbinden der userdata in die bbcode.php ist nicht so leicht wie es sich im ersten Moment anhört. Denn diese Datei wird ja letzten Endes in die viewtopic.php und anderen Dateien inkludiert. So müsste man aufpassen, dass man das Sessionmanagment nicht verletzt und somit gravierende Fehler erzeugt. Naja vielleicht kennst du da ja wirklich einen leichten Kniff ir fällt da im Moment keiner ein. Es freut mich aber wenn du meinen Tipp bei irgendeinem anderem Mod verwenden kannst. ;-)
Nur ein Informatik Student. ^^
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Aber das einbinden der userdata in die bbcode.php ist nicht so leicht wie es sich im ersten Moment anhört. Denn diese Datei wird ja letzten Endes in die viewtopic.php und anderen Dateien inkludiert.
Das macht ja nichts.
Theoretisch muss man den Userdata-Array nur Globalisieren. Und selbst wenn das zu irgendwelchen Problemen führen sollte, ist es ja immer noch so das die bbcode.php zu großen Teilen aus Funktionen besteht. Und innerhalb von Funktionen werden Variablen ja als eigenständig behandelt. ;)

Ich probier das hier jetzt nicht aus (Zeit), aber ein ernsthaften Problem dürfte da eigentlich nicht entstehen.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Novalis

Beitrag von Novalis »

öhhm ok...

*keinen blassen hab*

XD

also ich versteh wie es klappen soll aber was ich noch dazu einbauen muss ka XD
hab mich mit dem templates und dem aufbau von phpbb noch nie so stark beschäftigt ^^
Antworten