X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FDate.php;h=3d4570d7e194fdca20ffdd930f027345d3323a91;hb=3b2c0266861ceb1886acfe164a95bd6bb7c27462;hp=a533c16d93525cbe22fd7f3d9e0da2d23b4b78f1;hpb=eaf5d8e7f0dcd45c46d501a701194c75d3187dd6;p=civicrm-core.git diff --git a/CRM/Utils/Date.php b/CRM/Utils/Date.php index a533c16d93..3d4570d7e1 100644 --- a/CRM/Utils/Date.php +++ b/CRM/Utils/Date.php @@ -1,9 +1,9 @@ fiscalYearStart['d']; $from['M'] = $config->fiscalYearStart['M']; $fYear = self::calculateFiscalYear($from['d'], $from['M']); - switch ($relativeTerm) { + switch ($relativeTermPrefix) { case 'this': $from['Y'] = $fYear; $fiscalYear = mktime(0, 0, 0, $from['M'], $from['d'] - 1, $from['Y'] + 1); @@ -1166,12 +1177,22 @@ class CRM_Utils_Date { break; case 'previous': - $from['Y'] = $fYear - 1; - $fiscalYear = mktime(0, 0, 0, $from['M'], $from['d'] - 1, $from['Y'] + 1); - $fiscalEnd = explode('-', date("Y-m-d", $fiscalYear)); - $to['d'] = $fiscalEnd['2']; - $to['M'] = $fiscalEnd['1']; - $to['Y'] = $fiscalEnd['0']; + if (!is_numeric($relativeTermSuffix)) { + $from['Y'] = ($relativeTermSuffix === 'before') ? $fYear - 2 : $fYear - 1; + $fiscalYear = mktime(0, 0, 0, $from['M'], $from['d'] - 1, $from['Y'] + 1); + $fiscalEnd = explode('-', date("Y-m-d", $fiscalYear)); + $to['d'] = $fiscalEnd['2']; + $to['M'] = $fiscalEnd['1']; + $to['Y'] = $fiscalEnd['0']; + } + else { + $from['Y'] = $fYear - $relativeTermSuffix; + $fiscalYear = mktime(0, 0, 0, $from['M'], $from['d'] - 1, $from['Y'] + 1); + $fiscalEnd = explode('-', date("Y-m-d", $fiscalYear)); + $to['d'] = $fiscalEnd['2']; + $to['M'] = $fiscalEnd['1']; + $to['Y'] = $fYear; + } break; case 'next': @@ -1737,7 +1758,7 @@ class CRM_Utils_Date { * Fiscal Start Month. * * @return int - * $fy Current Fiscl Year + * $fy Current Fiscal Year */ public static function calculateFiscalYear($fyDate, $fyMonth) { $date = date("Y-m-d");