Ejemplo n.º 1
0
 /**
  * Displays the map
  *
  * @param   bool  $cachable   - Cachable
  * @param   bool  $urlparams  - Params
  *
  * @return JControllerLegacy|void
  */
 public function display($cachable = false, $urlparams = false)
 {
     $model = $this->getModel('Event', 'MatukioModel');
     $eventId = JFactory::getApplication()->input->getInt('event_id', 0);
     $locationId = JFactory::getApplication()->input->getInt('location_id', 0);
     $view = $this->getView('Map', 'html', 'MatukioView');
     if (!empty($eventId)) {
         $event = $model->getItem($eventId);
         $view->event = $event;
     } else {
         $view->event = null;
     }
     if (!empty($locationId)) {
         $view->location = MatukioHelperUtilsEvents::getLocation($locationId);
     } else {
         $view->location = null;
     }
     $view->display();
 }
Ejemplo n.º 2
0
 * @license    GNU General Public License version 2 or later; see LICENSE
 */
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.framework');
$api = 'http://maps.googleapis.com/maps/api/js?sensor=false';
$uri = JURI::getInstance();
if ($uri->isSSL()) {
    $api = 'https://maps.googleapis.com/maps/api/js?sensor=false';
}
$document = JFactory::getDocument();
$document->addScript($api);
$location = null;
if (!empty($this->event)) {
    $locobj = null;
    if ($this->event->place_id > 0) {
        $locobj = MatukioHelperUtilsEvents::getLocation($this->event->place_id);
    }
    $location = $this->event->gmaploc;
    if (empty($location) && ($locobj != null && !empty($locobj->gmaploc))) {
        $location = $locobj->gmaploc;
    }
} elseif (!empty($this->location)) {
    $location = $this->location->gmaploc;
} else {
    throw new Exception("No location found");
}
$script = "window.addEvent('domready', function() {\r\n\r\ngeocoder = new google.maps.Geocoder();\r\n        var myOptions = {\r\n            zoom:8,\r\n            mapTypeId:google.maps.MapTypeId.ROADMAP\r\n        };\r\n        var map = new google.maps.Map(document.getElementById('map_canvas'),\r\n            myOptions);\r\n        var address = '" . preg_replace("#\n|\r#", ' ', str_replace('<br />', ',', $location)) . "';\r\n        geocoder.geocode( { 'address': address}, function(results, status) {\r\n          if (status == google.maps.GeocoderStatus.OK) {\r\n            map.setCenter(results[0].geometry.location);\r\n            var marker = new google.maps.Marker({\r\n                map: map,\r\n                position: results[0].geometry.location\r\n            });\r\n\r\n            var infowindow = new google.maps.InfoWindow({\r\n                content: address\r\n            });\r\n\r\n            google.maps.event.addListener(marker, 'click', function() {\r\n              infowindow.open(map,marker);\r\n            });\r\n\r\n          } else {\r\n            alert('Geocode was not successful for the following reason: ' + status);\r\n          }\r\n        });\r\n\r\n});";
$document->addScriptDeclaration($script);
?>

<div id="map_canvas" style="width:570px; height:370px"></div>
Ejemplo n.º 3
0
 /**
  * Gets the upcoming events
  *
  * @param   object  $events  - The events
  * @param   object  $user    - The user
  *
  * @return  string - The html code
  */
 public static function getUpcomingEventsHTML($events, $user)
 {
     JHTML::_('stylesheet', 'media/com_matukio/css/upcoming.css');
     $html = "";
     if (count($events)) {
         $dispatcher = JDispatcher::getInstance();
         JPluginHelper::importPlugin('content');
         $params = JComponentHelper::getParams('com_matukio');
         foreach ($events as $event) {
             $buchopt = MatukioHelperUtilsEvents::getEventBookableArray(0, $event, $user->id);
             // Link
             $eventid_l = $event->id . ':' . JFilterOutput::stringURLSafe($event->title);
             $catid_l = $event->catid . ':' . JFilterOutput::stringURLSafe(MatukioHelperCategories::getCategoryAlias($event->catid));
             $link = JRoute::_(MatukioHelperRoute::getEventRoute($eventid_l, $catid_l), false);
             // Event image   -- TODO Add / Check for category image
             $linksbild = MatukioHelperUtilsBasic::getComponentImagePath() . "2601.png";
             if ($event->image != "" and MatukioHelperSettings::getSettings('event_image', 1) == 1) {
                 $linksbild = MatukioHelperUtilsBasic::getEventImagePath(1) . $event->image;
             }
             $hot = $event->hot_event ? " " : "";
             $top = $event->top_event ? " mat_top_event" : "";
             // Starting Row
             $html .= '<div class="mat_single_event' . $hot . $top . '">';
             $html .= '	<div class="mat_event_header">';
             $html .= '		<div class="mat_event_header_inner">';
             $html .= '			<div class="mat_event_header_line">';
             $html .= '				<div class="mat_event_image">';
             $html .= '					<img src="' . $linksbild . '" alt="' . $event->title . '" align="absmiddle" />';
             $html .= '				</div>';
             $html .= '				<div class="mat_event_title">';
             $html .= '					<h2><a href="' . $link . '" title="' . $event->title . '">' . $event->title . '</a></h2>';
             $html .= '				</div>';
             $html .= '			</div>';
             $html .= '			<div class="mat_event_location">';
             $begin = JHTML::_('date', $event->begin, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
             $location = $event->place;
             $locobj = null;
             if ($event->place_id > 0) {
                 $locobj = MatukioHelperUtilsEvents::getLocation($event->place_id);
                 $placelink = JRoute::_("index.php?option=com_matukio&view=location&id=" . $locobj->id . ":" . JFilterOutput::stringURLSafe($locobj->title));
                 $location = '<a href="' . $placelink . '">' . $locobj->location . '</a>';
             }
             if (MatukioHelperSettings::getSettings('show_timezone', '1')) {
                 $begin .= " (GMT " . JHTML::_('date', $event->booked, 'P') . ")";
             }
             if ($event->webinar == 1) {
                 $locimg = MatukioHelperUtilsBasic::getComponentImagePath() . "webinar.png";
                 $html .= '<h4><img src="' . $locimg . '" title="' . JText::_("COM_MATUKIO_WEBINAR") . '" style="width: 22px; vertical-align:middle" /> ' . $location . " " . JText::_("COM_MATUKIO_AT") . " " . $begin . '</h4>';
             } else {
                 // TODO add map link
                 $locimg = MatukioHelperUtilsBasic::getComponentImagePath() . "home.png";
                 $html .= '<h4><img src="' . $locimg . '" title="' . JText::_("COM_MATUKIO_FIELDS_CITY") . '" style="width: 22px; vertical-align:middle" /> ' . $location . " " . JText::_("COM_MATUKIO_AT") . " " . $begin . '</h4>';
             }
             $html .= '			</div>';
             $html .= '		</div>';
             $html .= '	</div>';
             $html .= '	<div class="mat_event_description">';
             $html .= $event->shortdesc;
             $html .= '</div>';
             $html .= '	<div class="mat_event_footer">';
             $html .= '		<div class="mat_event_footer_inner">';
             $html .= '			<div class="mat_event_infoline">';
             $catlink = JRoute::_("index.php?option=com_matukio&view=eventlist&art=0&catid=" . $event->catid . ":" . JFilterOutput::stringURLSafe($event->category));
             $html .= '<a href="' . $catlink . '">' . JTEXT::_($event->category) . '</a>';
             // Infoline
             $gebucht = MatukioHelperUtilsEvents::calculateBookedPlaces($event);
             if (MatukioHelperSettings::getSettings('event_showinfoline', 1) == 1) {
                 $html .= " | ";
                 // Veranstaltungsnummer anzeigen
                 if ($event->semnum != "") {
                     $html .= JTEXT::_('COM_MATUKIO_NUMBER') . ": " . $event->semnum . " | ";
                 }
                 $html .= JTEXT::_('COM_MATUKIO_BOOKABLE') . ": " . $buchopt[4];
             }
             // Seminarleiter anzeigen
             if ($event->teacher != "") {
                 $html .= " | " . $event->teacher;
             }
             // Fees
             if ($event->fees > 0) {
                 $html .= " | ";
                 $gebuehr = MatukioHelperUtilsEvents::getFormatedCurrency($event->fees);
                 $currency = MatukioHelperSettings::getSettings('currency_symbol', '$');
                 if ($currency == '€') {
                     $html .= JTEXT::_('COM_MATUKIO_FEES') . ': ' . $gebuehr . " " . $currency;
                 } else {
                     $html .= JTEXT::_('COM_MATUKIO_FEES') . ': ' . $currency . " " . $gebuehr;
                 }
             }
             $html .= '</div>';
             $html .= '			<div class="mat_event_footer_buttons" align="right">';
             // Detail Link
             $html .= " <a title=\"" . $event->title . "\" href=\"" . $link . "\">" . "<span class=\"mat_button\"><img src=\"" . MatukioHelperUtilsBasic::getComponentImagePath() . "0012.png\" border=\"0\" align=\"absmiddle\">&nbsp;" . JTEXT::_('COM_MATUKIO_EVENT_DETAILS') . "</span></a> ";
             // Booking Link
             if (($user->id != 0 || MatukioHelperSettings::getSettings('booking_unregistered', 1) == 1) && MatukioHelperSettings::getSettings('oldbookingform', 0) != 1) {
                 if ($event->nrbooked > 0) {
                     $bookinglink = JRoute::_("index.php?option=com_matukio&view=bookevent&cid=" . $event->id . ":" . JFilterOutput::stringURLSafe($event->title));
                     $html .= " <a title=\"" . JTEXT::_('COM_MATUKIO_BOOK') . "\" href=\"" . $bookinglink . "\"><span class=\"mat_button mat_book\" type=\"button\"><img src=\"" . MatukioHelperUtilsBasic::getComponentImagePath() . "1116.png\" border=\"0\" align=\"absmiddle\">&nbsp;" . JTEXT::_('COM_MATUKIO_BOOK') . "</span></a>";
                 }
             }
             $html .= '				<br />';
             $results = $dispatcher->trigger('onContentAfterButton', array('com_matukio.upcomingevent', &$event, &$params, 0));
             $html .= trim(implode("\n", $results));
             $html .= '			</div>';
             $html .= '		</div>';
             $html .= '	</div>';
             $html .= ' </div>';
         }
     }
     return $html;
 }
Ejemplo n.º 4
0
 /**
  * Displays the event form
  *
  * @param   string  $tpl  - The template
  *
  * @throws  Exception
  * @return  void
  */
 public function display($tpl = null)
 {
     $input = JFactory::getApplication()->input;
     $model = $this->getModel();
     $art = $input->getInt('art', 0);
     $database = JFactory::getDBO();
     $dateid = $input->getInt('dateid', 1);
     // Event id
     $cid = $input->getInt('id', 0);
     // Booking id!!
     $uid = $input->getInt('uid', 0);
     $uuid = $input->get('uuid', '');
     $dispatcher = JDispatcher::getInstance();
     $booking = "";
     $user = JFactory::getUser();
     if ($art == 1) {
         // Updated 2.2.4 to show the cancel booking button if logged in!
         $booking = MatukioHelperUtilsBooking::getBooking($uid, $cid);
     }
     // Fix if uid / booking not found or booking as not registered user
     if (empty($booking)) {
         $art = 0;
     }
     // Category id
     $catid = $input->getInt('catid', 0);
     $search = $input->get('search', '', 'string');
     $limit = $input->getInt('limit', 5);
     // TODO Pagination should be updated to Joomla Framework
     $limitstart = $input->getInt('limitstart', 0);
     $params = JComponentHelper::getParams('com_matukio');
     $menuitemid = $input->get('Itemid');
     if ($menuitemid) {
         $site = new JSite();
         $menu = $site->getMenu();
         $menuparams = $menu->getParams($menuitemid);
         $params->merge($menuparams);
     }
     $menu_cid = $params->get('eventId', 0);
     if (empty($cid)) {
         if (empty($menu_cid)) {
             JError::raiseError('404', JTEXT::_("COM_MATUKIO_NO_ID"));
         } else {
             $cid = $menu_cid;
         }
     }
     $row = $model->getItem($cid, true);
     if ($art == 3) {
         if ($uid > 0) {
             $database->setQuery("SELECT * FROM #__matukio_bookings WHERE id='" . $uid . "'");
             $temp = $database->loadObjectList();
             $userid = $temp[0]->userid;
             if ($userid == 0) {
                 $uid = $uid * -1;
             } else {
                 $uid = $userid;
             }
         }
     } else {
         if ($uid > 0) {
             $database->setQuery("SELECT * FROM #__matukio_bookings WHERE id='{$uid}'");
             $temp = $database->loadObjectList();
             if ($temp[0]->userid != 0 || $art != 1) {
                 $uid = $temp[0]->userid;
             } else {
                 $uid = $uid * -1;
             }
         }
     }
     if ($art == 0) {
         // Hits erhoehen
         $database->setQuery("UPDATE #__matukio_recurring SET hits=hits+1 WHERE id='{$cid}'");
         if (!$database->execute()) {
             throw new Exception("COM_MATUKIO_ERROR_ADDING_HIT" . ":" . $row->getError());
         }
         // Ausgabe des Kurses
         // MatukioHelperUtilsBasic::expandPathway(JTEXT::_('COM_MATUKIO_EVENTS'), JRoute::_("index.php?option=com_matukio"));
     } elseif ($art == 1 or $art == 2) {
         if ($user->id > 0) {
             MatukioHelperUtilsBasic::expandPathway(JTEXT::_('COM_MATUKIO_MY_BOOKINGS'), JRoute::_("index.php?option=com_matukio&view=eventlist&art=1"));
         }
     } else {
         MatukioHelperUtilsBasic::expandPathway(JTEXT::_('COM_MATUKIO_MY_OFFERS'), JRoute::_("index.php?option=com_matukio&view=eventlist&art=2"));
     }
     // Add category link to breadcrumb
     MatukioHelperUtilsBasic::expandPathway($row->category, JRoute::_("index.php?option=com_matukio&view=eventlist&art=" . $art . "&catid=" . $row->catid . ":" . JFilterOutput::stringURLSafe($row->category)));
     // Add event to breadcrumb
     MatukioHelperUtilsBasic::expandPathway($row->title, "");
     $ueberschrift = array(JTEXT::_('COM_MATUKIO_DESCRIPTION'), $row->shortdesc);
     if (empty($row)) {
         JError::raiseError('404', JTEXT::_("COM_MATUKIO_NO_ID"));
         return;
     }
     $locobj = null;
     if ($row->place_id > 0) {
         $locobj = MatukioHelperUtilsEvents::getLocation($row->place_id);
     }
     $title = JFactory::getDocument()->getTitle();
     JFactory::getDocument()->setTitle($title . " - " . JText::_($row->title));
     JPluginHelper::importPlugin('content');
     $this->jevent = new stdClass();
     $results = $dispatcher->trigger('onContentAfterDisplay', array('com_matukio.event', &$row, &$params, 0));
     $this->jevent->afterDisplayContent = trim(implode("\n", $results));
     $this->id = $cid;
     $this->art = $art;
     $this->event = $row;
     $this->uid = $uid;
     $this->uuid = $uuid;
     $this->search = $search;
     $this->catid = $catid;
     $this->limit = $limit;
     $this->limitstart = $limitstart;
     $this->dateid = $dateid;
     $this->ueberschrift = $ueberschrift;
     $this->booking = $booking;
     $this->user = $user;
     $this->location = $locobj;
     parent::display($tpl);
 }
 /**
  * Gets the replacements for the event & (booking)
  *
  * @param   object  $event    - The event data
  * @param   object  $booking  - The booking data
  * @param   int     $nr       - the number
  *
  * @return mixed
  */
 public static function getReplaces($event, $booking = null, $nr = null)
 {
     $needles = array('event' => (int) $event->id, 'category' => 0);
     $itemId = MatukioHelperRoute::_findItem($needles)->id;
     if ($nr != null) {
         $replaces["MAT_NR"] = $nr;
     }
     // Current date
     $replaces["MAT_DATE"] = JHTML::_('date', '', MatukioHelperSettings::getSettings('date_format_without_time', 'd-m-Y'));
     // Signature
     $replaces["MAT_SIGNATURE"] = MatukioHelperSettings::getSettings('mat_signature', 'Please do not answer this E-Mail.');
     // Event data
     $replaces["MAT_EVENT_SEMNUM"] = $event->semnum;
     // Alias
     $replaces["MAT_EVENT_NUMBER"] = $event->semnum;
     $replaces["MAT_EVENT_CATID"] = $event->catid;
     $replaces["MAT_EVENT_CATEGORY"] = JText::_($event->category);
     $replaces["MAT_EVENT_TITLE"] = JText::_($event->title);
     $replaces["MAT_EVENT_TARGET"] = JText::_($event->target);
     $replaces["MAT_EVENT_SHORTDESC"] = JText::_($event->shortdesc);
     // TODO change image path
     $replaces["MAT_EVENT_DESCRIPTION"] = JHTML::_('content.prepare', $event->description);
     $location = $event->place;
     // Locations
     if ($event->place_id > 0) {
         $locobj = MatukioHelperUtilsEvents::getLocation($event->place_id);
         $location = $locobj->location;
     }
     $replaces["MAT_EVENT_PLACE"] = $location;
     $replaces["MAT_EVENT_LOCATION"] = $location;
     $replaces["MAT_EVENT_TEACHER"] = $event->teacher;
     // Alias
     $replaces["MAT_EVENT_TUTOR"] = $event->teacher;
     if ($event->fees > 0) {
         $replaces["MAT_EVENT_FEES"] = MatukioHelperUtilsEvents::getFormatedCurrency($event->fees, MatukioHelperSettings::_('currency_symbol', '$'));
     } else {
         $replaces["MAT_EVENT_FEES"] = JText::_("COM_MATUKIO_FREE");
     }
     $replaces["MAT_EVENT_ORGANIZER_ID"] = $event->publisher;
     $replaces["MAT_EVENT_ORGANIZER"] = JFactory::getUser($event->publisher)->name;
     $replaces["MAT_EVENT_MAXPUPIL"] = $event->maxpupil;
     $replaces["MAT_EVENT_BOOKEDPUPIL"] = $event->bookedpupil;
     $replaces["MAT_EVENT_BEGIN"] = JHTML::_('date', $event->begin, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
     $replaces["MAT_EVENT_END"] = JHTML::_('date', $event->end, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
     $replaces["MAT_EVENT_BOOKED"] = JHTML::_('date', $event->booked, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
     $replaces["MAT_EVENT_GMAPLOC"] = $event->gmaploc;
     $replaces["MAT_EVENT_NRBOOKED"] = $event->nrbooked;
     /* Alias */
     $custom10 = explode("|", $event->zusatz10);
     $custom11 = explode("|", $event->zusatz11);
     $custom12 = explode("|", $event->zusatz12);
     $custom13 = explode("|", $event->zusatz13);
     $custom14 = explode("|", $event->zusatz14);
     $custom15 = explode("|", $event->zusatz15);
     $custom16 = explode("|", $event->zusatz16);
     $custom17 = explode("|", $event->zusatz17);
     $custom18 = explode("|", $event->zusatz18);
     $custom19 = explode("|", $event->zusatz19);
     $custom20 = explode("|", $event->zusatz20);
     $custom1 = explode("|", $event->zusatz1);
     $custom2 = explode("|", $event->zusatz2);
     $custom3 = explode("|", $event->zusatz3);
     $custom4 = explode("|", $event->zusatz4);
     $custom5 = explode("|", $event->zusatz5);
     $custom6 = explode("|", $event->zusatz6);
     $custom7 = explode("|", $event->zusatz7);
     $custom8 = explode("|", $event->zusatz8);
     $custom9 = explode("|", $event->zusatz9);
     $replaces["MAT_EVENT_CUSTOM10"] = $custom10[0];
     $replaces["MAT_EVENT_CUSTOM11"] = $custom11[0];
     $replaces["MAT_EVENT_CUSTOM12"] = $custom12[0];
     $replaces["MAT_EVENT_CUSTOM13"] = $custom13[0];
     $replaces["MAT_EVENT_CUSTOM14"] = $custom14[0];
     $replaces["MAT_EVENT_CUSTOM15"] = $custom15[0];
     $replaces["MAT_EVENT_CUSTOM16"] = $custom16[0];
     $replaces["MAT_EVENT_CUSTOM17"] = $custom17[0];
     $replaces["MAT_EVENT_CUSTOM18"] = $custom18[0];
     $replaces["MAT_EVENT_CUSTOM19"] = $custom19[0];
     $replaces["MAT_EVENT_CUSTOM20"] = $custom20[0];
     $replaces["MAT_EVENT_CUSTOM1"] = $custom1[0];
     $replaces["MAT_EVENT_CUSTOM2"] = $custom2[0];
     $replaces["MAT_EVENT_CUSTOM3"] = $custom3[0];
     $replaces["MAT_EVENT_CUSTOM4"] = $custom4[0];
     $replaces["MAT_EVENT_CUSTOM5"] = $custom5[0];
     $replaces["MAT_EVENT_CUSTOM6"] = $custom6[0];
     $replaces["MAT_EVENT_CUSTOM7"] = $custom7[0];
     $replaces["MAT_EVENT_CUSTOM8"] = $custom8[0];
     $replaces["MAT_EVENT_CUSTOM9"] = $custom9[0];
     $replaces["MAT_EVENT_ZUSATZ10"] = $replaces["MAT_EVENT_CUSTOM10"];
     $replaces["MAT_EVENT_ZUSATZ11"] = $replaces["MAT_EVENT_CUSTOM11"];
     $replaces["MAT_EVENT_ZUSATZ12"] = $replaces["MAT_EVENT_CUSTOM12"];
     $replaces["MAT_EVENT_ZUSATZ13"] = $replaces["MAT_EVENT_CUSTOM13"];
     $replaces["MAT_EVENT_ZUSATZ14"] = $replaces["MAT_EVENT_CUSTOM14"];
     $replaces["MAT_EVENT_ZUSATZ15"] = $replaces["MAT_EVENT_CUSTOM15"];
     $replaces["MAT_EVENT_ZUSATZ16"] = $replaces["MAT_EVENT_CUSTOM16"];
     $replaces["MAT_EVENT_ZUSATZ17"] = $replaces["MAT_EVENT_CUSTOM17"];
     $replaces["MAT_EVENT_ZUSATZ18"] = $replaces["MAT_EVENT_CUSTOM18"];
     $replaces["MAT_EVENT_ZUSATZ19"] = $replaces["MAT_EVENT_CUSTOM19"];
     $replaces["MAT_EVENT_ZUSATZ20"] = $replaces["MAT_EVENT_CUSTOM20"];
     $replaces["MAT_EVENT_ZUSATZ1"] = $replaces["MAT_EVENT_CUSTOM1"];
     $replaces["MAT_EVENT_ZUSATZ2"] = $replaces["MAT_EVENT_CUSTOM2"];
     $replaces["MAT_EVENT_ZUSATZ3"] = $replaces["MAT_EVENT_CUSTOM3"];
     $replaces["MAT_EVENT_ZUSATZ4"] = $replaces["MAT_EVENT_CUSTOM4"];
     $replaces["MAT_EVENT_ZUSATZ5"] = $replaces["MAT_EVENT_CUSTOM5"];
     $replaces["MAT_EVENT_ZUSATZ6"] = $replaces["MAT_EVENT_CUSTOM6"];
     $replaces["MAT_EVENT_ZUSATZ7"] = $replaces["MAT_EVENT_CUSTOM7"];
     $replaces["MAT_EVENT_ZUSATZ8"] = $replaces["MAT_EVENT_CUSTOM8"];
     $replaces["MAT_EVENT_ZUSATZ9"] = $replaces["MAT_EVENT_CUSTOM9"];
     $replaces["MAT_EVENT_ZUSATZ10HINT"] = $event->zusatz10hint;
     $replaces["MAT_EVENT_ZUSATZ11HINT"] = $event->zusatz11hint;
     $replaces["MAT_EVENT_ZUSATZ12HINT"] = $event->zusatz12hint;
     $replaces["MAT_EVENT_ZUSATZ13HINT"] = $event->zusatz13hint;
     $replaces["MAT_EVENT_ZUSATZ14HINT"] = $event->zusatz14hint;
     $replaces["MAT_EVENT_ZUSATZ15HINT"] = $event->zusatz15hint;
     $replaces["MAT_EVENT_ZUSATZ16HINT"] = $event->zusatz16hint;
     $replaces["MAT_EVENT_ZUSATZ17HINT"] = $event->zusatz17hint;
     $replaces["MAT_EVENT_ZUSATZ18HINT"] = $event->zusatz18hint;
     $replaces["MAT_EVENT_ZUSATZ19HINT"] = $event->zusatz19hint;
     $replaces["MAT_EVENT_ZUSATZ20HINT"] = $event->zusatz20hint;
     $replaces["MAT_EVENT_ZUSATZ1HINT"] = $event->zusatz1hint;
     $replaces["MAT_EVENT_ZUSATZ2HINT"] = $event->zusatz2hint;
     $replaces["MAT_EVENT_ZUSATZ3HINT"] = $event->zusatz3hint;
     $replaces["MAT_EVENT_ZUSATZ4HINT"] = $event->zusatz4hint;
     $replaces["MAT_EVENT_ZUSATZ5HINT"] = $event->zusatz5hint;
     $replaces["MAT_EVENT_ZUSATZ6HINT"] = $event->zusatz6hint;
     $replaces["MAT_EVENT_ZUSATZ7HINT"] = $event->zusatz7hint;
     $replaces["MAT_EVENT_ZUSATZ8HINT"] = $event->zusatz8hint;
     $replaces["MAT_EVENT_ZUSATZ9HINT"] = $event->zusatz9hint;
     /* ALIAS */
     $replaces["MAT_EVENT_CUSTOM10HINT"] = $event->zusatz10hint;
     $replaces["MAT_EVENT_CUSTOM11HINT"] = $event->zusatz11hint;
     $replaces["MAT_EVENT_CUSTOM12HINT"] = $event->zusatz12hint;
     $replaces["MAT_EVENT_CUSTOM13HINT"] = $event->zusatz13hint;
     $replaces["MAT_EVENT_CUSTOM14HINT"] = $event->zusatz14hint;
     $replaces["MAT_EVENT_CUSTOM15HINT"] = $event->zusatz15hint;
     $replaces["MAT_EVENT_CUSTOM16HINT"] = $event->zusatz16hint;
     $replaces["MAT_EVENT_CUSTOM17HINT"] = $event->zusatz17hint;
     $replaces["MAT_EVENT_CUSTOM18HINT"] = $event->zusatz18hint;
     $replaces["MAT_EVENT_CUSTOM19HINT"] = $event->zusatz19hint;
     $replaces["MAT_EVENT_CUSTOM20HINT"] = $event->zusatz20hint;
     $replaces["MAT_EVENT_CUSTOM1HINT"] = $event->zusatz1hint;
     $replaces["MAT_EVENT_CUSTOM2HINT"] = $event->zusatz2hint;
     $replaces["MAT_EVENT_CUSTOM3HINT"] = $event->zusatz3hint;
     $replaces["MAT_EVENT_CUSTOM4HINT"] = $event->zusatz4hint;
     $replaces["MAT_EVENT_CUSTOM5HINT"] = $event->zusatz5hint;
     $replaces["MAT_EVENT_CUSTOM6HINT"] = $event->zusatz6hint;
     $replaces["MAT_EVENT_CUSTOM7HINT"] = $event->zusatz7hint;
     $replaces["MAT_EVENT_CUSTOM8HINT"] = $event->zusatz8hint;
     $replaces["MAT_EVENT_CUSTOM9HINT"] = $event->zusatz9hint;
     $replaces["MAT_EVENT_CREATED_BY"] = $event->created_by;
     $replaces["MAT_EVENT_MODIFIED_BY"] = $event->modified_by;
     $replaces["MAT_EVENT_CREATED"] = JHTML::_('date', $event->created, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
     $replaces["MAT_EVENT_WEBINAR"] = $event->webinar;
     if ($booking != null) {
         if (empty($booking->sid)) {
             $booking->sid = $booking->id;
         }
         // Booking data
         $replaces["MAT_BOOKING_ID"] = $booking->sid;
         $replaces["MAT_BOOKING_NUMBER"] = MatukioHelperUtilsBooking::getBookingId($booking->sid);
         $replaces["MAT_SIGN"] = "<span> </span>";
         $user = JFactory::getUser($booking->userid);
         $replaces["MAT_BOOKING_USERNAME"] = "";
         if ($booking->userid > 0) {
             $replaces["MAT_BOOKING_USERNAME"] = $user->username;
         }
         if (isset($booking->aname)) {
             $booking->aname = trim($booking->aname);
         }
         if (isset($booking->name)) {
             $booking->name = trim($booking->name);
         }
         // Old form
         if (isset($booking->aname) && !empty($booking->aname)) {
             $replaces["MAT_BOOKING_NAME"] = $booking->aname;
         } elseif (isset($booking->name) && !empty($booking->name)) {
             $replaces["MAT_BOOKING_NAME"] = $booking->name;
         }
         if (isset($booking->aemail) && !empty($booking->aemail)) {
             $replaces["MAT_BOOKING_EMAIL"] = $booking->aemail;
         } elseif (isset($booking->email) && !empty($booking->email)) {
             $replaces["MAT_BOOKING_EMAIL"] = $booking->email;
         }
         // Fix for empty E-Mail
         if (empty($replaces["MAT_BOOKING_EMAIL"])) {
             $replaces["MAT_BOOKING_EMAIL"] = $booking->email;
         }
         $replaces["MAT_BOOKING_SID"] = $booking->sid;
         $replaces["MAT_BOOKING_SEMID"] = $booking->semid;
         $replaces["MAT_BOOKING_USERID"] = $booking->userid;
         $replaces["MAT_BOOKING_CERTIFICATED"] = $booking->certificated;
         $replaces["MAT_EVENT_BOOKINGDATE"] = JHTML::_('date', $booking->bookingdate, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
         $replaces["MAT_EVENT_UPDATED"] = JHTML::_('date', $booking->updated, MatukioHelperSettings::getSettings('date_format', 'd-m-Y, H:i'));
         $replaces["MAT_INVOICE_DATE"] = JHTML::_('date', $booking->bookingdate, MatukioHelperSettings::getSettings('date_format_without_time', 'd-m-Y'));
         if ($booking->payment_brutto > 0) {
             $replaces["MAT_INVOICE_NUMBER"] = MatukioHelperInvoice::getInvoiceNumber($booking->id, JHTML::_('date', $booking->bookingdate, 'Y'));
         } else {
             $replaces["MAT_INVOICE_NUMBER"] = "";
         }
         $replaces["MAT_BOOKING_PAID"] = MatukioHelperUtilsBooking::getBookingPaidName($booking->paid);
         $replaces["MAT_BOOKING_PAID_NUM"] = $booking->paid;
         $replaces["MAT_BOOKING_PAYMENT_STATUS"] = $booking->payment_status;
         $replaces["MAT_BOOKING_PAYMENT_PLUGIN_DATA"] = $booking->payment_plugin_data;
         $replaces["MAT_BOOKING_NRBOOKED"] = $booking->nrbooked;
         // Alias
         $replaces["MAT_BOOKING_BOOKEDNR"] = $booking->nrbooked;
         $replaces["MAT_BOOKING_ZUSATZ10"] = $booking->zusatz10;
         $replaces["MAT_BOOKING_ZUSATZ11"] = $booking->zusatz11;
         $replaces["MAT_BOOKING_ZUSATZ12"] = $booking->zusatz12;
         $replaces["MAT_BOOKING_ZUSATZ13"] = $booking->zusatz13;
         $replaces["MAT_BOOKING_ZUSATZ14"] = $booking->zusatz14;
         $replaces["MAT_BOOKING_ZUSATZ15"] = $booking->zusatz15;
         $replaces["MAT_BOOKING_ZUSATZ16"] = $booking->zusatz16;
         $replaces["MAT_BOOKING_ZUSATZ17"] = $booking->zusatz17;
         $replaces["MAT_BOOKING_ZUSATZ18"] = $booking->zusatz18;
         $replaces["MAT_BOOKING_ZUSATZ19"] = $booking->zusatz19;
         $replaces["MAT_BOOKING_ZUSATZ20"] = $booking->zusatz20;
         $replaces["MAT_BOOKING_ZUSATZ1"] = $booking->zusatz1;
         $replaces["MAT_BOOKING_ZUSATZ2"] = $booking->zusatz2;
         $replaces["MAT_BOOKING_ZUSATZ3"] = $booking->zusatz3;
         $replaces["MAT_BOOKING_ZUSATZ4"] = $booking->zusatz4;
         $replaces["MAT_BOOKING_ZUSATZ5"] = $booking->zusatz5;
         $replaces["MAT_BOOKING_ZUSATZ6"] = $booking->zusatz6;
         $replaces["MAT_BOOKING_ZUSATZ7"] = $booking->zusatz7;
         $replaces["MAT_BOOKING_ZUSATZ8"] = $booking->zusatz8;
         $replaces["MAT_BOOKING_ZUSATZ9"] = $booking->zusatz9;
         /* Alias */
         $replaces["MAT_BOOKING_CUSTOM10"] = $booking->zusatz10;
         $replaces["MAT_BOOKING_CUSTOM11"] = $booking->zusatz11;
         $replaces["MAT_BOOKING_CUSTOM12"] = $booking->zusatz12;
         $replaces["MAT_BOOKING_CUSTOM13"] = $booking->zusatz13;
         $replaces["MAT_BOOKING_CUSTOM14"] = $booking->zusatz14;
         $replaces["MAT_BOOKING_CUSTOM15"] = $booking->zusatz15;
         $replaces["MAT_BOOKING_CUSTOM16"] = $booking->zusatz16;
         $replaces["MAT_BOOKING_CUSTOM17"] = $booking->zusatz17;
         $replaces["MAT_BOOKING_CUSTOM18"] = $booking->zusatz18;
         $replaces["MAT_BOOKING_CUSTOM19"] = $booking->zusatz19;
         $replaces["MAT_BOOKING_CUSTOM20"] = $booking->zusatz20;
         $replaces["MAT_BOOKING_CUSTOM1"] = $booking->zusatz1;
         $replaces["MAT_BOOKING_CUSTOM2"] = $booking->zusatz2;
         $replaces["MAT_BOOKING_CUSTOM3"] = $booking->zusatz3;
         $replaces["MAT_BOOKING_CUSTOM4"] = $booking->zusatz4;
         $replaces["MAT_BOOKING_CUSTOM5"] = $booking->zusatz5;
         $replaces["MAT_BOOKING_CUSTOM6"] = $booking->zusatz6;
         $replaces["MAT_BOOKING_CUSTOM7"] = $booking->zusatz7;
         $replaces["MAT_BOOKING_CUSTOM8"] = $booking->zusatz8;
         $replaces["MAT_BOOKING_CUSTOM9"] = $booking->zusatz9;
         $replaces["MAT_BOOKING_UUID"] = $booking->uuid;
         if (!empty($booking->payment_method)) {
             $replaces["MAT_BOOKING_PAYMENT_METHOD"] = self::getPaymentMethodTitle($booking->payment_method);
         } else {
             $replaces["MAT_BOOKING_PAYMENT_METHOD"] = "";
         }
         $replaces["MAT_BOOKING_PAYMENT_METHOD_RAW"] = $booking->payment_method;
         $replaces["MAT_BOOKING_PAYMENT_NUMBER"] = $booking->payment_number;
         $replaces["MAT_BOOKING_PAYMENT_NETTO"] = MatukioHelperUtilsEvents::getFormatedCurrency($booking->payment_netto, MatukioHelperSettings::_('currency_symbol', '$'));
         $replaces["MAT_BOOKING_PAYMENT_NET"] = $replaces["MAT_BOOKING_PAYMENT_NETTO"];
         $replaces["MAT_BOOKING_PAYMENT_TAX"] = MatukioHelperUtilsEvents::getFormatedCurrency($booking->payment_tax, MatukioHelperSettings::_('currency_symbol', '$'));
         $replaces["MAT_BOOKING_PAYMENT_BRUTTO"] = MatukioHelperUtilsEvents::getFormatedCurrency($booking->payment_brutto, MatukioHelperSettings::_('currency_symbol', '$'));
         $replaces["MAT_BOOKING_PAYMENT_GROSS"] = $replaces["MAT_BOOKING_PAYMENT_BRUTTO"];
         $replaces["MAT_BOOKING_COUPON_CODE"] = $booking->coupon_code;
         $replaces["MAT_BOOKING_STATUS"] = MatukioHelperUtilsBooking::getBookingStatusName($booking->status);
         /* Mark since 4.5 */
         $replaces["MAT_BOOKING_MARK"] = $booking->mark;
         /* QR Codes */
         $replaces["MAT_BOOKING_QRCODE_ID"] = MatukioHelperUtilsBooking::getBookingIdQRCode($booking->sid);
         $replaces["MAT_BOOKING_QRCODE"] = $replaces["MAT_BOOKING_QRCODE_ID"];
         $replaces["MAT_BOOKING_BARCODE"] = MatukioHelperUtilsBooking::getBookingIdBarcode($booking->sid);
         // Checkin URLs and QR-Codes since 4.5
         $checkinurl = JRoute::_("index.php?option=com_matukio&view=booking&task=checkin&uuid=" . $booking->uuid . "&Itemid=" . $itemId, true, -1);
         $replaces["MAT_BOOKING_CHECKIN_URL"] = $checkinurl;
         $replaces["MAT_BOOKING_CHECKIN_LINK"] = '<a href="' . $checkinurl . '">' . JText::_("COM_MATUKIO_CHECKIN_BOOKING") . "</a>";
         $replaces["MAT_BOOKING_CHECKIN_QRCODE"] = MatukioHelperUtilsBooking::getBookingCheckinQRCode($checkinurl, $booking->sid);
         if ($event->fees > 0) {
             $replaces["MAT_BOOKING_FEES_STATUS"] = MatukioHelperUtilsEvents::getFormatedCurrency($booking->payment_brutto, MatukioHelperSettings::_('currency_symbol', '$')) . " (" . MatukioHelperUtilsBooking::getBookingPaidName($booking->paid) . ")";
         } else {
             $replaces["MAT_BOOKING_FEES_STATUS"] = JText::_("COM_MATUKIO_FREE_EVENT");
         }
         // Booking detail page @since 4.1.1
         $replaces["MAT_BOOKING_DETAILPAGE_URL"] = JRoute::_("index.php?option=com_matukio&view=booking&uuid=" . $booking->uuid . "&Itemid=" . $itemId, true, -1);
         $replaces["MAT_BOOKING_DETAILPAGE"] = '<a href="' . JRoute::_("index.php?option=com_matukio&view=booking&uuid=" . $booking->uuid . "&Itemid=" . $itemId, true, -1) . '">' . JText::_("COM_MATUKIO_BOOKING_DETAILS") . "</a>";
         $editbookinglink = JRoute::_("index.php?option=com_matukio&view=bookevent&cid=" . $booking->semid . "&uuid=" . $booking->uuid . "&Itemid=" . $itemId, true, -1);
         if (MatukioHelperSettings::getSettings('oldbookingform', 0) == 1) {
             $editbookinglink = JRoute::_(MatukioHelperRoute::getEventRoute($event->id, $event->catid, 1, $booking->id, $booking->uuid), true, -1);
         }
         $replaces["MAT_BOOKING_EDIT_URL"] = $editbookinglink;
         $replaces["MAT_BOOKING_EDIT"] = '<a href="' . $editbookinglink . '">' . JText::_("COM_MATUKIO_EDIT_YOUR_BOOKING") . "</a>";
         // TODO Different fees
     }
     // Event info complete no booking here
     $replaces["MAT_EVENT_ALL_DETAILS_HTML"] = self::getEmailEventInfoHTML($event);
     $replaces["MAT_EVENT_ALL_DETAILS_TEXT"] = self::getEmailEventInfoTEXT($event);
     /* Other things */
     $replaces["MAT_BANK_TRANSFER_INFORMATIONS"] = MatukioHelperPayment::getBanktransferInfo(MatukioHelperSettings::getSettings("banktransfer_account", ''), MatukioHelperSettings::getSettings("banktransfer_blz", ''), MatukioHelperSettings::getSettings("banktransfer_bank", ''), MatukioHelperSettings::getSettings("banktransfer_accountholder", ''), MatukioHelperSettings::getSettings("banktransfer_iban", ''), MatukioHelperSettings::getSettings("banktransfer_bic", ''));
     // CSV
     $bookingnewname = "";
     if ($booking != null) {
         $replaces["MAT_CSV_BOOKING_DETAILS"] = self::getExportCSVBookingDetails($booking, $event, MatukioHelperSettings::getSettings('export_csv_separator', ';'));
         if (MatukioHelperSettings::getSettings('oldbookingform', 0) == 1) {
             // Old booking form
             if ($booking->userid > 0) {
                 $user = JFactory::getUser($booking->userid);
                 $replaces["MAT_BOOKING_NAME"] = $user->name;
                 $replaces["MAT_BOOKING_EMAIL"] = $user->email;
             }
         } else {
             // New booking form fields
             $fields = MatukioHelperUtilsBooking::getBookingFields();
             $fieldvals = explode(";", $booking->newfields);
             $value = array();
             foreach ($fieldvals as $val) {
                 $tmp = explode("::", $val);
                 if (count($tmp) > 1) {
                     $value[$tmp[0]] = $tmp[1];
                 } else {
                     $value[$tmp[0]] = "";
                 }
             }
             foreach ($fields as $field) {
                 if (!empty($value[$field->id])) {
                     // Not use the Spacer fields
                     if ($field->type != "spacer" && $field->type != "spacertext") {
                         $replaces["MAT_BOOKING_" . strtoupper($field->field_name)] = $value[$field->id];
                     }
                     if ($field->field_name == "firstname") {
                         $bookingnewname .= $value[$field->id];
                     }
                     if ($field->field_name == "lastname") {
                         $bookingnewname .= " " . $value[$field->id];
                     }
                 } else {
                     // Not use the Spacer fields
                     if ($field->type != "spacer" && $field->type != "spacertext") {
                         $replaces["MAT_BOOKING_" . strtoupper($field->field_name)] = "";
                     }
                 }
             }
             $bookingnewname = trim($bookingnewname);
             $replaces["MAT_BOOKING_COMMENT"] = $booking->comment;
             if (empty($replaces["MAT_BOOKING_NAME"])) {
                 if (!empty($bookingnewname)) {
                     $replaces["MAT_BOOKING_NAME"] = $bookingnewname;
                 } else {
                     if ($booking->userid > 0) {
                         $user = JFactory::getUser($booking->userid);
                         $replaces["MAT_BOOKING_NAME"] = $user->name;
                     }
                 }
             }
         }
         if (empty($replaces["MAT_BOOKING_EMAIL"])) {
             if ($booking->userid > 0) {
                 $user = JFactory::getUser($booking->userid);
                 $replaces["MAT_BOOKING_EMAIL"] = $user->email;
             }
         }
         // Booking complete
         $replaces["MAT_BOOKING_ALL_DETAILS_HTML"] = self::getEmailBookingInfoHTML($event, $booking, $bookingnewname);
         $replaces["MAT_BOOKING_ALL_DETAILS_TEXT"] = self::getEmailBookingInfoTEXT($event, $booking, $bookingnewname);
     }
     return $replaces;
 }