From 2ae1e787c94a8de8b059b352a5e5a262d2e9e23e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 15 Jul 2013 21:49:54 +0200 Subject: [PATCH] Fix: Bad date ranges Conflicts: scripts/invoices/rebuild_merge_pdf.php --- htdocs/core/lib/invoice2.lib.php | 6 +++--- scripts/invoices/rebuild_merge_pdf.php | 13 +++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/htdocs/core/lib/invoice2.lib.php b/htdocs/core/lib/invoice2.lib.php index d4373fcd204..9c6ccc1268f 100644 --- a/htdocs/core/lib/invoice2.lib.php +++ b/htdocs/core/lib/invoice2.lib.php @@ -37,8 +37,8 @@ require_once(DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'); * @param array $filter Array with filters * @param date $dateafterdate Invoice after date * @param date $datebeforedate Invoice before date - * @param date $paymentdateafter Payment after date - * @param date $paymentdatebefore Payment before date + * @param date $paymentdateafter Payment after date (must includes hour) + * @param date $paymentdatebefore Payment before date (must includes hour) * @param int $usestdout Add information onto standard output * @param int $regenerate ''=Use existing PDF files, 'nameofpdf'=Regenerate all PDF files using the template * @param string $option Suffix to add into file name of generated PDF @@ -264,4 +264,4 @@ function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filte else return $result; } -?> \ No newline at end of file +?> diff --git a/scripts/invoices/rebuild_merge_pdf.php b/scripts/invoices/rebuild_merge_pdf.php index 6360735ab67..1e5d137dff5 100755 --- a/scripts/invoices/rebuild_merge_pdf.php +++ b/scripts/invoices/rebuild_merge_pdf.php @@ -107,7 +107,7 @@ foreach ($argv as $key => $value) $dateafterdate=dol_stringtotime($argv[$key+1]); $datebeforedate=dol_stringtotime($argv[$key+2]); - print 'Rebuild PDF for invoices validated between '.dol_print_date($dateafterdate,'day')." and ".dol_print_date($datebeforedate,'day').".\n"; + print 'Rebuild PDF for invoices validated between '.dol_print_date($dateafterdate,'day','gmt')." and ".dol_print_date($datebeforedate,'day','gmt').".\n"; } if ($value == 'filter=payments') @@ -116,9 +116,14 @@ foreach ($argv as $key => $value) $option.=(empty($option)?'':'_').'payments_'.$argv[$key+1].'_'.$argv[$key+2]; $filter[]='payments'; - $paymentdateafter=dol_stringtotime($argv[$key+1]); - $paymentdatebefore=dol_stringtotime($argv[$key+2]); - print 'Rebuild PDF for invoices with at least one payment between '.dol_print_date($paymentdateafter,'day')." and ".dol_print_date($paymentdatebefore,'day').".\n"; + $paymentdateafter=dol_stringtotime($argv[$key+1].'000000'); + $paymentdatebefore=dol_stringtotime($argv[$key+2].'235959'); + if (empty($paymentdateafter) || empty($paymentdatebefore)) + { + print 'Error: Bad date format or value'."\n"; + exit(-1); + } + print 'Rebuild PDF for invoices with at least one payment between '.dol_print_date($paymentdateafter,'day','gmt')." and ".dol_print_date($paymentdatebefore,'day','gmt').".\n"; } if ($value == 'filter=nopayment')