Packages from eluceo
The eluceo/iCal package offers a abstraction layer for creating iCalendars. You can easily create iCal files by using PHP object instead of typing your *.ics file by hand. The output will follow RFC 5545 as best as possible.
EventBundle for Symfony 2 and Sonata Admin. This bundles offers an event-calendar. You can create an event with several dates, upload an event-image and you will be able to upload a picture-gallery for an event.