Seite 9 von 22

Verfasst: 29.10.2008 17:40
von Würzi
Nur keinen Stress :D

Danke!!

Verfasst: 29.10.2008 21:40
von kloppo
Hallo zusammen, Hallo MartectX

die letzten Tage habe ich mir einige Gedanken über die DST-Geschichte gemacht und bin ehrlich gesagt mit der bisherigen und den obigen Patches nicht zufrieden. Es ist zwar alles irgendwie funktional, aber im Hinblick auf die verhältnismäßig hohe Zahl an Modifikationen (auch in Hinblick auf zukünftige phpBB-Updates und andere Mods) erscheint mir das alles sehr suboptimal.

Um das komplett zu vermeiden ist mein Ansatz folgender (basierend auf phpBB3.0.2 ohne obige DST-Modifikationen):

NEUE Datenbank-Felder:

users-table:

- "automatic_dst" (bool)
(für das UCP, um neben den manuellen DST-settingd ein Häckchen auf "Automatisch" setzen zu können, Wert 1 bei Ja)

config-table:

- "auto_dst_board"
(ACP wählbar für das board wie bei UCP)
- "auto_dst_current"
(für Abgleich von date('I')-Änderungen)


Script-Logik:
Bei jedem Aufruf von index.php überprüfung des DST-Status (entweder direkt im Code oder per Function-Aufruf):

Code: Alles auswählen

if ($config['auto_dst_current'] != date('I'))
{
     SQL: update user.table set user_dst = date('I') where automatic_dst = 1;

     if ($config['auto_dst_board'])
     {
              SQL:  update config(board_dst) set date('I')
     }

     SQL: update config(auto_dst_current) set date('I')
}
Das ist alles (Core code, noch UCP_Settings mit date('I)-check nach Auswahl von Automatisch, und im grunde das gleiche im ACP_Board, zwei Templateänderungen, fertig)

Sorry, ich habe das noch nicht in realer Codeform zusammengepfriemelt, aber das sollte so verständlich sein. Der Vorteil: Minimaler Codeänderungen, keine Anpassungen anderer Mods, keine gravierenden Probleme bei phpbb-updates, auch auf internationalen boards flexibel einsetzbar. und zweimal im Jahr ne überschaubare user-DB-Query und config-sets zeitnah sobald ein Gast, Bot, oder User um 3:00+ Uhr das Board besucht.

Was haltet ihr davon?


Cheers,
kloppo / updown

Verfasst: 29.10.2008 22:13
von MartectX
Klar kloppo, so geht's auch; am Besten machst Du die Abfrage in der Funktion page_header in functions.php. Alles was dann noch fehlt ist die Abstimmung jedes Datums auf die entsprechende DST-Zeit (in der sessions.php) - falls das von Dir gewollt ist.

Ich habe versucht, die Datenbankänderungen zu minimieren (leider musste ich eben nun doch die eine kleine Änderung durchführen :-?); das ist jedoch lediglich meine persönliche Priorität.

Verfasst: 29.10.2008 22:35
von kloppo
MartectX hat geschrieben:Klar kloppo, so geht's auch; am Besten machst Du die Abfrage in der Funktion page_header in functions.php. Alles was dann noch fehlt ist die Abstimmung jedes Datums auf die entsprechende DST-Zeit (in der sessions.php) - falls das von Dir gewollt ist.
Danke! Wozu ist die eigentlich genau gut, bzw. worin liegt der praktische Unterschied zur standard phpbb-Handhabung?

Verfasst: 29.10.2008 22:49
von MartectX
kloppo hat geschrieben:
MartectX hat geschrieben:Klar kloppo, so geht's auch; am Besten machst Du die Abfrage in der Funktion page_header in functions.php. Alles was dann noch fehlt ist die Abstimmung jedes Datums auf die entsprechende DST-Zeit (in der sessions.php) - falls das von Dir gewollt ist.
Danke! Wozu ist die eigentlich genau gut, bzw. worin liegt der praktische Unterschied zur standard phpbb-Handhabung?
Die datumsbezogene Abstimmung? Hab' ich mir einfallen lassen, weil ich in der Hinsicht Perfektionist bin: Statt, wie phpBB3 es standardmäßig macht, auf alle Daten die Sommerzeit draufzurechnen (sofern sie aktiviert ist), prüfe ich für jedes Datum, ob es denn überhaupt in die Sommerzeit fällt. So kann es passieren, dass die angezeigte Zeit eines Folgebeitrags vor den vorgehenden Beitrag fällt (und zwar in der Stunde der Uhrrückstellung, wie wir es vor einer Woche erfuhren - dies entspricht somit auch der Realität).

Verfasst: 29.10.2008 23:49
von kloppo
Ah, Danke, jetzt kapier ich auch diesen Code-Teil - eigentlich eine kleine eigenständige Modifikation für sich :lol:

Verfasst: 30.10.2008 00:00
von MartectX
kloppo hat geschrieben:Ah, Danke, jetzt kapier ich auch diesen Code-Teil - eigentlich eine kleine eigenständige Modifikation für sich :lol:
Ich schreibe meine Mods in erster Linie für mich selbst; ich veröffentliche auch nicht jede Codeänderung, da einige Hacks zu klein sind oder "dreckig" programmiert und ich mich nicht mit Validierung dafür auseinandersetzen will. Deswegen habe ich auch überhaupt kein Problem, wenn Du eine eigene Auto-Sommerzeit-Modifikation erstellst! Lass' Dir nur einen anderen Namen einfallen, wenn's geht... :D

Verfasst: 30.10.2008 00:02
von HEADLINE
MartectX hat geschrieben: Morgen Vormittag, nach dem heutigen Mitternachts-Härtetest. 8)
Test bei mir negativ! :(

Da bin ich mal wieder und fast am verzweifeln! :-?
Und zwar passt in meinem Testforum (Lokal) jetzt alles, dann hab ich alle relevanten Dateien in mein Liveforum kopiert.....SQL-Befehl ausgeführt......Cache geleert...... aber die Geburtstagsanzeige funktioniert nicht......1Std. verschoben. Der Rest ist alles da....und funktioniert....also der "Wer war da Mod"....die Anzeigen im UCP und ACP....

Verfasst: 30.10.2008 00:35
von kloppo
MartectX hat geschrieben:Ich schreibe meine Mods in erster Linie für mich selbst; ich veröffentliche auch nicht jede Codeänderung, da einige Hacks zu klein sind oder "dreckig" programmiert und ich mich nicht mit Validierung dafür auseinandersetzen will. Deswegen habe ich auch überhaupt kein Problem, wenn Du eine eigene Auto-Sommerzeit-Modifikation erstellst! Lass' Dir nur einen anderen Namen einfallen, wenn's geht... :D
Klar 8), Du das mit den Eigenhacks geht mir auch so. Dazu kommt, dass ich kein Programmierer bin, sondern ich meine eigentliche Stärken in Optimierungen und in konzeptionellen System-Abläufen sehe.

Die eigentliche Intention meines Beitrags ist es, auf die grundlegend-systematischen Probleme des bestehenden DST-Mods hinzuweisen, und als Anregung: eben anstatt die user-dst direkt zu erweitern und das Code-Handling dieser neuen Einstellungen ansschließed rundherum anzupassen, das bestehende Kern-System so zu belassen wie es ist und lediglich den bisher manuellen Änderungsprozess zu automatisieren - man erspart sich damit enorm viel Ärger und Aufwand, auch und vor allem in Verbindung mit zahlreichen anderen MODs und deren Updates!

Verfasst: 30.10.2008 00:36
von redbull254
@HEADLINE

kann ja jetzt ein vollkommen bekloppter Gedanke sein, dann bitte ich dies der späten Zeit zuzurechnen. :D

Was ist denn, wenn der Server noch nicht auf Winterzeit umgestellt ist?


Oder stimmt die Zeit ? Mal darauf geachtet?