W dniu 03.06.2012 22:38, Krzysztof A. Michalski [MaxCon] napisał(a):
# php -i|grep date.timezone date.timezone => Europe/Warsaw => Europe/Warsaw
Dla podanego dla Ciebie timestampa wychodzi: GMT: Thu, 31 May 2012 22:20:02 GMT Your time zone: Fri Jun 01 2012 00:20:02 GMT+2
Pytanie: jakie wartości mają $daystart i $dayend bez modyfikacji w skrypcie lms-sendinvoices.php?
$daystart = intval($currtime / 86400) * 86400; $dayend = $daystart + 86399;
SELECT d.id [2], d.number, d.cdate, c.email, d.name [3], d.customerid, n.template FROM documents d LEFT JOIN customers c ON c.id [4] = d.customerid LEFT JOIN numberplans n ON n.id [5] = d.numberplanid WHERE c.deleted = 0 AND d.type = 1 AND c.email <> AND c.invoicenotice = 1 AND D.CDATE >= 1338508800 AND d.cdate <= 1338595199 ORDER BY d.number
Wiec wygląda na to, że po prostu niepotrzebne dodajemy do $currtime wartość date('Z'). Skoro cdate w documents jest w GMT to i $currtime powinniśmy brać w GMT do porównań. Ktoś jeszcze mógłby potwierdzić, że ma cdate w documents trzymane w GMT (u mnie tak jest również) ?
A co u Ciebie wystawia faktury? I czy zarówno FV wystawione przez automat jak i ręcznie z panelu są w GMT?
Ręcznie wystawione faktury mają cdate w documents w postaci GMT. Skrypt bin/lms-payments.php również wstawia cdate w postaci GMT. Moduł payments daemona również wstawia cdate w postaci GMT.