posting.php erweitern
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
posting.php erweitern
Hallo,
ich bin schon eine Weile auf der Suche nach einer Lösung für mein Problem.
Vor einiger Zeit habe ich eine Erweiterung für die posting.php gemacht, um zusätzliche Felder mit dem Posting abzuspeichern. Das funktioniert auch perfekt, die zusätzlichen Felder stehen in der Tabelle phpbb_posts drinnen.
Mein Problem sind nun die BBCodes, ich möchte diese auch für die zusätzlichen Felder nutzen. Leider habe ich es nicht geschaft, dass diese im Text des entsprechenden Feldes auch mit drinnen stehen. Wenn ich die BBCodes manuell in die entsprechende Spalte des zusätzlichen Feldes einfüge (z.B. [b:2h8h9oma]Test[/b:2h8h9oma]), dann wird der Text auch entsprechend geparst ausgegeben. Nur bei der Eingabe wenn ich den Text mit Test eingebe, dann wird er genauso in die Spalte eingetragen, also ohne die ":2h8h9oma". Der Text wird ja irgendwo im Bereich von // Save Draft in die Tabelle eingetragen und auch dort geparst, so wie ich gesehen habe.
Ich habe schon versiedene Versuche mit generate_text_for_storage gemacht, aber dann erzeigt er mit eine neue bbcode_uid was dann auch so in der Tabelle steht. Nur wird dann bei de Ausgabe des Textes der BBCode nicht mehr geparst und es wird nur noch [b:sa6hgyxs]Test[/b:sa6hgyxs] angezeigt.
Wie muss ich nun vorgehen, dass die bbcode_uid vom $message Text auch für das zusätzliche Feld richtig eingetragen wird?
Gruß Helmut
ich bin schon eine Weile auf der Suche nach einer Lösung für mein Problem.
Vor einiger Zeit habe ich eine Erweiterung für die posting.php gemacht, um zusätzliche Felder mit dem Posting abzuspeichern. Das funktioniert auch perfekt, die zusätzlichen Felder stehen in der Tabelle phpbb_posts drinnen.
Mein Problem sind nun die BBCodes, ich möchte diese auch für die zusätzlichen Felder nutzen. Leider habe ich es nicht geschaft, dass diese im Text des entsprechenden Feldes auch mit drinnen stehen. Wenn ich die BBCodes manuell in die entsprechende Spalte des zusätzlichen Feldes einfüge (z.B. [b:2h8h9oma]Test[/b:2h8h9oma]), dann wird der Text auch entsprechend geparst ausgegeben. Nur bei der Eingabe wenn ich den Text mit Test eingebe, dann wird er genauso in die Spalte eingetragen, also ohne die ":2h8h9oma". Der Text wird ja irgendwo im Bereich von // Save Draft in die Tabelle eingetragen und auch dort geparst, so wie ich gesehen habe.
Ich habe schon versiedene Versuche mit generate_text_for_storage gemacht, aber dann erzeigt er mit eine neue bbcode_uid was dann auch so in der Tabelle steht. Nur wird dann bei de Ausgabe des Textes der BBCode nicht mehr geparst und es wird nur noch [b:sa6hgyxs]Test[/b:sa6hgyxs] angezeigt.
Wie muss ich nun vorgehen, dass die bbcode_uid vom $message Text auch für das zusätzliche Feld richtig eingetragen wird?
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: posting.php erweitern
So wie ich das sehe, wirst du wohl die Funktion generate_text_for_storage() kopieren müssen (Quellcode: http://www.phpbb.de/infos/3.0/xref/nav. ... .html#l450) und dann hinter die Zeile $message_parser = new parse_message($text); noch folgendes einfügen:
Code: Alles auswählen
$message_parser->bbcode_uid = $deine_bbcode_uid;
KB:knigge
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Re: posting.php erweitern
die bbcode_uid wird einem auch von der Funktion gegeben 

kein Support per PN
Re: posting.php erweitern
Hallo Pyramide, hallo nickvergessen,
danke euch schon mal für die Antwort.
Wie nickvergessen schon sagte, wird bei der Funktion generate_text_for_storage() die bbcode_uid erzeugt, aber in meinem Fall ist das ungünstig. Es soll ja die gleiche bbcode_uid für das zusätzliche Feld verwendet werden wie auch beim Posttext selber.
Ich habe versucht die Funktion generate_text_for_storage() entsprechend zu ändern, aber das scheint irgendwie auch nicht zu gehen. Wo wird denn genau die bbcode_uid erzeugt bzw. wie schaffe ich es dass der Posttext und das zusätzliche Feld mit der gleichen bbcode_uid versehen werden?
Die Funktion generate_text_for_storage() bringt mich anscheinend nicht weiter, es muss noch einen anderen Weg geben.
Gruß Helmut
danke euch schon mal für die Antwort.
Wie nickvergessen schon sagte, wird bei der Funktion generate_text_for_storage() die bbcode_uid erzeugt, aber in meinem Fall ist das ungünstig. Es soll ja die gleiche bbcode_uid für das zusätzliche Feld verwendet werden wie auch beim Posttext selber.
Ich habe versucht die Funktion generate_text_for_storage() entsprechend zu ändern, aber das scheint irgendwie auch nicht zu gehen. Wo wird denn genau die bbcode_uid erzeugt bzw. wie schaffe ich es dass der Posttext und das zusätzliche Feld mit der gleichen bbcode_uid versehen werden?
Die Funktion generate_text_for_storage() bringt mich anscheinend nicht weiter, es muss noch einen anderen Weg geben.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: posting.php erweitern
Im Constructor der Klasse parse_message, also beim Aufruf der von mir zitierten Zeile $message_parser = new parse_message($text);Helmut hat geschrieben:Wo wird denn genau die bbcode_uid erzeugt
Indem du - wie ich oben geschrieben habe - die automatisch generierte bbcode_uid mit der gewünschten überschreibst.Helmut hat geschrieben:bzw. wie schaffe ich es dass der Posttext und das zusätzliche Feld mit der gleichen bbcode_uid versehen werden?
KB:knigge
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Re: posting.php erweitern
Also beim bitfield tritt wohl ein ähnliches Problem auf.
Speicher doch einfach die uid und bitfield deiner Felder auch noch in der DB und benutz dann diese, dann funktioniert alles ordnungsgemäss.
Speicher doch einfach die uid und bitfield deiner Felder auch noch in der DB und benutz dann diese, dann funktioniert alles ordnungsgemäss.
kein Support per PN
Re: posting.php erweitern
Hallo Pyramide,
ok, ich habe jetzt die richtige Stelle gefunden wo die nach deinem Vorschlag abgeänderte Funktion generate_text_for_storage() rein muss damit die richtige bbcode_uid abgespeichert wird. Diese muss direkt vor // Store message, sync counters eingefügt werden.
Jetzt habe ich aber trotzdem ein kleines Problem dabei. Wenn ich auf "Vorschau" klicke, dann wird in der Vorschau selber der Text in dem zusätzlichen Feld richtg geparst angezeigt, aber in der Editzeile wo der Text eingegeben wird, steht dann [b:2h8h9oma]Test[/b:2h8h9oma] drinnen. Hier müsste die bbcode_uid eigentlich entfernt sein damit es so aussieht
Wie bekomme ich die bbcode_uid wieder raus damit das richtig im Editfeld angezeigt wird und an welcher Stelle ist das etwa?
@nickvergessen
Daran habe ich auch schon gedacht, eine zusätzliche Spalte _bbcode_uid2 in die Tabelle phpbb_posts und _drafts einzutragen.
[EDIT]
Es geht doch nicht ganz. Wenn ich einen Post bearbeite, dann steht ja in der Spalte bbcode_uid die uid drinnen. Erstelle ich allerdings einen neuen Post, dann gibt es ja noch keinen Eintrag in der Tabelle _posts bzw. _drafts, woher bekomme ich dann die bbcode_uid?
Gruß Helmut
ok, ich habe jetzt die richtige Stelle gefunden wo die nach deinem Vorschlag abgeänderte Funktion generate_text_for_storage() rein muss damit die richtige bbcode_uid abgespeichert wird. Diese muss direkt vor // Store message, sync counters eingefügt werden.
Jetzt habe ich aber trotzdem ein kleines Problem dabei. Wenn ich auf "Vorschau" klicke, dann wird in der Vorschau selber der Text in dem zusätzlichen Feld richtg geparst angezeigt, aber in der Editzeile wo der Text eingegeben wird, steht dann [b:2h8h9oma]Test[/b:2h8h9oma] drinnen. Hier müsste die bbcode_uid eigentlich entfernt sein damit es so aussieht
Code: Alles auswählen
[b]Test[/b]
@nickvergessen
Daran habe ich auch schon gedacht, eine zusätzliche Spalte _bbcode_uid2 in die Tabelle phpbb_posts und _drafts einzutragen.
[EDIT]
Es geht doch nicht ganz. Wenn ich einen Post bearbeite, dann steht ja in der Spalte bbcode_uid die uid drinnen. Erstelle ich allerdings einen neuen Post, dann gibt es ja noch keinen Eintrag in der Tabelle _posts bzw. _drafts, woher bekomme ich dann die bbcode_uid?
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Re: posting.php erweitern
Hallo,
mal hochschieb ....
Ich bin noch nicht weiter gekommen, finde die Stelle nicht, wo ich in der Editzeile des zusätzlichen Feldes die bbcode_uid wieder aus der Anzeige raus bekomme.
Dann habe ich noch das Problem dass ich bei der Neuerstellung eines Postings ja noch keine bbcode_uid habe, da ja noch nichts in die Datenbank geschrieben wurde. Hier suche ich immer noch die Stelle wo ich die für den Postingtext verwendete bbcode_uid für die Vorschau her bekomme.
Gruß Helmut
mal hochschieb ....

Ich bin noch nicht weiter gekommen, finde die Stelle nicht, wo ich in der Editzeile des zusätzlichen Feldes die bbcode_uid wieder aus der Anzeige raus bekomme.
Dann habe ich noch das Problem dass ich bei der Neuerstellung eines Postings ja noch keine bbcode_uid habe, da ja noch nichts in die Datenbank geschrieben wurde. Hier suche ich immer noch die Stelle wo ich die für den Postingtext verwendete bbcode_uid für die Vorschau her bekomme.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.
- Mahony
- Ehemaliges Teammitglied
- Beiträge: 12179
- Registriert: 17.11.2005 22:33
- Wohnort: Ostfildern Kemnat
- Kontaktdaten:
Re: posting.php erweitern
Hallo
Schau dir mal an, wie das im phpBB3 Support Ticket System MOD gelöst wurde und passe das entsprechend an.
P.S. Sollte es dir allerdings um gespeicherte Entwürfe gehen die du mehrmals verwenden möchtest, dann schau mal hier Entwürfe nach dem Absenden nicht löschen
Grüße: Mahony
Schau dir mal an, wie das im phpBB3 Support Ticket System MOD gelöst wurde und passe das entsprechend an.
P.S. Sollte es dir allerdings um gespeicherte Entwürfe gehen die du mehrmals verwenden möchtest, dann schau mal hier Entwürfe nach dem Absenden nicht löschen
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Re: posting.php erweitern
Hallo Mahony,
danke dir für die Antwort.
Ich habe deinen Mod mal in ein Testforum eingebaut und mir das mal angeschaut was in der DB abgelegt wird. Du packst alles über die $message bei der Tabelle phpbb_posts in die Spalte post_text rein, da funktioniert das natürlich mit dem Parsen der BBCodes. Das hat allerdings auch den Schönheitsfehler dass beim editieren alles zusammen im Textfeld steht, was dann weniger Übersichtlich ist.
Für meine Anwendung geht das nicht, da ich in der _posts Tabelle bereits eigene zusätzliche Spalten wie etwa post_comment habe und diese auch für andere Zwecke brauche. Außerdem werden bei der Konvertierung meines alten Forums bestimmte dieser zusätzlichen Felder gefüllt, da ich im alten Form auch schon zusätzliche Felder da sind. Hier müsste ich den Konverter dann mit großem Aufwand anpassen dass er mir das alles dann entsprechend in die post_text rein packt.
Gruß Helmut
danke dir für die Antwort.
Ich habe deinen Mod mal in ein Testforum eingebaut und mir das mal angeschaut was in der DB abgelegt wird. Du packst alles über die $message bei der Tabelle phpbb_posts in die Spalte post_text rein, da funktioniert das natürlich mit dem Parsen der BBCodes. Das hat allerdings auch den Schönheitsfehler dass beim editieren alles zusammen im Textfeld steht, was dann weniger Übersichtlich ist.
Für meine Anwendung geht das nicht, da ich in der _posts Tabelle bereits eigene zusätzliche Spalten wie etwa post_comment habe und diese auch für andere Zwecke brauche. Außerdem werden bei der Konvertierung meines alten Forums bestimmte dieser zusätzlichen Felder gefüllt, da ich im alten Form auch schon zusätzliche Felder da sind. Hier müsste ich den Konverter dann mit großem Aufwand anpassen dass er mir das alles dann entsprechend in die post_text rein packt.
Gruß Helmut
Ich bin nicht ganz dicht.... na und.