From: Iain Patterson Date: Fri, 8 Apr 2016 11:58:55 +0000 (-0400) Subject: Split check_report_dates() into shared function check_dates(). X-Git-Tag: 2016-04-08~1 X-Git-Url: http://git.iain.cx/?a=commitdiff_plain;h=c307cb023104c29d4f0521b9fd641e20eb1ade82;p=readifood.git Split check_report_dates() into shared function check_dates(). --- diff --git a/lib/functions.php b/lib/functions.php index 34b23c7..7f937dd 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -628,6 +628,36 @@ echo call_user_func_array("get_small_link", func_get_args()); } + function check_dates($description, $from, $to, $mandatory_from = true, $mandatory_to = true) { + $Description = ucfirst($description); + if ($from || $mandatory_from) { + list($y, $m, $d) = explode('-', $from); + if (! checkdate($m, $d, $y)) { + echo "

Invalid $description start date!

\n"; + return false; + } + $start = mktime(0, 0, 0, $m, $d, $y); + } + else $start = 0; + + if ($to || $mandatory_to) { + list($y, $m, $d) = explode('-', $to); + if (! checkdate($m, $d, $y)) { + echo "

Invalid $description end date!

\n"; + return false; + } + $end = mktime(0, 0, 0, $m, $d, $y); + } + else $end = PHP_INT_MAX; + + if ($end < $start) { + echo "

$Description end date is earlier than start date!

\n"; + return false; + } + + return true; + } + include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "admin.php"))); include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "forms.php"))); diff --git a/lib/report.php b/lib/report.php index 999bbc5..aa9e6e5 100644 --- a/lib/report.php +++ b/lib/report.php @@ -37,29 +37,6 @@ end_form(); } - function check_report_dates($from, $to) { - list($y, $m, $d) = explode('-', $from); - if (! checkdate($m, $d, $y)) { - echo "

Invalid report start date!

\n"; - return false; - } - $start = mktime(0, 0, 0, $m, $d, $y); - - list($y, $m, $d) = explode('-', $to); - if (! checkdate($m, $d, $y)) { - echo "

Invalid report end date!

\n"; - return false; - } - $end = mktime(0, 0, 0, $m, $d, $y); - - if ($end < $start) { - echo "

Report end date is earlier than start date!

\n"; - return false; - } - - return true; - } - function show_order_report($from, &$order_state_ids) { echo "

Orders by week

\n"; @@ -219,7 +196,7 @@ } function show_reports($from, $to) { - if (! check_report_dates($from, $to)) return; + if (! check_dates('report', $from, $to)) return; echo "

Showing reports for the period $from to $to.

\n";