public function addEvent(EventModel $event, $groups = array(), VenueModel $venue = null, AreaModel $area = null, CountryModel $country = null, $eventMedias = array())
 {
     global $CONFIG;
     $siteSlug = $this->site ? $this->site->getSlug() : $event->getSiteSlug();
     $txt = $this->getIcalLine('BEGIN', 'VEVENT');
     $txt .= $this->getIcalLine('UID', $event->getSlug() . '@' . $siteSlug . "." . $CONFIG->webSiteDomain);
     $url = $CONFIG->isSingleSiteMode ? 'http://' . $CONFIG->webSiteDomain . '/event/' . $event->getSlugForUrl() : 'http://' . $siteSlug . "." . $CONFIG->webSiteDomain . '/event/' . $event->getSlugForUrl();
     $txt .= $this->getIcalLine('URL', $url);
     if ($event->getIsDeleted()) {
         $txt .= $this->getIcalLine('SUMMARY', $event->getSummaryDisplay() . " [DELETED]");
         $txt .= $this->getIcalLine('METHOD', 'CANCEL');
         $txt .= $this->getIcalLine('STATUS', 'CANCELLED');
         $txt .= $this->getIcalLine('DESCRIPTION', 'DELETED');
     } else {
         if ($event->getIsCancelled()) {
             $txt .= $this->getIcalLine('SUMMARY', $event->getSummaryDisplay() . " [CANCELLED]");
             $txt .= $this->getIcalLine('METHOD', 'CANCEL');
             $txt .= $this->getIcalLine('STATUS', 'CANCELLED');
             $txt .= $this->getIcalLine('DESCRIPTION', 'CANCELLED');
         } else {
             $txt .= $this->getIcalLine('SUMMARY', $event->getSummaryDisplay());
             $description = '';
             foreach ($this->extraHeaders as $extraHeader) {
                 $description .= $extraHeader->getText() . "\n\n";
             }
             $description .= $event->getDescription() . "\n" . $url . "\n" . "Powered by " . $CONFIG->siteTitle;
             foreach ($this->extraFooters as $extraFooter) {
                 $description .= "\n" . $extraFooter->getText();
             }
             $txt .= $this->getIcalLine('DESCRIPTION', $description);
             $descriptionHTML = "<html><body>";
             foreach ($this->extraHeaders as $extraHeader) {
                 $descriptionHTML .= "<p>" . $extraHeader->getHtml() . "</p>";
             }
             $descriptionHTML .= "<p>" . str_replace("\r", "", str_replace("\n", "<br>", htmlentities($event->getDescription()))) . "</p>";
             //if ($event->getUrl()) $descriptionHTML .= '<p>More info: <a href="'.$event->getUrl().'">'.$event->getUrl().'</a></p>';
             $descriptionHTML .= '<p>More info: <a href="' . $url . '">' . $url . '</a></p>';
             $descriptionHTML .= '<p style="font-style:italic;font-size:80%">Powered by <a href="' . $url . '">' . $CONFIG->siteTitle . '</a>';
             foreach ($this->extraFooters as $extraFooter) {
                 $descriptionHTML .= "<br>" . $extraFooter->getHtml();
             }
             $descriptionHTML .= '</p>';
             $descriptionHTML .= '</body></html>';
             $txt .= $this->getIcalLine("X-ALT-DESC;FMTTYPE=text/html", $descriptionHTML);
             $locationDetails = array();
             if ($event->getVenue() && $event->getVenue()->getTitle()) {
                 $locationDetails[] = $event->getVenue()->getTitle();
             }
             if ($event->getVenue() && $event->getVenue()->getAddress()) {
                 $locationDetails[] = $event->getVenue()->getAddress();
             }
             if ($event->getArea() && $event->getArea()->getTitle()) {
                 $locationDetails[] = $event->getArea()->getTitle();
             }
             if ($event->getVenue() && $event->getVenue()->getAddressCode()) {
                 $locationDetails[] = $event->getVenue()->getAddressCode();
             }
             if ($locationDetails) {
                 $txt .= $this->getIcalLine('LOCATION', implode(", ", $locationDetails));
             }
             if ($event->getVenue() && $event->getVenue()->getLat() && $event->getVenue()->getLng()) {
                 $txt .= $this->getIcalLine('GEO', $event->getVenue()->getLat() . ";" . $event->getVenue()->getLng());
             }
         }
     }
     $txt .= $this->getIcalLine('DTSTART', $event->getStartAt()->format("Ymd") . "T" . $event->getStartAt()->format("His") . "Z");
     $txt .= $this->getIcalLine('DTEND', $event->getEndAt()->format("Ymd") . "T" . $event->getEndAt()->format("His") . "Z");
     $txt .= $this->getIcalLine('END', 'VEVENT');
     $this->events[] = $txt;
 }