Avatar

MLF 1.7.7, an emergency release (Technics)

by Auge ⌂, Sunday, February 05, 2017, 18:04 (2609 days ago)

Hello

Because of the urgent notices about mangled messages and nonfunctional installations after the change of the PHP version to 5.4 and above we discussed the cause and solutions to fix this issue.

With the informations and of wo2010 and Sebastian Nast and the developments they made and tested, we can offer the version 1.7.7.1.

Thank you both.

It includes the stand of the version 1.7.6, a few fixes for bugs that came up seven years ago, and Sebastian's fix for the actual issue. No other developments of the last years that are available in the repository was included. These would make the update much more complex than it is now.

I for myself can't test the installation because I have none, so follow the steps and don't forget step 1.

Way one:

If you run a MLF1-forum please make a backup of the current files, including script and language files in the first step. Then load the new files to the web server and run the install.php. Don't forget to make the db_settings.php writeable when your version is a 1.6.x or lower.

Way two:

Make a fresh installation with the new release with new tables (use a new table prefix) and change the db_settings.php afterwards with the data from the old installation (prefix, table names). Then the new forum should contain the data from the old forum.

+++++++++++++++++++++++++++++++++++++

If there are people who are interested to update MLF1 with new features and UTF-8-support, I need their support to pick the existing code, write new code (if needed) and test it in a live – or at least live-alike – environment. I stated that before in German language, so I do it here again in English.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1.7.7, an emergency release

by wo2010, Monday, February 06, 2017, 22:15 (2607 days ago) @ Auge

Hallo Auge,

vielen Dank für die Mühe.

Habe mir die Version 1.7.7.1 heruntergeladen, werde mir aber eine ruhige Phase suchen, sie zu installieren. Vielleicht auch erst, wenn ich eine Testumgebung habe.

If there are people who are interested to update MLF1 with new features and UTF-8-support, I need their support to pick the existing code, write new code (if needed) and test it in a live – or at least live-alike – environment.

Ja, ich bin interessiert und will innerhalb meiner Möglichkeiten helfen.

Viele Grüße
Wolfgang

Avatar

MLF 1.7.7, an emergency release

by Auge ⌂, Tuesday, February 07, 2017, 08:32 (2607 days ago) @ wo2010

Hallo

Habe mir die Version 1.7.7.1 heruntergeladen, werde mir aber eine ruhige Phase suchen, sie zu installieren. Vielleicht auch erst, wenn ich eine Testumgebung habe.

Probiere Weg 2 mit einer Neuinstallation in einem eigenen Verzeichnis und mit eigenem Tabellenpräfix und kopiere dir nach der Installation die Daten der bestehenden Installation mit phpMyAdmin in die neuen Tabellen. Ausnahme davon muss erst einmal die Einstellungstabelle mlf_settings sein! Wahrscheinlich einfachster Weg: Neue Tabellen umbenennen (z.B. mlf_neu_entries => mlf_neu_entries_1) und Erstellung einer Kopie der Tabelle aus der alten Installation (mlf_entries => mlf_neu_entries). Öffne dazu in phpMyAdmin die jeweilige Tabelle und öffne im Menüband den Punkt "Operationen". Dort sind die passenden Operationen zu finden.

If there are people who are interested to update MLF1 with new features and UTF-8-support, I need their support to pick the existing code, write new code (if needed) and test it in a live – or at least live-alike – environment.


Ja, ich bin interessiert und will innerhalb meiner Möglichkeiten helfen.

Danke für dein Interesse. Den Großteil der Vorarbeit haben Alfie und ich schon erledigt. Es geht nun primär darum, die entsprechenden Codeteile aus dem Entwicklungszweig des Repositories herauszulösen (da ist auch viel unfertiger Kram drin) oder, wenn nötig, nachzubauen und in einen sauberen Stand einzufügen.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1.7.7, an emergency release

by wo2010, Wednesday, February 22, 2017, 23:48 (2591 days ago) @ Auge

Hallo Auge,

Habe mir die Version 1.7.7.1 heruntergeladen, werde mir aber eine ruhige Phase suchen, sie zu installieren. Vielleicht auch erst, wenn ich eine Testumgebung habe.


Probiere Weg 2 mit einer Neuinstallation in einem eigenen Verzeichnis und mit eigenem Tabellenpräfix und kopiere dir nach der Installation die Daten der bestehenden Installation mit phpMyAdmin in die neuen Tabellen.

habe es heute mit der Neuinstallation probiert.

Hat leider noch nicht geklappt: Die Tabellen mit Präfix "forum-2_" konnten nicht angelegt werden.

Sieben Fehlermeldungen nach dem Muster:

Die Tabelle forum-2_settings konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2_settings (name varchar(255) NOT NULL default '', value varchar(255) NOT NULL ' at line 1)

Hm, dachte ich. Vielleicht dürfen die Tabellennamen keine Zahlen enthalten?

Kann es aber auch nicht sein, denn mit "forum-zwei_" klappte es dann ebenfalls nicht.

Da hier die Fehlermeldung zur ersten Tabelle hinten etwas abgeschnitten erscheint, füge ich mal die komplette Systemantwort ein:

Die Tabelle forum-zwei_settings konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_settings (name varchar(255) NOT NULL default '', value varchar(255) NOT NU' at line 1)

Die Tabelle forum-zwei_entries konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_entries (id int(11) NOT NULL auto_increment, pid int(11) NOT NULL default ' at line 1)

Die Tabelle forum-zwei_categories konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_categories (id int(11) NOT NULL auto_increment, category_order int(11) NOT' at line 1)

Die Tabelle forum-zwei_userdata konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_userdata (user_id int(11) NOT NULL auto_increment, user_type varchar(255) ' at line 1)

Die Tabelle forum-zwei_smilies konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_smilies (id int(11) NOT NULL auto_increment, order_id int(11) NOT NULL def' at line 1)

Die Tabelle forum-zwei_banlists konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_banlists (name varchar(255) NOT NULL default '', list text NOT NULL)' at line 1)

Die Tabelle forum-zwei_useronline konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-zwei_useronline (ip char(15) NOT NULL default '', time int(14) NOT NULL default' at line 1)

Nächster Verdacht: Minusstrich ist vielleicht nicht erlaubt, also "forum_zwei_".

Und guck an - nur noch zwei Fehlermeldungen:

Die Tabelle forum_zwei_entries konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, last_answer timestamp(14) NOT NULL, edited timestamp(14) NOT NULL' at line 1)

Die Tabelle forum_zwei_userdata konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, last_logout timestamp(14) NOT NULL, user_ip varchar(255) NOT NULL' at line 1)

Die anderen fünf Tabellen wurden jetzt angelegt, wie phpMyAdmin zeigt.

Wo liegen die Fehler?

Dank im voraus
und viele Grüße
Wolfgang

Avatar

MLF 1.7.7, an emergency release

by Auge ⌂, Thursday, February 23, 2017, 08:13 (2591 days ago) @ wo2010

Hallo

habe es heute mit der Neuinstallation probiert.

Hat leider noch nicht geklappt: Die Tabellen mit Präfix "forum-2_" konnten nicht angelegt werden.

Nächster Verdacht: Minusstrich ist vielleicht nicht erlaubt, also "forum_zwei_".

Soweit wäre das ja wohl geklärt.

Und guck an - nur noch zwei Fehlermeldungen:

Die Tabelle forum_zwei_entries konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, last_answer timestamp(14) NOT NULL, edited timestamp(14) NOT NULL' at line 1)
 
Die Tabelle forum_zwei_userdata konnte nicht erstellt werden (MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, last_logout timestamp(14) NOT NULL, user_ip varchar(255) NOT NULL' at line 1)

Die anderen fünf Tabellen wurden jetzt angelegt, wie phpMyAdmin zeigt.

Wo liegen die Fehler?

Tja, im Installationsskript habe ich, bis auf die Versionsnummer und die bei einer Neuinstallation irrelevante Updatfunktion, nichts verändert. Von der Version 1.7.6, deren install.php mit der aktuellen – bis auf die angesprochenen Änderungen – identisch ist, sind mir keine Probleme mit der MySQL-Syntax bekannt.

Was mir aber auffällt, ist der Umstand, dass beide Fehler in Zeilen mit einem Zeitstempel auftreten (near '(14) NOT NULL, last_logout …). Es ist jeweils die erste, unvollständige Angabe „14) NOT NULL“ am Beginn des Zitats in der Fehlermeldung. In allen anderen Tabellen, die ja nun angelegt wurden, gibt es keine Datumsfelder.

Ich werde recherchieren.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.7, Fehler in CREATE-Queries, Ursache gefunden

by Auge ⌂, Thursday, February 23, 2017, 11:36 (2591 days ago) @ Auge

Hallo

Wo liegen die Fehler?


Ich werde recherchieren.

Um Onkel Hotte zu zitieren: „Gesagt, getan getätet tun haben.“

Zitat aus der Doku: „MySQL permits fractional seconds for TIME, DATETIME, and TIMESTAMP values, with up to microseconds (6 digits) precision.

Das heißt einerseits, dass mit der Zahl in der Klammer die für die Sekundebruchteile vorgesehene Anzahl der Stellen (max. 6), festgelegt wird und andererseits, dass diese Angabe in MLF1 nicht benötigt wird.

Offensichtlich wurde „irgendwann“ die Struktur des Datentyps TIMESTAMP umgestellt oder die Fehlerbehandlung schlägt heutzutage bei „kleineren“ Fehlern an anstatt sie stillschweigend zu korrigieren. Als ich im Dezember 2009 das Forum, in dem ich die zwischenzeitliche Weiterentwicklung vollzog, installierte, hat die Angabe von timestamp(14) noch funktioniert. Wahrscheinlich (ich finde dazu auf die Schnelle leider nichts) wurde die fehlerhaft Angabe einfach ignoriert. Dass die Anzahl der möglichen Nachkommastellen früher 14 betrug und dann einfach auf 6 beschnitten wurde, halte ich hingegen für sehr unwahrscheinlich.

Ich werde also eine neue Version (1.7.7.2) zusammenstellen. Funktional wird sich vorerst nichts ändern. Ich bin aber schon an den Backslashes dran. Momentan baue ich gerade an der Installationsroutine für das Prüfskript namens removeGPC.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.7, an emergency release

by Auge ⌂, Thursday, February 23, 2017, 13:50 (2591 days ago) @ wo2010

Hallo

habe es heute mit der Neuinstallation probiert.

Hat leider noch nicht geklappt

Neuer Release 1.7.7.2, siehe dazu auch das passende Posting. Probiere bitte eine Neuinstallation ohne die angelegten Tabellen des letzten Versuchs zu behalten.

Danke und tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

MLF 1.7.7, an emergency release

by wo2010, Thursday, February 23, 2017, 23:15 (2590 days ago) @ Auge

Hallo Auge,

Neuer Release 1.7.7.2, siehe dazu auch das passende Posting. Probiere bitte eine Neuinstallation ohne die angelegten Tabellen des letzten Versuchs zu behalten.

vielen Dank. Habe es so gemacht und es hat diesmal flott geklappt - auch mit Präfix "forum_2_" : -).

Läßt sich auch aufrufen. Weitere Dinge dann aber nach der Nacht.

Noch zwei Anmerkungen:
- Der Link zum Programmpaket sollte hier vielleicht auch bei der Release-Meldung für MLF 1.7.7.2 stehen.
- Die README-Datei im Paket spricht noch von 1.7.6.

Viele Grüße
Wolfgang

Avatar

MLF 1.7.7, an emergency release

by Auge ⌂, Friday, February 24, 2017, 07:17 (2590 days ago) @ wo2010

Hallo Wolfgang

Neuer Release 1.7.7.2, siehe dazu auch das passende Posting. Probiere bitte eine Neuinstallation ohne die angelegten Tabellen des letzten Versuchs zu behalten.


vielen Dank. Habe es so gemacht und es hat diesmal flott geklappt - auch mit Präfix "forum_2_" : -).

Sehr schön. :-)

Noch zwei Anmerkungen:
- Der Link zum Programmpaket sollte hier vielleicht auch bei der Release-Meldung für MLF 1.7.7.2 stehen.

Der Link zum Download ist jetzt eingefügt. Danke für den Hinweis.

- Die README-Datei im Paket spricht noch von 1.7.6.

Upps, da ändere ich für diese Version jetzt aber nichts mehr dran.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Codierungs-Turbulenzen [verschoben]

by Auge ⌂, Wednesday, February 08, 2017, 07:55 (2606 days ago) @ Auge
edited by Auge, Thursday, February 09, 2017, 07:48

Hallo Alfie

Achtung Dieses Posting war ursprünglich eine Antwort auf jenes Posting im Thread "MLF 1.7.3: Changed PHP 5.2 to 5.5 -> Empty titles and bodies".

++++++++++++++++++++++++++++++++++++++++++++++++++

Da ich dich gerade "am Rohr" habe und du die einzige laufende Installation von MLF1 > 1.7.7 hast. Hast du einen Überblick, welche der von uns eingebauten Features überhaupt genutzt werden? Ist z.B. der Umstieg von Alex' ursprünglichen BBCode-Funktionen auf Christian Seilers Lösung, die ja selbst mittlerweile uralt und ungepflegt ist, überhaupt sinnvoll?

Ich versuche gerade einen Plan aufzustellen, was ich aus unserem Entwicklungszweig übernehme oder wegen chaotischen Commits nachimplementiere und was nicht. Meine bis jetzt gefundenen Punkte:

- Umstellung der Ausgabe der Abfrageergebnisse von myslq(i)_fetch_array auf myslq(i)_fetch_assoc.
- Behebung des magic_quotes_gpc-Problems. Prüfskript für Einträge und Benutzerdaten in bestehenden Installationen.
- Vollständiger Umstieg von der alten MySQL-Bibliothek auf die Neue (von den mysql_- auf die mysqli_-Funktionen).
- CSRF-Schutz entsprechend der hiesigen, mit der Version 2.3.7 vorgenommenen Änderungen.

Das könnte noch einmal als Version 1.7.8 zusammengefasst werden. Danach folgt …

- … das Nachvollziehen der Commits zum Umstieg auf UTF-8.
- … der Einbau der Abonnement-Funktion.
- … die Klassenvergabe für registrierte Benutzer, Moderatioren und Administratoren.
- … der vom registrierten Benutzer aktivierbare Autoreload.

Die letzten drei Punkte enthalten jene Funktionserweiterungen, die ich wirklich gerne drin hätte. Allerdings weiß ich selbst nicht mehr, was wir sonst noch eingebaut haben, weil das durchkämmen der über tausend, teilweise sehr chaotisch wirkenden Commits, sehr anstrengend ist. Hast du noch Sachen, die sich bei dir bewährt haben und die nicht zu speziell auf Fachforen wie deines zugeschnitten sind? Ist z.B. der Umbau der Einstellungs- und der Benutzerseiten auf eine Tab-basierte Darstellung nach deinen Erfahrungen sinnvoll?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Codierungs-Turbulenzen [verschoben]

by Alfie ⌂, Vienna, Austria, Wednesday, February 08, 2017, 13:30 (2606 days ago) @ Auge
edited by Auge, Thursday, February 09, 2017, 07:49

Hallo Auge

… (Stichwort: Deppenapostroph). :-D


[…] Ich glaube von mir behaupten zu können, dass ich solche Fehler ausschließlich absichtlich mache.

War mir schon klar. Ich konnte einfach nicht widerstehen.

Da ich dich gerade "am Rohr" habe und du die einzige laufende Installation von MLF1 > 1.7.7 hast. Hast du einen Überblick, welche der von uns eingebauten Features überhaupt genutzt werden?

Teilweise. Ist auch schon eine Weile her.

Ist z.B. der Umstieg von Alex' ursprünglichen BBCode-Funktionen auf Christian Seilers Lösung, die ja selbst mittlerweile uralt und ungepflegt ist, überhaupt sinnvoll?

Eher nicht. Sie wird bei mir noch als Altlast mitgeschleppt (in functions.php eingebunden mittels require_once(). Soweit ich das überblicke, gibt es aber bei mir keinen Aufruf mehr. Ich habe mein eigenes umfangreiches System in bbcode.inc.php. Nimmt aber keinerlei Rücksicht auf falsche Verschachtelungen. Etwa wird [b][i]text[/b][/i] als text dargestellt (invalid, aber der Browser rät richtig).
Was passiert hier mit [b][i]text[/b][/i]?
Ergebnis: text[/i]. Brav, setzen! In der Source

<strong><em>text</em></strong>[/i]

Ich glaube, ihr habt vor einiger Zeit über mögliche Alternativen diskutiert (finde ich auf die Schnelle nicht). Falls es welche gibt, wäre das natürlich sinnvoll.

Ich versuche gerade einen Plan aufzustellen, was ich aus unserem Entwicklungszweig übernehme oder wegen chaotischen Commits nachimplementiere und was nicht. Meine bis jetzt gefundenen Punkte:

- Umstellung der Ausgabe der Abfrageergebnisse von myslq(i)_fetch_array auf myslq(i)_fetch_assoc.

Ich habe bei mir beides… Etwa in funcs.db.php mysql_fetch_array und mysql_fetch_assoc.

- Behebung des magic_quotes_gpc-Problems. Prüfskript für Einträge und Benutzerdaten in bestehenden Installationen.

Unbedingt.

- Vollständiger Umstieg von der alten MySQL-Bibliothek auf die Neue (von den mysql_- auf die mysqli_-Funktionen).

Ab welcher Version verfügbar?

- CSRF-Schutz entsprechend der hiesigen, mit der Version 2.3.7 vorgenommenen Änderungen.

Gut.

Das könnte noch einmal als Version 1.7.8 zusammengefasst werden. Danach folgt …

- … das Nachvollziehen der Commits zum Umstieg auf UTF-8.
- … der Einbau der Abonnement-Funktion.
- … die Klassenvergabe für registrierte Benutzer, Moderatioren und Administratoren.
- … der vom registrierten Benutzer aktivierbare Autoreload.

Die letzten drei Punkte enthalten jene Funktionserweiterungen, die ich wirklich gerne drin hätte.

Full ACK. Persönlich fände ich eine Zeitzonen-Auswahl wie im 2er-Zweig charmant.

[edit]Eine aufgebohrte Suchfunktion wie in Mudguard’s Forum. Das betrifft nicht nur die neue 1er-Version sondern auch diese. Es gibt ja Foren mit hundertausenden Posts und die derzeitige Suche kann schon einmal zu einem abendfüllendes „Vergnügen” werden.[/edit]

Allerdings weiß ich selbst nicht mehr, was wir sonst noch eingebaut haben, weil das durchkämmen der über tausend, teilweise sehr chaotisch wirkenden Commits, sehr anstrengend ist. Hast du noch Sachen, die sich bei dir bewährt haben und die nicht zu speziell auf Fachforen wie deines zugeschnitten sind?

Auch wenn wir bei XHTML 1.0 bleiben wollen, wäre zumindest

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

sinnvoll. Andernfalls meckert Google inzwischen. Praktisch geht mir das am A vorbei (<1% Zugriffe von mobilen Devices). Bei anderen Foren sicher viel höher.

Ist z.B. der Umbau der Einstellungs- und der Benutzerseiten auf eine Tab-basierte Darstellung nach deinen Erfahrungen sinnvoll?

Ich weiß, wieviel Zeit du daran verwendet hast. Das Ergebnis sieht sehr schön aus. Spricht irgendetwas dagegen? Bei mir ignorieren Benutzer ihre Profile hartnäckig. Daher hab ich mir eine Umstellung nicht angetan.

Weil ich dich gerade an der Strippe habe, zwei Fragen:

  • Seit gestern werden bei mir Benutzer nach kurzem (tw. weniger als 1 Minute) ausgelogged (sagt man so?). Sehr ärgerlich. Keine Eintrage in den Server-Logs, genügend Platz am Server (Speicher und Anzahl Files). Das einzig auffällige (aber schon seit Dezember): Der “Majestic”-Bot ist aggressiv und saugt 50% meiner Bandbreite. Habe ich heute um 11:00 in der robots.txt geblockt. Bisher kein Effekt.
  • Ich könnte bei mir von PHP5.3x auf PHP5.6x umstellen. Soll ich das einmal versuchen oder trifft mich dann der Blitz?

--
Cheers,
Alfie (Helmut Schütz)
BEBA-Forum (v1.8β)

Avatar

Codierungs-Turbulenzen [verschoben]

by Auge ⌂, Wednesday, February 08, 2017, 14:33 (2606 days ago) @ Alfie
edited by Auge, Thursday, February 09, 2017, 07:49

Hallo Alfie

Ist z.B. der Umstieg von Alex' ursprünglichen BBCode-Funktionen auf Christian Seilers Lösung, die ja selbst mittlerweile uralt und ungepflegt ist, überhaupt sinnvoll?


Eher nicht. Sie wird bei mir noch als Altlast mitgeschleppt (in functions.php eingebunden mittels require_once(). Soweit ich das überblicke, gibt es aber bei mir keinen Aufruf mehr. Ich habe mein eigenes umfangreiches System in bbcode.inc.php.

Ich hatte zum Glück schon bei der Installation daran gedacht, dass du wegen der Formeln deine BB-Code-Implementierung selbst erweitern wolltest. Deswegen ja auch die Trennung und Auslagerung nach /fuctions. Richtig gedacht und gemacht. :-)

Hier haben wir die BB-Code-Klasse ja an die Erfordernisse von PHP 5.3 (ich glaube damals veränderte sich die Syntax) und höher angepasst. Diese aktualisierte und funktionierende Lösung könnte ich auch übernehmen, denn …

Nimmt aber keinerlei Rücksicht auf falsche Verschachtelungen.

… das würde ich, Fehlerkorrektur der Browser hin oder her, vermeiden wollen.

Ich glaube, ihr habt vor einiger Zeit über mögliche Alternativen diskutiert (finde ich auf die Schnelle nicht). Falls es welche gibt, wäre das natürlich sinnvoll.

Ja, im Gespräch war Markdown. Für die Neuinstallation eines Forums wäre das eine Lösung. Im SelfHTML-Forum wird ja mit einem Dialekt (Kramdown) formatiert und ich mag die Einfachheit so sehr, dass ich in der Firma auch Anleitungen und Ähnliches damit erstelle.

Ein Umstieg der Formatierungssprache in einem bestehenden Forum ist aber mit sehr viel mehr Aufwand möglich. Zudem muss das Publikum mit der anderen Lösung zurechtkommen. Für dein Forum mit seinen zahlreichen Anforderungen an mögliche Formatierungen halte ich Markdown gleich garnicht für geeignet.

Ich versuche gerade einen Plan aufzustellen, was ich aus unserem Entwicklungszweig übernehme oder wegen chaotischen Commits nachimplementiere und was nicht. Meine bis jetzt gefundenen Punkte:

- Umstellung der Ausgabe der Abfrageergebnisse von myslq(i)_fetch_array auf myslq(i)_fetch_assoc.


Ich habe bei mir beides… Etwa in funcs.db.php mysql_fetch_array und mysql_fetch_assoc.

Dann habe ich wohl ein paar Aufrufe beim Umbau vergessen.

- Behebung des magic_quotes_gpc-Problems. Prüfskript für Einträge und Benutzerdaten in bestehenden Installationen.


Unbedingt.

Dass es jetzt zuschlägt, macht es entsprechend dringend. Das ist aber kein Beinbruch, weil die bei dir schon eingebaute Prüfung mit dem Aufruf der eigenen Funktion stripslashes_deep vorhanden ist und sowieso nur noch für Foren relevant ist, die auf asbachuralten PHP-Versionen laufen. Allerdings müssen die vorhandenen Inhalte, die mit Backslashes verunstaltet sein können, bereinigt werden.

- Vollständiger Umstieg von der alten MySQL-Bibliothek auf die Neue (von den mysql_- auf die mysqli_-Funktionen).


Ab welcher Version verfügbar?

Die MySQLi-Bibliothek ist ab PHP 5.3 verfügbar. Viel wichtiger ist an der Stelle aber, dass die alte MySQL-Bibliothek ab PHP 7 nicht mehr verfügbar ist.

Das könnte noch einmal als Version 1.7.8 zusammengefasst werden. Danach folgt …

- … das Nachvollziehen der Commits zum Umstieg auf UTF-8.
- … der Einbau der Abonnement-Funktion.
- … die Klassenvergabe für registrierte Benutzer, Moderatioren und Administratoren.
- … der vom registrierten Benutzer aktivierbare Autoreload.

Die letzten drei Punkte enthalten jene Funktionserweiterungen, die ich wirklich gerne drin hätte.


Full ACK. Persönlich fände ich eine Zeitzonen-Auswahl wie im 2er-Zweig charmant.

Da kann ich mir Anregungen von der hiesigen Implementierung holen. Einfach übernehmen darf ich sie ja ohne explizites o.k. nicht (MLF1: GPL2, MLF2: GPL3).

Auch wenn wir bei XHTML 1.0 bleiben wollen, wäre zumindest

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

sinnvoll.

Ich bin mir nicht sicher, ob wir mit <meta name="viewport" /> überhaupt bei XHTML1 bleiben können oder nicht doch auf HTML5 umstellen müssen.

Andernfalls meckert Google inzwischen. Praktisch geht mir das am A vorbei (<1% Zugriffe von mobilen Devices).

Vielleicht würde sich genau das mit einem auch auf Mobilgeräten brauchbaren Layout ändern? ;-)

Bei anderen Foren sicher viel höher.

Davon sollten wir ausgehen.

Ist z.B. der Umbau der Einstellungs- und der Benutzerseiten auf eine Tab-basierte Darstellung nach deinen Erfahrungen sinnvoll?


Ich weiß, wieviel Zeit du daran verwendet hast.

Ja, ich war stolz wie Bolle. :-)

Das Ergebnis sieht sehr schön aus. Spricht irgendetwas dagegen? Bei mir ignorieren Benutzer ihre Profile hartnäckig. Daher hab ich mir eine Umstellung nicht angetan.

Abgesehen von ihr Profil ignorierenden Benutzern macht die tab-basierte Darstellung die Einstellungen erheblich benutzbarer, schließlich sind die Einstellungen nun gruppiert und werden in den für sie passenden Formularelementen dargestellt. Mich hat die willkürliche Einteilung in "Einstellungen" und "erweiterte Einstellungen" immer gestört. Dass die erweiterten Einstellungen eigentlich "alle Einstellungen" sind und zudem, im Gegensatz zu den (nicht erweiterten) Einstellungen, ohne sinnvolle Beschriftungen daherkommen, ist quasi das negative Sahnehäubchen.

Weil ich dich gerade an der Strippe habe, zwei Fragen:

  • Seit gestern werden Benutzer nach kurzem (tw. weniger als 1 Minute) ausgelogged (sagt man so?). Sehr ärgerlich. Keine Eintrage in den Server-Logs, genügend Platz am Server (Speicher und Anzahl Files). Das einzig auffällige (aber schon seit Dezember): Der “Majestic”-Bot ist aggressiv und saugt 50% meiner Bandbreite. Habe ich heute um 11:00 in der robots.txt geblockt. Bisher kein Effekt.
  • Ich könnte bei mir von PHP5.3x auf PHP5.6x umstellen. Soll ich das einmal versuchen oder trifft mich dann der Blitz?

Zu Punkt 1: Ich kenne weder den amok laufenden Suchmaschinen-Bot, noch fällt mir irgendwas ein, was zu "Seit gestern werden Benutzer nach kurzem ausgelogg"t passt. Ich kann dir da leider nicht weiterhelfen.

Zu Punkt 2: Dein Forum ist auf UTF-8 umgestellt, die Funktion magic_quotes_gpc ist bei dir seit mindestens Herbst 2012 aus dem Rennen, an den Stellen verändert sich also nicht. Was passieren kann, ist, dass, je nach eingestelltem Error-Reporting, an allen Ecken und Enden darauf hingewiesen wird, dass die MySQL-Bibliothek deprecated ist.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Gedanken zu mlf 1.7+ [verschoben]

by Alfie ⌂, Vienna, Austria, Wednesday, February 08, 2017, 16:50 (2606 days ago) @ Auge
edited by Auge, Thursday, February 09, 2017, 07:50

Hallo Auge

Hier haben wir die BB-Code-Klasse ja an die Erfordernisse von PHP 5.3 (ich glaube damals veränderte sich die Syntax) und höher angepasst. Diese aktualisierte und funktionierende Lösung könnte ich auch übernehmen, denn …

Nimmt aber keinerlei Rücksicht auf falsche Verschachtelungen.


… das würde ich, Fehlerkorrektur der Browser hin oder her, vermeiden wollen.

Sicher. Dass die falsche Verschachtelung von so einfachen BBCodes trotzdem „funktioniert” habe ich erst vor ein paar Tagen zufällig entdeckt. Ich habe bei mir eine elendslange Bedienungsanleitung und dort wollte ich den entsprechenden Abschnitt noch klarer fassen (mit Beispielen) und – schwupps – sehe plötzlich die „Fehlerkorrektur”. L(i/u)stig.

Ja, im Gespräch war Markdown. Für eine Neuinstallation eines Forums wäre das eine Lösung. Im SelfHTML-Forum wird ja mit einem Dialekt (Kramdown) formatiert und ich mag die Einfachheit so sehr, dass ich in der Firma auch Anleitungen und Ähnliches damit erstelle.

Erinnert mich auch an die Wikimedia-Syntax.

Ein Umstieg der Formatierungssprache in einem bestehenden Forum ist aber mit sehr viel mehr Aufwand möglich. Zudem muss das Publikum mit der anderen Lösung zurechtkommen.

1. Mühsam aber 2. nicht so schwer.

Für dein Forum mit seinen zahlreichen Anforderungen an mögliche Formatierungen halte ich Markdown gleich garnicht geeignet.

No way.

Ich habe bei mir […] in funcs.db.php mysql_fetch_array und mysql_fetch_assoc.


Dann habe ich wohl ein paar Aufrufe beim Umbau vergessen.


Danke. Korrigiert. ;-)

- Behebung des magic_quotes_gpc-Problems. Prüfskript für Einträge und Benutzerdaten in bestehenden Installationen.


Dass es jetzt zuschlägt, macht es entsprechend dringend. […] Allerdings müssen die vorhandenen Inhalte, die mit Backslashes verunstaltet sein können, bereinigt werden.

Nachdem ich ja fleissig mitlese (so auch diesen Faden): Absolut notwendig.

- Vollständiger Umstieg von der alten MySQL-Bibliothek auf die Neue (von den mysql_- auf die mysqli_-Funktionen).


Ab welcher Version verfügbar?


Die MySQLi-Bibliothek ist ab PHP 5.3 verfügbar. Viel wichtiger an der Stelle ist aber, dass die alte MySQL-Bibliothek ab PHP 7 nicht mehr verfügbar ist.

I see. Besteht ein Unterschied in der Syntax der jeweiligen Funktionen? Falls nein, liefe das ja nur auf ein find/replace hinaus.

Full ACK. Persönlich fände ich eine Zeitzonen-Auswahl wie im 2er-Zweig charmant.


Da kann ich mir Anregungen von der hiesigen Implementierung holen. Einfach übernehmen darf ich sie ja ohne explizites o.k. nicht (MLF1: GPL2, MLF2: GPL3).

Oops.

Auch wenn wir bei XHTML 1.0 bleiben wollen, wäre zumindest

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

sinnvoll.


Ich bin mir nicht sicher, ob wir mit <meta name="viewport" /> überhaupt bei XHTML1 bleiben können oder nicht doch auf HTML5 umstellem müssen.

Können schon / müssen nicht. Natürlich hätte HTML5 eine Menge Vorteile.

Andernfalls meckert Google inzwischen. Praktisch geht mir das am A vorbei (<1% Zugriffe von mobilen Devices).

Vielleicht würde sich genau das mit einem auch auf Mobilgeräten brauchbaren Layout ändern? ;-)

Möglich aber bei mir unwahrscheinlich. Wissenschaftlich sind Schribtischhengste.

Bei anderen Foren sicher viel höher.

Davon sollten wir ausgehen.

Sicher.

[…] Mich hat die willkürliche Einteilung in "Einstellungen" und "erweiterte Einstellungen" immer gestört.

Nachvollziehbar.

Dass die erweiterten Einstellungen eigentlich "alle Einstellungen" sind und zudem, im Gegensatz zu den (nicht erweiterten) Einstellungen, ohne sinnvolle Beschriftungen daherkommen, ist quasi das negative Sahnehäubchen.

Also meine Segen hast du. ;-)

Zu Punkt 1: […] Ich kann dir da leider nicht weiterhelfen.

Abwarten, Tee trinken und mit dem Provider reden. Der erzählt mir sicher es liegt an den Skripten. :-D

Zu Punkt 2: […] Was passieren kann, ist, dass, je nach eingestelltem Error-Reporting, an allen Ecken und Enden darauf hingewiesen wird, dass die MySQL-Bibliothek deprecated ist.

Ah ja. Danke.

--
Cheers,
Alfie (Helmut Schütz)
BEBA-Forum (v1.8β)

Avatar

Gedanken zu mlf 1.7+ [verschoben]

by Auge ⌂, Wednesday, February 08, 2017, 18:34 (2606 days ago) @ Alfie
edited by Auge, Thursday, February 09, 2017, 07:50

Hallo Alfie

Ja, im Gespräch war Markdown.


Erinnert mich auch an die Wikimedia-Syntax.

Stimmt, daran hat sie mich trotz aller Unterschiede auch als allererstes erinnert.

Ein Umstieg der Formatierungssprache in einem bestehenden Forum ist aber mit sehr viel mehr Aufwand möglich. Zudem muss das Publikum mit der anderen Lösung zurechtkommen.


1. Mühsam aber 2. nicht so schwer.

Ich weiß nicht. Es könnte zu virtuellen Aufständen kommen. Zuerst in den Foren und dann hier.

- Behebung des magic_quotes_gpc-Problems. Prüfskript für Einträge und Benutzerdaten in bestehenden Installationen.


Dass es jetzt zuschlägt, macht es entsprechend dringend. […] Allerdings müssen die vorhandenen Inhalte, die mit Backslashes verunstaltet sein können, bereinigt werden.


Nachdem ich ja fleissig mitlese (so auch diesen Faden): Absolut notwendig.

Ich vermute mal, dass das der aufwendige Part ist.

Die MySQLi-Bibliothek ist ab PHP 5.3 verfügbar. Viel wichtiger an der Stelle ist aber, dass die alte MySQL-Bibliothek ab PHP 7 nicht mehr verfügbar ist.


I see. Besteht ein Unterschied in der Syntax der jeweiligen Funktionen? Falls nein, liefe das ja nur auf ein find/replace hinaus.

Es gibt einen relevanten Unterschied und das ist nicht das "i". Während die Verbindungskennung bei der alten Bibliothek otional war und in der Auflistung der Parameter an zweiter Stelle nach dem Query angegeben wurde, ist ihre Angabe bei der neuen Bibliothek in fast allen Funktionen verpflichtend und ist, wenn anzugeben, immer der erste Funktionsparameter. Mit dateiübergreifendem Suchen und Ersetzen ist das nicht mal eben getan.

Ich bin mir nicht sicher, ob wir mit <meta name="viewport" /> überhaupt bei XHTML1 bleiben können oder nicht doch auf HTML5 umstellem müssen.


Können schon / müssen nicht. Natürlich hätte HTML5 eine Menge Vorteile.

Oh ja, das hat es.

Vielleicht würde sich genau das (< 1% Zugriffe mit Mobilgeräten) mit einem auch auf Mobilgeräten brauchbaren Layout ändern? ;-)


Möglich aber bei mir unwahrscheinlich. Wissenschaftlich sind Schribtischhengste.

:-) Täusch dich mal nicht. Die sind normalerweise nie ganz weg von der Arbeit und haben oft auch die passenden Geräte.

Zu Punkt 1: […] Ich kann dir da leider nicht weiterhelfen.


Abwarten, Tee trinken und mit dem Provider reden. Der erzählt mir sicher es liegt an den Skripten. :-D

Dann sollte er aber auch Argumente rausrücken. Vielleicht wären die ja nicht nur für dich hilfreich.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.8, preparations for the future

by Auge ⌂, Thursday, February 09, 2017, 09:09 (2605 days ago) @ Auge

Hello

I'll code a script for the correction of backslashed strings. My idea is to have a page in the browser where one can select a table and a field and get's a limited list (maybe 10 or 20 entries at a time) of entries with backslashed strings. One can mark entries as correctable and then these entries will be corrected after sending the form to the server.

The repository, named removeGPC, is generated at Github but empty at the moment.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.7.2, a bugfix release, now with link to the download

by Auge ⌂, Thursday, February 23, 2017, 13:47 (2591 days ago) @ Auge
edited by Auge, Friday, February 24, 2017, 07:14

Hello

Because of wo2010's report of errors in the create statements of a few database tables I released a further version for MLF1, namely version 1.7.7.2. There are no relevant changes except the corrected database queries.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

MLF 1.7.8, status messages

by Auge ⌂, Friday, February 24, 2017, 19:54 (2589 days ago) @ Auge

Hello

The following tasks for the version 1.7.8 have been accomplished with the exception of fixing of possible bugs. Status of february the 24th 2017.

  • Conversion from mysql_fetch_array to mysql_fetch_assoc. The first function generated a numeric array as well an associated array. Because the script only uses the associated array, we can use the function mysql_fetch_assoc, that generates only the de facto used type of array.
  • Conversion from old mysql_ function lib, that is deprecated in PHP 5 and abolished with PHP 7, to the mysqli_ function lib. Found a bunch of code, that never fulfil it's task. Holy ancient shit!

Actually I am working on the magic_quotes disaster.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

RSS Feed of thread