Пример #1
0
 /**
  * Displays the participant edit form
  *
  * @param   string  $tpl  - The template
  *
  * @throws  Exception
  * @return  mixed|void
  */
 public function display($tpl = null)
 {
     $booking_id = JFactory::getApplication()->input->getInt('booking_id', 0);
     $model = $this->getModel();
     $booking = null;
     if (!empty($booking_id)) {
         $booking = $model->getBooking();
     }
     if (!$booking) {
         $booking = JTable::getInstance('bookings', 'Table');
         $event_id = JFactory::getApplication()->input->getInt("event_id", 0);
         if (!empty($event_id)) {
             $booking->semid = $event_id;
         }
         $booking->uuid = MatukioHelperPayment::getUuid(true);
     }
     $db = JFactory::getDbo();
     $db->setQuery("SELECT r.id AS value, CONCAT(a.title, ' ', r.begin) AS text FROM #__matukio_recurring AS r LEFT JOIN #__matukio AS a ON r.event_id = a.id ");
     $events = (array) $db->loadObjectList();
     $this->event_select = JHtml::_('select.genericlist', $events, 'event_id', '', 'value', 'text', $booking->semid);
     $dispatcher = JDispatcher::getInstance();
     JPluginHelper::importPlugin("payment");
     $gateways = $dispatcher->trigger('onTP_GetInfo', array(MatukioHelperPayment::$matukio_payment_plugins));
     $payment = array();
     foreach ($gateways as $gway) {
         $payment[] = array("name" => $gway->id, "title" => $gway->name);
     }
     // Booking status
     $options[] = array("value" => MatukioHelperUtilsBooking::$PENDING, "text" => MatukioHelperUtilsBooking::getBookingStatusName(MatukioHelperUtilsBooking::$PENDING));
     $options[] = array("value" => MatukioHelperUtilsBooking::$ACTIVE, "text" => MatukioHelperUtilsBooking::getBookingStatusName(MatukioHelperUtilsBooking::$ACTIVE));
     $options[] = array("value" => MatukioHelperUtilsBooking::$WAITLIST, "text" => MatukioHelperUtilsBooking::getBookingStatusName(MatukioHelperUtilsBooking::$WAITLIST));
     $options[] = array("value" => MatukioHelperUtilsBooking::$ARCHIVED, "text" => JText::_("COM_MATUKIO_ARCHIVED"));
     $options[] = array("value" => MatukioHelperUtilsBooking::$DELETED, "text" => JText::_("COM_MATUKIO_DELETED"));
     $this->status_select = JHtml::_('select.genericlist', $options, 'status', '', 'value', 'text', $booking->status);
     $marks[] = array("value" => 0, "text" => JText::_("COM_MATUKIO_NONE"));
     $marks[] = array("value" => 1, "text" => "1");
     $marks[] = array("value" => 2, "text" => "2");
     $marks[] = array("value" => 3, "text" => "3");
     $marks[] = array("value" => 4, "text" => "4");
     $marks[] = array("value" => 5, "text" => "5");
     $marks[] = array("value" => 6, "text" => "6");
     $this->mark_select = JHtml::_('select.genericlist', $marks, 'mark', '', 'value', 'text', $booking->mark);
     $this->select_checkedin = MatukioHelperInput::getRadioButtonBool("checked_in", "checked_in", $booking->checked_in);
     $this->booking = $booking;
     $this->payment = $payment;
     $this->addToolbar();
     parent::display($tpl);
 }
Пример #2
0
        echo JText::_("COM_MATUKIO_NOT_PAID");
    }
    ?>
			</td>
		</tr>
	<?php 
}
?>
	<tr>
		<td class="key"><?php 
echo JText::_("COM_MATUKIO_STATUS");
?>
</td>
		<td>
			<?php 
echo MatukioHelperUtilsBooking::getBookingStatusName($this->booking->status);
?>
		</td>
	</tr>
	<?php 
if (MatukioHelperSettings::getSettings('participant_grading_system', 0) && $this->booking->mark != 0) {
    ?>
	<tr>
		<td class="key"><?php 
    echo JText::_("COM_MATUKIO_YOUR_MARK");
    ?>
</td>
		<td>
			<?php 
    echo $this->booking->mark;
    ?>
Пример #3
0
 /**
  * Shows the form
  *
  * @param   string  $tpl  - The tmpl
  *
  * @return  bool|mixed|object
  */
 public function display($tpl = NULL)
 {
     $database = JFactory::getDBO();
     $my = JFactory::getuser();
     $dateid = JFactory::getApplication()->input->getInt('dateid', 1);
     $catid = JFactory::getApplication()->input->getInt('catid', 0);
     $search = JFactory::getApplication()->input->get('search', '', 'string');
     $limit = JFactory::getApplication()->input->getInt('limit', 5);
     $limitstart = JFactory::getApplication()->input->getInt('limitstart', 0);
     $cid = JFactory::getApplication()->input->getInt('cid', 0);
     $uid = JFactory::getApplication()->input->getInt('uid', 0);
     $todo = JFactory::getApplication()->input->get('todo', 'print_eventlist');
     // print_eventlist, print_booking, print_myevents, print
     $rows = null;
     $status = null;
     $headertext = null;
     $neudatum = MatukioHelperUtilsDate::getCurrentDate();
     if ($limitstart < 0) {
         $limitstart = 0;
     }
     $ttlimit = "";
     if ($limit > 0) {
         $ttlimit = "\nLIMIT {$limitstart}, {$limit}";
     }
     /**
      * 65O9805443904 =    public ?!
      * 653O875032490 =    Meine Angebote
      * 6530387504345 =  Meine Buchungen / Buchungsbestätigung ?!
      *
      * 3728763872762 =
      * csv
      */
     $where = array();
     $where[] = "a.pattern = ''";
     $where[] = "a.published = '1'";
     switch ($todo) {
         case "print_eventlist":
             $navioben = explode(" ", MatukioHelperSettings::getSettings('frontend_topnavshowmodules', 'SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
             break;
         case "print_booking":
             $navioben = explode(" ", MatukioHelperSettings::getSettings('frontend_topnavbookingmodules', 'SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
             break;
         case "print_myevents":
             $navioben = explode(" ", MatukioHelperSettings::getSettings('frontend_topnavoffermodules', 'SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
             break;
         case "print_teilnehmerliste":
             $navioben = "";
             break;
     }
     if ($todo != "print_teilnehmerliste" && $todo != "csvlist" && $todo != "certificate" && $todo != "invoice") {
         if (in_array('SEM_TYPES', $navioben)) {
             switch ($dateid) {
                 case "1":
                     $where[] = "a.end > '{$neudatum}'";
                     break;
                 case "2":
                     $where[] = "a.end <= '{$neudatum}'";
                     break;
             }
         }
     }
     switch ($todo) {
         default:
         case "print_eventlist":
             if (!in_array('SEM_TYPES', $navioben)) {
                 $where[] = "r.end > '{$neudatum}'";
             }
             if ((isset($_GET["catid"]) or in_array('SEM_CATEGORIES', $navioben)) and $catid > 0) {
                 $where[] = "a.catid ='{$catid}'";
             }
             $headertext = JTEXT::_('COM_MATUKIO_EVENTS');
             if ($cid) {
                 $where[] = "r.id= '{$cid}'";
                 $headertext = JTEXT::_('COM_MATUKIO_EVENT');
             }
             $database->setQuery("SELECT a.*, r.*, cc.title AS category FROM #__matukio_recurring AS r" . "\nLEFT JOIN #__matukio AS a ON r.event_id = a.id" . "\nLEFT JOIN #__categories AS cc ON cc.id = a.catid" . (count($where) ? "\nWHERE " . implode(' AND ', $where) : "") . "\nAND (r.semnum LIKE'%{$search}%' OR a.teacher LIKE '%{$search}%' OR a.title LIKE '%{$search}%'" . " OR a.shortdesc LIKE '%{$search}%' OR a.description LIKE '%{$search}%')");
             $rows = $database->loadObjectList();
             // Abzug der Kurse, die wegen Ausbuchung nicht angezeigt werden sollen
             if (!$cid) {
                 $abid = array();
                 foreach ($rows as $row) {
                     if ($row->stopbooking == 2) {
                         $gebucht = MatukioHelperUtilsEvents::calculateBookedPlaces($row);
                         if ($row->maxpupil - $gebucht->booked < 1) {
                             $abid[] = $row->id;
                         }
                     }
                 }
                 if (count($abid) > 0) {
                     $abid = implode(',', $abid);
                     $where[] = "r.id NOT IN ({$abid})";
                 }
             }
             $database->setQuery("SELECT a.*, r.*, cc.title AS category FROM #__matukio_recurring AS r" . "\nLEFT JOIN #__matukio AS a ON r.event_id = a.id" . "\nLEFT JOIN #__categories AS cc" . "\nON cc.id = a.catid" . (count($where) ? "\nWHERE " . implode(' AND ', $where) : "") . "\nAND (a.semnum LIKE'%{$search}%' OR a.teacher LIKE '%{$search}%' OR a.title LIKE '%{$search}%' OR a.shortdesc LIKE '%{$search}%' OR a.description LIKE '%{$search}%')" . "\nORDER BY r.begin" . $ttlimit);
             $rows = $database->loadObjectList();
             $status = array();
             $paid = array();
             $abid = array();
             for ($i = 0, $n = count($rows); $i < $n; $i++) {
                 $row =& $rows[$i];
                 $gebucht = MatukioHelperUtilsEvents::calculateBookedPlaces($row);
                 $gebucht = $gebucht->booked;
                 if (MatukioHelperUtilsDate::getCurrentDate() > $row->booked or $row->maxpupil - $gebucht < 1 and $row->stopbooking == 1 or $my->id == $row->publisher and MatukioHelperSettings::getSettings('booking_ownevents', 1) == 0) {
                     $status[$i] = JTEXT::_('COM_MATUKIO_UNBOOKABLE');
                 } elseif ($row->maxpupil - $gebucht < 1 && $row->stopbooking == 0) {
                     $status[$i] = JTEXT::_('COM_MATUKIO_BOOKING_ON_WAITLIST');
                 } elseif ($row->maxpupil - $gebucht < 1 && $row->stopbooking == 2) {
                     $abid[] = $row->id;
                 } else {
                     $status[$i] = JTEXT::_('COM_MATUKIO_NOT_EXCEEDED');
                 }
                 $database->setQuery("SELECT * FROM #__matukio_bookings WHERE semid='{$row->id}' AND userid='{$my->id}'");
                 $temp = $database->loadObjectList();
                 if (count($temp) > 0) {
                     $status[$i] = JTEXT::_('COM_MATUKIO_ALREADY_BOOKED');
                     if ($temp[0]->paid == 1) {
                         $rows[$i]->fees = $rows[$i]->fees . " - " . JTEXT::_('COM_MATUKIO_PAID');
                     }
                 }
                 $rows[$i]->codepic = "";
             }
             break;
             // My bookings ?!
         // My bookings ?!
         case "print_booking":
             $headertext = JTEXT::_('COM_MATUKIO_MY_BOOKINGS') . " - " . $my->name;
             if (in_array('SEM_CATEGORIES', $navioben) and $catid > 0) {
                 $where[] = "a.catid ='{$catid}'";
             }
             $where[] = "cc.userid = '" . $my->id . "'";
             if ($cid) {
                 $where[] = "cc.semid = '" . $cid . "'";
                 $headertext = JTEXT::_('COM_MATUKIO_BOOKING_CONFIRMATION') . " - " . $my->name;
             }
             $database->setQuery("SELECT a.*, r.*, cat.title AS category, cc.bookingdate AS bookingdate, cc.id AS bookid, cc.status AS bookingstatus\r\n\t\t\t\t\tFROM #__matukio_recurring AS r\r\n\t\t\t\t\tLEFT JOIN #__matukio AS a ON r.event_id = a.id\r\n\t\t\t\t\tLEFT JOIN #__matukio_bookings AS cc ON cc.semid = r.id\r\n\t\t\t\t\tLEFT JOIN #__categories AS cat ON cat.id = a.catid" . (count($where) ? "\nWHERE " . implode(' AND ', $where) : "") . "\nAND (r.semnum LIKE'%{$search}%' OR a.teacher LIKE '%{$search}%' OR a.title LIKE '%{$search}%' OR a.shortdesc LIKE '%{$search}%'\r\n                        OR a.description LIKE '%{$search}%')" . "\nORDER BY r.begin" . $ttlimit);
             $rows = $database->loadObjectList();
             $status = array();
             for ($i = 0, $n = count($rows); $i < $n; $i++) {
                 $row =& $rows[$i];
                 $database->setQuery("SELECT * FROM #__matukio_bookings WHERE semid = '{$row->id}' ORDER BY id");
                 $temps = $database->loadObjectList();
                 $status[$i] = MatukioHelperUtilsBooking::getBookingStatusName($row->bookingstatus);
                 $rows[$i]->codepic = $row->bookid;
                 if ($temps[0]->paid == 1) {
                     $rows[$i]->fees = $rows[$i]->fees . " - " . JTEXT::_('COM_MATUKIO_PAID');
                 }
             }
             break;
             // My events ?!
         // My events ?!
         case "print_myevents":
             if (in_array('SEM_CATEGORIES', $navioben) and $catid > 0) {
                 $where[] = "a.catid ='{$catid}'";
             }
             $where[] = "a.publisher = '" . $my->id . "'";
             $database->setQuery("SELECT a.*, r.* cat.title AS category FROM #__matukio_recurring AS r\r\n\t\t\t \t    LEFT JOIN #__matukio AS a ON r.eventid = a.id\r\n\t\t\t\t\tLEFT JOIN #__categories AS cat ON cat.id = a.catid" . (count($where) ? "\nWHERE " . implode(' AND ', $where) : "") . "\nAND (r.semnum LIKE'%{$search}%' OR a.teacher LIKE '%{$search}%' OR a.title LIKE '%{$search}%' OR a.shortdesc LIKE '%{$search}%' OR a.description LIKE '%{$search}%')" . "\nORDER BY r.begin" . $ttlimit);
             $rows = $database->loadObjectList();
             $status = array();
             $headertext = JTEXT::_('COM_MATUKIO_MY_OFFERS') . " - " . $my->name;
             for ($i = 0, $n = count($rows); $i < $n; $i++) {
                 $row =& $rows[$i];
                 $status[$i] = MatukioHelperUtilsBooking::getBookingStatusName($row->bookingstatus);
                 $rows[$i]->codepic = "";
             }
             break;
         case "print_teilnehmerliste":
             // TODO implement userchecking
             $art = JFactory::getApplication()->input->getInt('art', 0);
             $this->art = $art;
             if ($art == 1) {
                 $this->setLayout("signaturelist");
             } else {
                 $this->setLayout("participants");
             }
             break;
         case "csvlist":
             // TODO implement userchecking
             $art = JFactory::getApplication()->input->getInt('art', 0);
             $this->art = $art;
             $this->cid = $cid;
             $this->setLayout("csv");
             break;
         case "certificate":
             // TODO implement userchecking
             $art = JFactory::getApplication()->input->getInt('art', 0);
             $uid = JFactory::getApplication()->input->getInt('uid', 0);
             $this->art = $art;
             $this->uid = $uid;
             $this->setLayout("certificate");
             break;
         case "invoice":
             // TODO implement userchecking
             $art = JFactory::getApplication()->input->getInt('art', 0);
             $uid = JFactory::getApplication()->input->getInt('uid', 0);
             $this->art = $art;
             $this->uid = $uid;
             $this->setLayout("invoice");
             break;
     }
     $this->rows = $rows;
     $this->status = $status;
     $this->headertext = $headertext;
     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;
 }