X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FDate.php;h=3d4570d7e194fdca20ffdd930f027345d3323a91;hb=3b2c0266861ceb1886acfe164a95bd6bb7c27462;hp=82977dfc6e3fcb12c722b666b1cdc56ab5f7ef38;hpb=47cc54d5bdce1a28eb813390ac932fe18f79b619;p=civicrm-core.git diff --git a/CRM/Utils/Date.php b/CRM/Utils/Date.php index 82977dfc6e..3d4570d7e1 100644 --- a/CRM/Utils/Date.php +++ b/CRM/Utils/Date.php @@ -1,7 +1,7 @@ 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");