[kronolith] Factory was unable to produce driver object for driver Netherlands in year 2012 with locale nl_NL
Arjen de Korte
arjen+horde at de-korte.org
Sat Feb 9 19:39:04 UTC 2013
When January 1st is in the calender view, but part of the month before
(December the previous year) is also visible,
Kronolith_Driver_Holidays chokes on holidays that don't occur each
year. Only events from December will be shown then and above error
message will be logged.
I traced down the problem seems to line 80 of
kronolith/lib/Driver/Holidays.php. In the above case, it will be
called twice. Once with the previous year and once for the current
year. If there are holidays in the translation that didn't happen in
the previous year, the second call to Date_Holidays::factory will
result in an error and no holidays will be shown if a translation is
available for the holiday that didn't occur.
For now I have more or less fixed it by making sure that every holiday
will be added with _addHoliday in Date_Holidays_<driver>, even in
years where it doesn't happen, in which case I add it to an arbitrary
year outside the scope we're looking at. It won't be visible then, but
seems to keep the call to addTranslation happy.
I'm not sure if this is a Horde bug or a bug in Date_Holidays.
Best regards, Arjen
More information about the kronolith
mailing list