date converteren naar sterrenbeeld in een Smarty view

We creƫren een smarty modifier genaamd age (function.zodiac.php), en plaatsen deze in de map smarty_plugins :

function smarty_function_zodiac($params, &$smarty)
{
  $dob = arr::get($params, 'dob');

  list ($year, $month, $day) = explode("-", $dob);

  if ( ($month == 1 && $day >= 20) || ($month == 2 && $day <= 18) )
    return __('Waterman');

  elseif ( ($month == 2 && $day >= 19) || ($month == 3 && $day <= 20) )
    return __('Vissen');

  elseif ( ($month == 3 && $day >= 21) || ($month == 4 && $day <= 19) )
    return __('Ram');

  elseif ( ($month == 4 && $day >= 20) || ($month == 5 && $day <= 20) )
    return __('Stier');

  elseif ( ($month == 5 && $day >= 21) || ($month == 6 && $day <= 21) )
    return __('Tweelingen');

  elseif ( ($month == 6 && $day >= 22) || ($month == 7 && $day <= 22) )
    return __('Kreeft');

  elseif ( ($month == 7 && $day >= 23) || ($month == 8 && $day <= 22) )
    return __('Leeuw');

  elseif ( ($month == 8 && $day >= 23) || ($month == 9 && $day <= 22) )
    return __('Maagd');

  elseif ( ($month == 9 && $day >= 23) || ($month == 10 && $day <= 22) )
    return __('Weegschaal');

  elseif ( ($month == 10 && $day >= 23) || ($month == 11 && $day <= 21) )
    return __('Schorpioen');

  elseif ( ($month == 11 && $day >= 22) || ($month == 12 && $day <= 21) )
    return __('Boogschutter');

  elseif ( ($month == 12 && $day >= 22) || ($month == 1 && $day <= 19) )
    return __('Steenbok');
}

In de Smarty view :

{zodiac dob=$model_user->info->dateofbirth}