Mehr Zeichen in Betreffs als nur maximal 64

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Mehr Zeichen in Betreffs als nur maximal 64

Beitrag von dieweltist »

ACHTUNG! Nachfolgender Thread betrifft nur die phpBB-Version 3.0.1. Bei Version 3.0.2 siehe diesen Beitrag von mir, wo beschrieben ist, wie man die maxiale Anzahl auf einfache Weise ohne Änderungen in der Datenbank bis zu 251 Zeichen einstellen kann. Ob das auch so bei den nachfolgenden Version funktioniert, weiß ich leider nicht.

Maximale Buchstabenanzahl in der Betreffzeile erhöhen • phpBB.de

Bisher habe ich schon viele Forensysteme ausführlich getestet und bin bei vielen über die maximal mögliche Anzahl der Zeichen in Betreffs enttäuscht. Vergleichsweise ist das phpBB3 fast das Schlusslicht. Es wird nur von der alten Freeware-Version des IPB untertroffen mit nur 50 Zeichen.

Ich habe versucht die maximale Anzahl der Zeichen in Betreffs von derzeit 60 bzw. 64 auf 255 zu erhöhen. Obwohl ich an den richtigen Stellen die 64 durch die gewünschten 255 ersetze, hatte ich im Ergebnis leider nur maximal 100 Zeichen.

Dazu ersetzte ich für das Standard-Style Prosilver in der Datei posting_editor.html (styles - prosilver - template) die 64 durch 255 (maxlength="255"). Dann musste ich noch in der Datei tpl_prosilver_posting_editor.html.php (Ordner Cache) auch die 64 durch die 255 (maxlength="255") ersetzen.

Letztes ist nicht nötig, falls man über die Adminzentrale auf dessen erster Übersichtsseite (Allgemein) den Cache leert.

Für das Style Subsilver2 ersetzte ich in der Datei posting_body.html die 64 durch die 255. An dieser Position muss das dann auch so aussehen: maxlength="255". Problem: Leider hatte ich jetzt immer noch nur maximal 100 Zeichen je Beitrag im Betreff.

Ich downloadete alle Dateien des Systems über Ftp und durchsuchte sie mit dem Programm FileLocator Pro. Obwohl ich bei allen möglichen Dateien die 100 durch die 255 ersetzte, musste ich am Ende leider erfolglos aufgeben.
Zuletzt geändert von dieweltist am 03.01.2009 22:51, insgesamt 4-mal geändert.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Das Problem liegt in der Datenbank:
POSTS_TABLE sagt nämlich:

Code: Alles auswählen

post_subject  	varchar(100)
Also maximal 100 Zeichen werden gespeichert.
Musst du dort auch noch auf 255 erhöhen.
Ich weiß außerdem nicht, wie es in den php-Dateien aussieht, ob und wenn wo du da noch was ändern musst.
kein Support per PN
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Ich kann in der Datenbank leider kein POSTS_TABLE finden. Auch kein post_subject und auch kein varchar(100). Und auch die Suche liefert in allen Tabellen 0 Treffer.

Aber für '100' habe ich insgesamt 13 Treffer. Aber bei keinem dieser Treffer ist einer der beiden Begriffe zu finden.
Zuletzt geändert von dieweltist am 10.06.2007 15:20, insgesamt 1-mal geändert.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

phpbb_posts :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Danke, jetzt habe ich es endlich gefunden. Ich hatte auf der linken Seite alle Tabbellen angeklickt, unter anderem auch phpbb_posts. Aber bei keiner war POSTS_TABLE zu finden. Ich weiß auch jetzt noch nicht wo das ist.

Das macht aber nichts, denn wenigstens habe ich post_subject gefunden und dort meine '255' eingestellt und gleich ausprobiert, ob es geht. Jetzt funktioniert es endlich mit den 255 Zeichen.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

dieweltist hat geschrieben:Danke, jetzt habe ich es endlich gefunden. Ich hatte auf der linken Seite alle Tabbellen angeklickt, unter anderem auch phpbb_posts. Aber bei keiner war POSTS_TABLE zu finden. Ich weiß auch jetzt noch nicht wo das ist.
POSTS_TABLE ist der Name der Tabelle wo die Posts drinstehen, zuzüglich dem Prefix (steht in der includes/constants.php) aber muss man nicht wissen, keine Ahnung warum ich das so kompliziert geschrieben hab. Widerspricht eigentlich meiner Signatur.
kein Support per PN
Benutzeravatar
Berliner Schildkroete
Mitglied
Beiträge: 563
Registriert: 30.03.2007 19:02
Wohnort: Berlin

Beitrag von Berliner Schildkroete »

Es müsste in der SLQ database unter phpbb_post und dann unter

Code: Alles auswählen

post_subject	varchar(100)	utf8_unicode_ci		Nein  (HIER Bearbeitungsbutton anklicken)  
verändert werden können: dass 100 durch z.b. 255 ersetzen und fertig.

Gruß
Berl. Schildköte
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Kann mir jemand bitte sagen, wo ich die 255 angeben muss, um die maximal mögliche Anzahl von Zeichen auf 255 zu erhöhen in nachfolgender Zeile? Siehe dazu den Basisbeitrag!

Code: Alles auswählen

maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2"
Edit: Ich habe eben herausbekommen, dass man mit dieser originalen Quelltext-Zeile zwar 64 Zeichen in die Titelzeile eines Antwortbeitrages hineinpassen, dann aber nach dem Absenden des Beitrages nur 60 vorhanden sind. Wenn diese aber mit Re: beginnt, werden alle 64 Zeichen angezeigt.

Bei einem neuen Basisbeitrag passen nur 60 Zeichen in die Titelzeile und es werden auch alle 60 angezeigt. Somit ist klar, an welcher Stelle ich die 255 eintragen muss, nämlich die 60 muss ich duch die gewünschte 255 ersetzen und die 64 durch 259.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

kein Support per PN
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Kann mir jemand bitte sagen, wie man diese unselige Maximalgrenze von nur 60 Zeichen im Titel von Beiträgen und Threads größer stellen kann? Beim RC1 hatte es noch funktioniert, dass man diesen Wert auf eine beliebige Größe einstellen konnte, wie ich das in diesem Thread beschrieb.

Aber mit nachfolgender Beschreibung schaffe ich es nur bis maximal 100 Zeichen in einem Antwortbeitrag einschließlich dem Re: , und am besten bis zu 96 Zeichen in dem Titel eines neuen Basisbeitrages am Beginn eines neuen Threads. Ggf. könnte man da auch 100 einstellen, dann würden aber die letzten 4 Buchstaben in den Antwortbeitragen abgeschnitten, weil davor jeweils das Re: angefügt wird.

Ändere jeweils die beiden Werte in nachfolgenden zwei Dateien entsprechend

/styles/prosilver/template/posting_editor.html
/styles/subsilver2/template/posting_body.html

von
maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->
zu
maxlength="<!-- IF S_NEW_MESSAGE -->96<!-- ELSE -->100<!-- ENDIF -->
damit man überhaupt erst mal mehr Zeichen in die Titelzeile hineinschreiben kann.

Ändere in der Datei /includes/functions_content.php in der Zeile
function truncate_string($string, $max_length = 60, $allow_reply = true, $append = '')
den Wert 60 in den Wert 96!

96 Zeichen als Beitragstitel sind mir aber noch lange nicht genug, denn ich plane ein Forum für besonders auserlesene Beiträge, wo ich dann etwa eine maximale Grenze von 100 000 Zeichen je Beitrag einstellen werde.

Demgegenüber erwarte ich dann aber auch entsprechend aussagekräftige Titel, was mit nur 96 Zeichen in vielen Fällen kaum möglich sein wird.

Deswegen wäre ich sehr froh, wenn hier jemand entsprechend helfen könnte, damit wenigstens bis zu 1000 Zeichen je Titel möglich sind. Danke im voraus!

Nachtrag: Ohne Veränderungen in der Datenbank vorzunehmen, erreicht mal also eine Erhöhung auf maximal 96 bzw. 100 Zeichen je Titelzeile. Bei allen Versuchen, diese Grenze zu überwinden, scheiterten bei den Titeln von Basisbeiträgen.

Indem ich in den gesagten drei Dateien eine höhere Maximalgrenze festlegte und dann auch versuchsweise abwechselnd sowohl Antwort- als auch Basisbeiträge Testweise postete, hatte ich jeweils nacheinander die verschiedensten Fehlermeldungen, die mir dann jeweils sagten, an welcher Stelle der Datenbank ich jeweils einen anderen Wert einstellen musste.

phpbb_posts - post_subject
phpbb_topics - topic_last_post_subject
phpbb_forums - forum_last_post_subject
phpbb_topics - topic_title

Am Ende scheiterte es dann aber an den Basisbeiträgen, indem ich die Meldung bekam, dass an der als zweites genannten Position ein falscher Wert sei:
Field 'topic_last_post_subject' doesn't have a default value [1364] SQL INSERT INTO phpbb_topics [...]

FILE: includes/db/mysqli.php
LINE: 143
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1809
CALL: dbal_mysqli->sql_query()

FILE: posting.php
LINE: 1002
CALL: submit_post()
Im Moment glaube ich weniger, dass es daran liegt, dass in irgendeiner Datei noch eine Begrenzung versteckt ist, wodurch diese Meldung ausgelöst wird. Ich vermute, dass irgendwo in der Datenbank noch eine oder mehrere Einstellung(en) versteckt ist/sind, die diese immer noch vorhanden Begrenzung und diese Fehlermeldung auslösen.

Weil ich das Forum leer nur Testweise installiert habe und ich Anfangs die Datenbank im Adminbereich (unter Wartung) gesichert habe, kann ich jeweils wieder schnell und einfach zurückgehen. Ich werde es jetzt noch mal versuchen, dieses Problem zu lösen, indem ich jeweils in den drei besagten Dateien und den genannten Positionen in der Datenbank die Einstellung um nur 1 zu erhöhen, bezogen auf die jeweils bisher in diesem Beitrag besagten Veränderungen.

Und dann die Datenbank manuell zu durchsuchen, wo noch was verdächtigerweise auf einen Wert um die 100 eingestellt ist. Nach jeder Veränderung der Einstellung aber unbedingt den Cache im Adminbereich (Registerkarte 'Allgemein') leeren, damit die neue Einstellung sofort wirksam werden!

Zwischenbericht: Alle Positionen in der Datenbank, wo 100 eingestellt ist, sind nachfolgende. Die rot gekennzeichneten sind diejenigen, die m.E. unbedingt geändert werden müssen.

_attachments - extension + mimetype
_banlist - ban_email
_drafts - draft_subject
_extensions - extension
_forums - forum_last_post_subject
_lang - lang_english_name
_posts - post_subject
_privmsgs - message_subject
_styles_imageset - imageset_path
_styles_template - template_path
_styles_template_data - template_filename
_styles_theme - theme_path
_topics - topic_title + topic_last_post_subject
_users - user_email + user_from

Ergebnis: Ohne PHP-Kenntnisse war es mir leider nicht möglich, eine größere Anzahl von zeichen in der Titelzeile unterzubringen. Ich hatte sämmtliche Einstellungen, wo 100 eingestellt war, auf 101 eingestellt. Das war leider erfolglos, denn es war überhaupt nicht mehr möglich, einen neuen Thread zu erstellen.

Ohne Veränderungen in der Datenbank konnte ich keine höhere Anzahl als 96 bzw. 100 Zeichen erreichen. Und mit Veränderungen konnte ich zwar mehr Zeichen im Titel eines Antwortbeitrages unterbringen; ich konnte dann aber keine Threads mehr erstellen.
Antworten

Zurück zu „[3.0.x] Mod Support“