Hm, OK, tatsächlich falsche Fährte.
Das klingt danach, dass $my_date schlicht kein valides Datum ist und dann greift bei Render_date() Fallback. Prüfe die Fehlermeldungen.
Ich halte das Script auch für sehr ineffizient. Könnte man gleich koppeln, also sofort das neueste Datum aller in Frage kommenden Artikel, Seitenebenen oder Artikelinhalte ermitteln, statt das mehrstufige Verfahren zu nutzen.
Eigentlich müsste folgende Query tun, was Du brauchst:
Code: Select all
$sql = 'SELECT UNIX_TIMESTAMP(latest_ts) AS latest_ts FROM (
SELECT MAX(article_tstamp) AS latest_ts FROM '.DB_PREPEND.'phpwcms_article WHERE article_deleted=0 AND article_public=1 LIMIT 1
UNION
SELECT MAX(acat_tstamp) AS latest_ts FROM '.DB_PREPEND.'phpwcms_articlecat WHERE acat_trash=0 AND acat_aktiv=1 LIMIT 1
UNION
SELECT MAX(acontent_tstamp) AS latest_ts FROM '.DB_PREPEND.'phpwcms_articlecontent WHERE acontent_visible=1 AND acontent_trash=0 LIMIT 1
) AS t1 LIMIT 1';
$result = _dbQuery($sql);
if(isset($result[0]['latest_ts'])) {
$content["all"] = render_date($content["all"], $result[0]['latest_ts'], 'DATE_UPDATE');
} else {
// Render Fallback date!
$content["all"] = render_date($content["all"], now(), 'DATE_UPDATE');
}
Wahrscheinlich reicht minimal das hier:
Code: Select all
$sql = 'SELECT UNIX_TIMESTAMP(MAX(article_tstamp)) AS latest_ts FROM '.DB_PREPEND.'phpwcms_article WHERE article_deleted=0 AND article_public=1 LIMIT 1
UNION
SELECT UNIX_TIMESTAMP(MAX(acat_tstamp)) AS latest_ts FROM '.DB_PREPEND.'phpwcms_articlecat WHERE acat_trash=0 AND acat_aktiv=1 LIMIT 1
UNION
SELECT UNIX_TIMESTAMP(MAX(acontent_tstamp)) AS latest_ts FROM '.DB_PREPEND.'phpwcms_articlecontent WHERE acontent_visible=1 AND acontent_trash=0 LIMIT 1';
$result = _dbQuery($sql);
if(isset($result[0]['latest_ts'])) {
$content["all"] = render_date($content["all"], $result[0]['latest_ts'], 'DATE_UPDATE');
} else {
// Render Fallback date!
$content["all"] = render_date($content["all"], now(), 'DATE_UPDATE');
}