X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fdate_functions.inc;h=795b96e25ccf1d9107859c8bbb8b84537d599159;hb=e8ebca8f2b08eeb3bfd3da04ca946dfa8cc1fb3f;hp=59d8f4afafe7f5ee792a62de62db6a347f4976de;hpb=99928e2ef834b45a869e8414e996cb012302e7b5;p=fa-stable.git diff --git a/includes/date_functions.inc b/includes/date_functions.inc index 59d8f4af..795b96e2 100644 --- a/includes/date_functions.inc +++ b/includes/date_functions.inc @@ -59,7 +59,33 @@ function is_date($date_) $date_ = trim($date_); $date = str_replace($sep, "", $date_); - if (strlen($date_) == 6) + + if ($how > 2) + { + global $tmonths; + $dd = explode($sep, $date_); + if ($how == 3) + { + $day = $dd[1]; + $month = array_search($dd[0], $tmonths); + $year = $dd[2]; + } + elseif ($how == 4) + { + $day = $dd[0]; + $month = array_search($dd[1], $tmonths); + $year = $dd[2]; + } + else + { + $day = $dd[2]; + $month = array_search($dd[1], $tmonths); + $year = $dd[0]; + } + if ($year < 1000) + return 0; + } + elseif (strlen($date) == 6) { if ($how == 0) { @@ -80,7 +106,7 @@ function is_date($date_) $year = substr($date,0,2); } } - elseif (strlen($date_) == 8) + elseif (strlen($date) == 8) { if ($how == 0) { @@ -101,31 +127,6 @@ function is_date($date_) $year = substr($date,0,4); } } - elseif ($how > 2) - { - global $tmonths; - $dd = explode($sep, $date_); - if ($how == 3) - { - $day = $dd[1]; - $month = array_search($dd[0], $tmonths); - $year = $dd[2]; - } - elseif ($how == 4) - { - $day = $dd[0]; - $month = array_search($dd[1], $tmonths); - $year = $dd[2]; - } - else - { - $day = $dd[2]; - $month = array_search($dd[1], $tmonths); - $year = $dd[0]; - } - if ($year < 1000) - return 0; - } if (!isset($year)|| (int)$year > 9999) { return 0; @@ -193,26 +194,29 @@ function is_date_in_fiscalyear($date, $convert=false) global $path_to_root; include_once($path_to_root . "/admin/db/fiscalyears_db.inc"); - //Chaitanya - if ($convert) - $date2 = sql2date($date); - else - $date2 = $date; - - if ($_SESSION["wa_current_user"]->can_access('SA_MULTIFISCALYEARS')) // allow all open years for this one - return is_date_in_fiscalyears($date2, false); - - $myrow = get_current_fiscalyear(); - if ($myrow['closed'] == 1) - return 0; - - $begin = sql2date($myrow['begin']); - $end = sql2date($myrow['end']); - if (date1_greater_date2($begin, $date2) || date1_greater_date2($date2, $end)) - { - return 0; - } - return 1; + if ($convert) + $date2 = sql2date($date); + else + $date2 = $date; + + if (user_check_access('SA_MULTIFISCALYEARS')) // allow all open years for this one + return is_date_in_fiscalyears($date2, false); + + if (is_date_closed($date2)) + return 0; + $myrow = get_current_fiscalyear(); + $begin = sql2date($myrow['begin']); + $end = sql2date($myrow['end']); + if (date1_greater_date2($begin, $date2) || date1_greater_date2($date2, $end)) + { + return 0; + } + return 1; +} + +function is_date_closed($date) +{ + return !date1_greater_date2($date, sql2date(get_company_pref('gl_closing_date'))); } function begin_fiscalyear() @@ -343,8 +347,6 @@ function sql2date($date_) global $date_system; //for MySQL dates are in the format YYYY-mm-dd - if ($date_ == null || strlen($date_) == 0) - return ""; if (strpos($date_, "/")) { // In MySQL it could be either / or - @@ -354,6 +356,8 @@ function sql2date($date_) { list($year, $month, $day) = explode("-", $date_); } + if (!isset($day)) // data format error + return ""; if (strlen($day) > 4) { /*chop off the time stuff */