forse ti da un notice
fai cosi, aggiungi $cal='';

function calendar($year)
{
$cal='';
//resto

comunque c'è un problema per gli anni bisestili