FIX Quick hack to solve pb of bad definition of public holidays
This commit is contained in:
parent
e1e1599a6d
commit
88ff7241f5
@ -573,6 +573,8 @@ function dol_get_first_day_week($day,$month,$year,$gm=false)
|
|||||||
*/
|
*/
|
||||||
function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR', $lastday=0)
|
function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR', $lastday=0)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$nbFerie = 0;
|
$nbFerie = 0;
|
||||||
|
|
||||||
// Check to ensure we use correct parameters
|
// Check to ensure we use correct parameters
|
||||||
@ -588,6 +590,27 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR', $
|
|||||||
$jour = date("d", $timestampStart);
|
$jour = date("d", $timestampStart);
|
||||||
$mois = date("m", $timestampStart);
|
$mois = date("m", $timestampStart);
|
||||||
$annee = date("Y", $timestampStart);
|
$annee = date("Y", $timestampStart);
|
||||||
|
|
||||||
|
|
||||||
|
// Check into var $conf->global->HOLIDAY_MORE_DAYS MM-DD,YYYY-MM-DD, ...
|
||||||
|
if (! empty($conf->global->HOLIDAY_MORE_PUBLIC_HOLIDAYS))
|
||||||
|
{
|
||||||
|
$arrayofdaystring=explode(',',$conf->global->HOLIDAY_MORE_PUBLIC_HOLIDAYS);
|
||||||
|
foreach($arrayofdaystring as $daystring)
|
||||||
|
{
|
||||||
|
$tmp=explode('-',$daystring);
|
||||||
|
var_dump($tmp);
|
||||||
|
if ($tmp[2])
|
||||||
|
{
|
||||||
|
if ($tmp[0] == $annee && $tmp[1] == $mois && $tmp[2] == $jour) $ferie=true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ($tmp[0] == $mois && $tmp[1] == $jour) $ferie=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($countrycode == 'FR')
|
if ($countrycode == 'FR')
|
||||||
{
|
{
|
||||||
$countryfound=1;
|
$countryfound=1;
|
||||||
|
|||||||
@ -205,6 +205,26 @@ class DateLibTest extends PHPUnit_Framework_TestCase
|
|||||||
$result=num_public_holiday($date1,$date2,'XX',1);
|
$result=num_public_holiday($date1,$date2,'XX',1);
|
||||||
print __METHOD__." result=".$result."\n";
|
print __METHOD__." result=".$result."\n";
|
||||||
$this->assertEquals(2,$result,'NumPublicHoliday for XX'); // 1 opened day, 2 closed days (even if country unknown)
|
$this->assertEquals(2,$result,'NumPublicHoliday for XX'); // 1 opened day, 2 closed days (even if country unknown)
|
||||||
|
|
||||||
|
$conf->global->HOLIDAY_MORE_PUBLIC_HOLIDAYS='12-13,2019-12-14';
|
||||||
|
|
||||||
|
$date1=dol_mktime(0, 0, 0, 12, 13, 2018);
|
||||||
|
$date2=dol_mktime(0, 0, 0, 12, 13, 2018);
|
||||||
|
$result=num_public_holiday($date1,$date2,'YY',1);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertEquals(1,$result,'NumPublicHoliday for YY the 2018-12-13'); // 0 opened day, 1 closed days (even if country unknown)
|
||||||
|
|
||||||
|
$date1=dol_mktime(0, 0, 0, 12, 14, 2018);
|
||||||
|
$date2=dol_mktime(0, 0, 0, 12, 14, 2018);
|
||||||
|
$result=num_public_holiday($date1,$date2,'YY',1);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertEquals(0,$result,'NumPublicHoliday for YY the 2018-12-14'); // 1 opened day, 0 closed days (even if country unknown)
|
||||||
|
|
||||||
|
$date1=dol_mktime(0, 0, 0, 12, 14, 2019);
|
||||||
|
$date2=dol_mktime(0, 0, 0, 12, 14, 2019);
|
||||||
|
$result=num_public_holiday($date1,$date2,'YY',1);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertEquals(1,$result,'NumPublicHoliday for YY the 2019-12-14'); // 0 opened day, 1 closed days (even if country unknown)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user