WordPress-Fehler: Falsche Zeitstempel bei Posts über XML-RPC-Schnittstelle – 2

Published 2006-07-05, 03:53

Ich habe mir den Fehler nun (natürlich) doch noch genauer angeschaut.

Erweiterung Analyse:

Ich habe mit dem Offline-Blogging-Programm Blogdesk weiter herumexperimentiert. Bei einem Post, der am 06.07.2006 um 03:11 Uhr veröffentlich werden soll übermittelt Blogdesk folgenden UTC-Zeitstempel:

<dateTime.iso8601>20060705T01:11:00</dateTime.iso8601>

In Zeile 551 der xmlrpc.php (und der Funktion dahinter) wird dieser jedoch wegen der fehlenden Zeitzone als Nutzerzeit (also +0200) behandelt (Zeile 673, wp-includes/functions-formatting.php). Somit werden diesem Zeitstempel nun erneut 2 Stunden abgezogen um eine GMT-Zeit ausgeben zu können, was dann zu den 2 fehlenden Stunden führt: 05.07.2006, 23:11.

Vermeintliche Lösung

Ich konnte leider nicht herausfinden, was xmlrpc und vor allem die MetaWeblogAPI hier eigentlich für ein Datenformat, mit oder ohne Zeitzone, UTC oder lokale Zeit, erwarten. Übermittelt man jedoch an die xmlrpc-Schnittstelle von WordPress einfach den Zeitstempel mit der angefügten Zeitzonendefinition für UTC +00 (Z scheint auch irgendwie nicht zu gehen)

<dateTime.iso8601>20060705T01:11:00+00</dateTime.iso8601>

trägt WordPress die korrekten Timestamps in die Datenbank ein.

Und das ist ja eigentlich alles, was ich erreichen wollte.

Topic(s): Kram No comments - :(

WordPress-Fehler: Falsche Zeitstempel bei Posts über XML-RPC-Schnittstelle

Published 2006-07-01, 17:53

Mir ist gerade ein weiterer WordPressbug aufgefallen:

Fehlerbeschreibung:

Wenn man einen Post per XML-RPC-Schnittstelle an WordPress übermittelt, kommt es zu Problemen bei der Berechnung der intern von WordPress genutzten Zeitstempel „post_date“ (lokale Zeit) und „post_date_gmt“ (Greenwich Mean Time).

Die Differenz sollte eigentlich 2 Stunden betragen, WordPress berechnet jedoch einen Zeitunterschied von 4 Stunden. Ein Post der um 17 Uhr veröffentlich werden soll hat in post_date_gmt also nicht 15, sondern 13 Uhr stehen.

Auswirkungen:

Dadurch erscheint der Beitrag nicht erst um 17 Uhr auf dem Blog, sondern wird fälschlicherweise schon ab 15 Uhr angezeigt. Der angezeigte Zeitstempel des Beitrag hingegen ist in Ordnung.

Applikationen, die die XML-RPC-Schnittstelle nutzen, können also nichts dafür (eigene, Blogdesk). Fehlersuche dort wird wohl eher nicht zu einem Ergebnis führen.

Analyse:

Der Fehler steckt irgendwo in den Zeilen 560 bis 566 der xmlrpc.php oder den dort aufgerufenen Funktionen:

// Do some timestamp voodoo
$dateCreatedd = $content_struct['dateCreated'];
if (!empty($dateCreatedd)) {
$dateCreated = $dateCreatedd->getIso();
$post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
$post_date_gmt = iso8601_to_datetime($dateCreated, GMT);
}

Nachvollziehen kann ich es allerdings nicht wirklich. Zu viel anderes im Kopf gerade. Hat jemand Lust, sich das genauer anzuschaun?

Topic(s): Kram 1 single comment - :/

mod_rewrite [P]-Zugriffe per .htaccess sperren

Published 2006-06-28, 12:55

Wunderbarer Beitragstitel :)

Server 1 spiegelt eine Anwendung von Server 2 durch die Nutzung von mod_proxy (mod_rewrite-Flag [P]). Um dies zu verhindern einfach auf Server 2 folgende .htaccess einbinden:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} ^123.123.123.123$
RewriteRule ^(.*)$ http://server2.tld/$1 [L,R=301]

wobei 123.123.123.123 die IP von Server 1 ist. Schon wird der Nutzer auf die eigentliche Anwendungs-URL geleitet.

Topic(s): Kram No comments - :(

SQL ansprechend formatieren

Published 2006-06-21, 18:20

Gerade für einen Kollegen nach einer Möglichkeit gesucht mehr oder weniger komplexen SQL-Code einigermaßen ansprechend und übersichtlich darzustellen. Eine kurze Google-Suche hat folgendes ans Tageslicht gefördert:

Die schickste Lösung:
http://www.sqlinform.com/

Weitere:
http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl
http://www.dbainfopower.com/dbaip_SQLreview.php
http://www.techno-kitten.com/PBL_Peeper/Online_Manual/SQL_Formatter/sql_formatter.html

Jede Menge Downloads:
http://www.freedownloadscenter.com/Best/format-sql-code.html

So wirklich der Bringer ist aber nicht darunter.
Wobei sqlinform eigentlich ausreicht.

Kennst du vielleicht noch ein Tool das auch bei meterlangen SQL-Queries weiterhilft?

Topic(s): Kram 5 comments - :)

Ping-Probleme mit WordPress

Published 2006-06-13, 00:27

WordPress hat bis zur aktuellen Version 2.0.3 diverse Probleme und Fehler in den 3 Pingfunktionen Ping-Services, Trackback und Pingback:

  1. Zukünftige Posts pingen sofort nach Klicken des Buttons „Veröffentlichen“ (Publish), nicht erst zum Veröffentlichungsdatum
  2. Nutzt man die XML-RPC-Schnittstelle (zum Beispiel mit Blogdesk) sind die Pings eher Glücksache
  3. Editierte Posts pingen erneut die Ping-Services an
  4. Bei Problemen mit den Pings gibt es keine Benachrichtigungen, Erklärungen oder Logfiles
  5. Der Nutzer muss warten bis die Ping-Services abgearbeitet sind

Wie schon in einem vorigen Post angekündigt arbeite ich an einer Lösung für diese Probleme. Die Punkte 1 bis 3 konnte ich mit „meinem“ Plugin schon beheben, an 4 und 5 arbeite ich noch. Wenn du Lust hast das Plugin zu testen, eine kleine Mail an mich und ich schicke das Plugin mal rüber.

Musstest du dich noch mit anderen Fehlern und Problemen bezüglich der Pingfunktionen herumärgern? Kennst du andere Leute die Probleme hatten? Ab damit in den Kommentarbereich, wenn ich schon dran sitze kann ich die sicher auch lösen.

Topic(s): Kram, Wordpress 16 comments - :)

Wie WordPress pingt…

Published 2006-06-10, 02:06

Ich arbeite gerade an einem Plugin das die Ping-Funktionen von WordPress ein wenig verändern und verbessern soll. Auf jeden Fall habe ich gerade erst wirklich verstanden wie WordPress 2.x es (teilweise) schafft, dass der Nutzer nach dem Posten eines Beitrag nicht auf das Abarbeiten von Trackbacks und Pingbacks warten muss:

echo '<iframe id="pingcheck" src="' . get_settings('siteurl')
.'/wp-admin/execute-pings.php?time='. time() . '" style="border:
none;width:1px;height:1px;"></iframe>';

Die Datei execute-pings.php wird, falls nötig, einfach per Iframe in den Footer des Adminbereichs eingebunden und kümmert sich dann um die Pings. Wenn also ein Trackback nicht direkt ankommt, erstmal noch ein wenig im Adminbereich herumklicken damit der Ping auch wirklich ausgeführt wurde.

Ich frage mich wieso nicht mehr register_shutdown_function genutzt wird wie noch in WordPress 1.5. Jemand Ahnung?

Jetzt gilt es „nur“ noch herauszufinden ob da nicht noch andere Funktionen sich um die Pings kümmern. Dazu aber in Kürze mehr…

Deutsche Telekom Stiftung: Schicke Website!

Published 2006-06-06, 19:49

http://www.telekom-stiftung.de/

Wunderschönes Design und sogar fast valider Code. Vermutlich verhindert nur das CMS dahinter eine wirklich standardgerechte Umsetzung. Ich bin beeindruckt.

Weiß jemand, wer hinter dem Design und der Umsetzung steckt?

Topic(s): Kram 1 single comment - :/

Links als Fußnoten

Published 2006-06-06, 18:25

Interessente Verwendung von Fußnoten:
http://www.geschmacksberater.de/

Da steckt doch sicher ein Plugin dahinter…

Topic(s): Kram 2 comments - :)

Blog it forward

Published 2006-06-06, 03:22

Hätte ich nun heute nicht durch Zufall mal in die Referer von betamode reingeschaut, wäre mir fast entgangen auf das Blogforwarding von Jojo zu reagieren. Und wie elegant er das gemacht hat:

Nummer 2 ist dann Jan Piotrowski mit seinem betamode.de. Quasi als Belohnung für die harte Moderatorenarbeit im Abakus-Forum. Außerdem schreibt er zuweilen dann doch mal etwas interessantes in seinem Blog.

Ich muss wohl noch ein wenig darüber nachdenken, wie das nun wohl gemeint war. Aber er hat ja Recht. Besserung ist in Sicht, schwirrt aber vorerst noch im Hinterkopf herum.

Ach ja, weitermachen sollte ich nun irgendwie natürlich auch:

Topic(s): Kram, Link No comments - :(

yesfollow!

Published 2006-06-04, 03:17

I have decided to remove the rel=”nofollow” tags from the comments section of my blog. Having them in place does nothing to discourage spammers, and they only seem to punish the people who actually do participate in the conversation.

http://greghartnett.com/yesfollow/

Absolut richtig. Scheint ein wenig die Runde zu machen bei amerikanischen Bloggern. Weiter so. Meine Blogs laufen auch alle ohne nofollow. Und das wird so bleiben.

Topic(s): Kram 7 comments - :)

33 queries. 0,233 seconds.