Dni wolne od pracy w PHP

Musiałem na liście dni miesiąca zaznaczyć polskie dni wolne od pracy. Napisałem funkcję w PHP która to robi.

function dni_wolne($data)
{
$year=substr($data,0,4);
$swieta[]=$year.”01-01″;
$swieta[]=$year.”01-06″;
$swieta[]=date(„Y-m-d”,easter_date($year));
$swieta[]=date(„Y-m-d”,easter_date($year)+86400);
$swieta[]=$year.”05-01″;
$swieta[]=$year.”05-03″;
$swieta[]=$year.”08-15″;
$swieta[]=$year.”11-01″;
$swieta[]=$year.”12-25″;
$swieta[]=$year.”12-26″;
$dzien_tyg=date(„N”,strtotime($data));
$wynik=0;
if(in_array($data,$swieta)) $wynik=2;
if($dzien_tyg==7) $wynik=2;
if($dzien_tyg==6) $wynik=1;
return $wynik;
}

zwraca 0 dla dni roboczych, 1 dla sobót, 2 dla niedziel i świąt.

Ponieważ używam Smarty napisałem plugin pozwalajacy w szablonach na sprawdzenie czy dzień z podaną datą jest dniem wolnym od pracy:

/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
include_once(„dni_wolne.php”);

function smarty_modifier_dzien_wolny($data)
{
return dni_wolne($data);
}
?>

w głównym folderze lub gdzieś w ścieżce szukania PHP trzeba zapisać plik z funkcją dni_wolne().