Vordatierung
Vordatierung
Hallo zusammen,
ich melde mich mal wieder mit einer etwas ausgefallenen Frage:
Für ein Funprojekt wäre es bei mir nötig, dass das Datum der Einträge exakt auf 10 Jahre in der Zukunft stehen würden. D.h., wenn ich bspw. heute einen Artikel schreibe, sollte im Blog automatisch der 13.02.2021 stehen.
Weiß zufällig jemand, welchen Code ich dazu ändern muss und vor allem: was müsste da stehen?
ich melde mich mal wieder mit einer etwas ausgefallenen Frage:
Für ein Funprojekt wäre es bei mir nötig, dass das Datum der Einträge exakt auf 10 Jahre in der Zukunft stehen würden. D.h., wenn ich bspw. heute einen Artikel schreibe, sollte im Blog automatisch der 13.02.2021 stehen.
Weiß zufällig jemand, welchen Code ich dazu ändern muss und vor allem: was müsste da stehen?
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
Re: Vordatierung
Da du ja wahrscheinlich nicht die Serverzeit verstellen willst, könnte ich mir vorstellen dies über Smarty in den templates selbst zu machen und den Ausgabe Jahren jeweils 10 Jahre hinzuzuaddieren.
Wie das geht, hängt sicherlich vom jeweiligen Ausgabeformat an der präzisen Stelle ab. So müsstest du selbst ein wenig suchen, das Format untersuchen und den den entsprechenden modifier in der Smarty Dokumentation nachschlagen.
Ian
Wie das geht, hängt sicherlich vom jeweiligen Ausgabeformat an der präzisen Stelle ab. So müsstest du selbst ein wenig suchen, das Format untersuchen und den den entsprechenden modifier in der Smarty Dokumentation nachschlagen.
Ian
Re: Vordatierung
Von Smarty habe ich absolut keine Ahnung, aber wenn ich Dich richtig verstehe, würde das nur die Ausgabe im entsprechenden Template modifizieren. Da ich diese Zeit allerdings auch gern in den Kommentaren und im Feed hätte wäre es günstiger, wenn das Datum auch entsprechend in der DB stehen würde.
Vor etlich vielen Jahren (1998 oder so) hatte ich eine ähnliche Sache schonmal in einem System unter Perl, da ließ es sich relativ einfach lösen. Bei php scheint es doch etwas komplexer zu sein. Die Serverzeit kann ich leider nicht verstellen, dann wäre es einfacher
Vor etlich vielen Jahren (1998 oder so) hatte ich eine ähnliche Sache schonmal in einem System unter Perl, da ließ es sich relativ einfach lösen. Bei php scheint es doch etwas komplexer zu sein. Die Serverzeit kann ich leider nicht verstellen, dann wäre es einfacher
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
Re: Vordatierung
Ja man müsste alle Ausgaben die man wünscht so per smarty modifier modifizieren.
Alles nicht so einfach und optimal....
Mit PHP ist das eigentlich sehr einfach, siehe $year = (date("Y")+10); oder so ähnlich.
Die Frage ist nur, ob du Serendipity durchpflügen willst und die Ein- und Ausgabe Formate so verändern willst, dass sie in der Zukunft liegen und dennoch heute erscheinen. Das wäre mehr als nur eine Korrektur in der DB des Eintrags.
Außer natürlich Garvin hätte soetwas irgendwo konfigurabel vorgesehen.
Man könnte ja auch rumspinnen und versuchen einer Serendipity fun Installation eine Art Server-Future-Sandbox vorzugaukeln....#
Ian
Alles nicht so einfach und optimal....
Mit PHP ist das eigentlich sehr einfach, siehe $year = (date("Y")+10); oder so ähnlich.
Die Frage ist nur, ob du Serendipity durchpflügen willst und die Ein- und Ausgabe Formate so verändern willst, dass sie in der Zukunft liegen und dennoch heute erscheinen. Das wäre mehr als nur eine Korrektur in der DB des Eintrags.
Außer natürlich Garvin hätte soetwas irgendwo konfigurabel vorgesehen.
Man könnte ja auch rumspinnen und versuchen einer Serendipity fun Installation eine Art Server-Future-Sandbox vorzugaukeln....#
Ian
Re: Vordatierung
Genau die "$year=" Methode wäre es wohl
Ich werde jetzt mal die ganzen Programmdateien durchforsten und schauen, ob ich die passenden Stellen finde
Ich werde jetzt mal die ganzen Programmdateien durchforsten und schauen, ob ich die passenden Stellen finde
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Vordatierung
Hi!
Eigentlich gibt es in s9y ja schon diese "Zeitzonen"-Einstellung mit der man einen Offset vergeben kann. Eigentlich müsste das nicht nur mit 2 Stunden sondern auch 10 Jahren funktionieren können, probier das mal aus.
Ansonsten kann man die serendipity_formatTime() Funktion relativ easy patchen.
Grüße,
Garvin
Eigentlich gibt es in s9y ja schon diese "Zeitzonen"-Einstellung mit der man einen Offset vergeben kann. Eigentlich müsste das nicht nur mit 2 Stunden sondern auch 10 Jahren funktionieren können, probier das mal aus.
Ansonsten kann man die serendipity_formatTime() Funktion relativ easy patchen.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Vordatierung
Na dann viel Spaß damit. Ich merke nur an, dass ich das für großen Käse halte, da die Ausgabe Logik doch bestimmt auch noch mitspielt, oder...!?Farlion wrote:Ich werde jetzt mal die ganzen Programmdateien durchforsten und schauen, ob ich die passenden Stellen findegarvinhicking wrote:Ansonsten kann man die serendipity_formatTime() Funktion relativ easy patchen.
Daran habe ich schon mal kurz gedacht. Das könnte eine echte Möglichkeit sein.garvinhicking wrote:Eigentlich gibt es in s9y ja schon diese "Zeitzonen"-Einstellung mit der man einen Offset vergeben kann. Eigentlich müsste das nicht nur mit 2 Stunden sondern auch 10 Jahren funktionieren können, probier das mal aus.
Ian
Re: Vordatierung
Hi Garvin,garvinhicking wrote:Hi!
Eigentlich gibt es in s9y ja schon diese "Zeitzonen"-Einstellung mit der man einen Offset vergeben kann. Eigentlich müsste das nicht nur mit 2 Stunden sondern auch 10 Jahren funktionieren können, probier das mal aus.
Ansonsten kann man die serendipity_formatTime() Funktion relativ easy patchen.
Grüße,
Garvin
danke für die Vorschläge.
also die Zeitzonen-Einstellung wäre etwas kompliziert, da ich dort die 10 Jahre in Stunden eingeben müsste.
Wo und wie müsste ich serendipity_formatTime() denn patchen?
Gruß,
Farli
@Timbalu
Die "$year="-Option funktionierte so leider nicht.
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Vordatierung
Hi!
Ok, das komplizierte daran meinst du vermutlich in Form von Schaltjahren und so?
serenipity_formatTime() ist in der include/functions.inc.php. Ich sehe aber gerade, wichtiger wäre die serendipity_strftime() Funktion in derselben Datei
Da wird $timestamp übermittelt. Da siehst du auch wie es an die serendipit_serverOffsetHour() übermittelt wird. Am einfachsten wäre es daher, wenn du serendipity_serverOffsetHour (selbe Datei) patchst:
Grüße,
Garvin
Ok, das komplizierte daran meinst du vermutlich in Form von Schaltjahren und so?
serenipity_formatTime() ist in der include/functions.inc.php. Ich sehe aber gerade, wichtiger wäre die serendipity_strftime() Funktion in derselben Datei
Da wird $timestamp übermittelt. Da siehst du auch wie es an die serendipit_serverOffsetHour() übermittelt wird. Am einfachsten wäre es daher, wenn du serendipity_serverOffsetHour (selbe Datei) patchst:
Code: Select all
function serendipity_serverOffsetHour($timestamp = null, $negative = false) {
global $serendipity;
if ($timestamp == null) {
$timestamp = time();
}
$year = date('Y', $timestamp);
$month = date('m', $timestamp);
$day = date('d', $timestamp);
$hour = date('H', $timestamp);
$minute = date('i', $timestamp);
$second = date('s', $timestamp);
return mktime($hour, $minute, $second, $month, $day, $year + 10);
}
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Vordatierung
Danke, werde ich gleich mal testen.
Die Schaltjahre vertusche ich mal, indem ich bei der Ausgabe zwar das Datum, nicht aber den Wochentag ausgeben lasse
Ich melde mich gleich mit dem Ergebnis wieder:)
Update:
Super gelöst, Garvin
Mit dem gepatchten "serendipity_serverOffsetHour" funktioniert es und sogar die Schaltjahre werden korrekt errechnet
Einzig den Kalender kann ich nicht nutzen, da der erstaunlicherweise 20 Jahre in die Zukunft zeigt. Aber den wollte ich eh nicht einsetzen.
Saubere Arbeit, bedanke mich vielmals.
Gruß,
Farli
Die Schaltjahre vertusche ich mal, indem ich bei der Ausgabe zwar das Datum, nicht aber den Wochentag ausgeben lasse
Ich melde mich gleich mit dem Ergebnis wieder:)
Update:
Super gelöst, Garvin
Mit dem gepatchten "serendipity_serverOffsetHour" funktioniert es und sogar die Schaltjahre werden korrekt errechnet
Einzig den Kalender kann ich nicht nutzen, da der erstaunlicherweise 20 Jahre in die Zukunft zeigt. Aber den wollte ich eh nicht einsetzen.
Saubere Arbeit, bedanke mich vielmals.
Gruß,
Farli
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
Re: Vordatierung
Ok, funktioniert jetzt doch nicht. Zum einen werden neu geschriebene Beiträge jetzt automatisch auf "zeitgesteuert" gesetzt und lassen sich nicht veröffentlichen, zum anderen habe ich jetzt teilweise Daten im Backend, die 40-50 Jahre in die Zukunft zeigen
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.
Re: Vordatierung
sachichdoch...!
so, und jetzt probier mal 175316 Stunden +- in der Zeitzonen"-Einstellung.
upps das waren 20 Jahre
10 sind ~87658
so, und jetzt probier mal 175316 Stunden +- in der Zeitzonen"-Einstellung.
upps das waren 20 Jahre
10 sind ~87658
Regards,
Ian
Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Ian
Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Re: Vordatierung
Werd ich mal testen, danke
Update:
Hab noch 14 Stunden drangehängt, die fehlten irgendwie. Aber es scheint zumindest für die Artikel zu passen. Der Kalender lebt zwar im Heute, Artikel und Kommentare zeigen allerdings das vorgesehene Datum.
Update:
Hab noch 14 Stunden drangehängt, die fehlten irgendwie. Aber es scheint zumindest für die Artikel zu passen. Der Kalender lebt zwar im Heute, Artikel und Kommentare zeigen allerdings das vorgesehene Datum.
Mit S9Y erstellt:
Nichts mehr.
Nichts mehr.