echo "</table>"; } else { // Different Fees with multiple tickets @since 3.0.0 echo "<input type=\"hidden\" name=\"nrbooked\" id=\"nrbooked\" value=\"1\" />"; if (!empty($this->event->different_fees_override)) { // We have an override for this event $fees_list = MatukioHelperFees::getOverrideFees($this->event->different_fees_override); } else { $fees_list = MatukioHelperFees::getFees(); } echo '<div id="mat_tickets">'; echo "<table class=\"mat_table table\">\n"; echo '<tr>'; echo '<td class="key" width="150px">'; echo JText::_("COM_MATUKIO_PLACES_TO_BOOK") . " "; echo MatukioHelperUtilsEvents::getPlaceSelect($buchopt, $this->event, 0); echo '</td>'; echo '<td>'; echo JText::_("COM_MATUKIO_TICKET_TYPE") . " "; echo '<select id="ticket_fees0" name="ticket_fees[0]" class="sem_inputbox chzn-single ticket_fees" size="1">'; echo '<option value="0" selected="selected" discvalue="0" discount="1" percent="1">- ' . JText::_("COM_MATUKIO_NORMAL") . ' -</option>'; foreach ($fees_list as $f) { $disc_text = $f->discount ? '-' : '+'; if (MatukioHelperSettings::getSettings('different_fees_absolute', 1)) { if (!$f->percent) { $fval = $this->event->fees - $f->value; } else { // Calculate fees $fval = $this->event->fees - $this->event->fees * ($f->value / 100); } $fval = MatukioHelperUtilsEvents::getFormatedCurrency($fval, MatukioHelperSettings::getSettings('currency_symbol', '$'));
$event = $emodel->getItem($event_id); $num = $input->getInt("num", 0); if (empty($num)) { return; } if (!empty($event->different_fees_override)) { // We have an override for this event $fees_list = MatukioHelperFees::getOverrideFees($event->different_fees_override); } else { $fees_list = MatukioHelperFees::getFees(); } echo "<table id=\"tickets_" . $num . "\" class=\"mat_table table\">\n"; echo '<tr>'; echo '<td class="key" width="150px">'; echo JText::_("COM_MATUKIO_PLACES_TO_BOOK") . ": "; echo MatukioHelperUtilsEvents::getPlaceSelect(null, $event, $num); echo '</td>'; echo '<td>'; echo JText::_("COM_MATUKIO_TICKET_TYPE") . ": "; echo '<select id="ticket_fees' . $num . '" name="ticket_fees[' . $num . ']" class="sem_inputbox chzn-single ticket_fees" size="1">'; echo '<option value="0" selected="selected" discvalue="0" discount="1" percent="1">- ' . JText::_("COM_MATUKIO_NORMAL") . ' -</option>'; foreach ($fees_list as $f) { $disc_text = $f->discount ? '-' : '+'; if (MatukioHelperSettings::getSettings('different_fees_absolute', 1)) { if (!$f->percent) { $fval = $f->discount ? $event->fees - $f->value : $event->fees + $f->value; } else { // Calculate fees $fval = $f->discount ? $event->fees - $event->fees * ($f->value / 100) : $event->fees + $event->fees * ($f->value / 100); } $disc_text = "";
/** * Returns the fees html code * * @param string $different_fees - The json encoded string * @param object $event - The event * @param array $buchopt - Array of booking informations * * @return string */ public static function getEditBookingFeesList($different_fees, $event, $buchopt) { $json = json_decode($different_fees, true); $places = $json["places"]; $types = $json["types"]; $html = '<div id="fees_table">'; $html .= '<table class="table">'; // Fix for empty places / types - we need at least one if (empty($places)) { $places = array(1); $types = array(0); } // We also have to look for unpublished / ended fees.. if (empty($event->different_fees_override)) { $fees_list = self::getFees("all", 0); } else { $html .= "<tr><td colspan=\"3\">" . JText::_("COM_MATUKIO_OVERRIDEN_CUSTOM_EVENT_FEES") . "</td></tr>"; $fees_list = self::getOverrideFees($event->different_fees_override); } $html .= '<tr><td colspan="3">'; // Add additional tickets in another category! $html .= "<div align=\"right\"><a id=\"addticket\" class=\"mat_addticket\" border=\"0\" href=\"#\">\n\t\t<span class=\"mat_add btn btn-success\" type=\"button\">\n\t\t\t\t\t<img src=\"" . MatukioHelperUtilsBasic::getComponentImagePath() . "1832.png\" border=\"0\" align=\"absmiddle\" style=\"width: 16px; height: 16px;\"> " . JTEXT::_('COM_MATUKIO_ADD') . "</span></a></div>"; $html .= '</td></tr>'; $cnt = 0; for ($i = 0; $i < count($places); $i++) { $p = $places[$i]; $t = $types[$i]; $html .= '<tr id="tickets_' . $i . '">'; $html .= '<td class="key" width="150px">'; $html .= JText::_("COM_MATUKIO_PLACES") . ": "; $html .= MatukioHelperUtilsEvents::getPlaceSelect($buchopt, $event, $i, $p); $html .= '</td>'; $html .= '<td>'; $html .= JText::_("COM_MATUKIO_TICKET_TYPE_SHORT") . ": "; $html .= '<select id="ticket_fees' . $i . '" name="ticket_fees[' . $i . ']" class="sem_inputbox input-medium chzn-single ticket_fees" size="1">'; if ($t != 0) { $html .= '<option value="0">- ' . JText::_("COM_MATUKIO_NORMAL") . ' -</option>'; } else { $html .= '<option value="0" selected="selected">- ' . JText::_("COM_MATUKIO_NORMAL") . ' -</option>'; } foreach ($fees_list as $f) { $disc_text = $f->discount ? '-' : '+'; if (!$f->percent) { $fval = MatukioHelperUtilsEvents::getFormatedCurrency($f->value, MatukioHelperSettings::getSettings('currency_symbol', '$')); } else { $fval = $f->value . " %"; } $selected = ""; if ($f->id == $t) { $selected = ' selected="selected"'; } $html .= '<option value="' . $f->id . '"' . $selected . '>' . JText::_($f->title) . ' (' . $disc_text . $fval . ")" . '</option>'; } $html .= '</select>'; if ($buchopt[4] <= 0) { $html .= " * " . JText::_("COM_MATUKIO_BOOKING_ON_WAITLIST"); } $html .= '<td style="text-align: right;">'; // Delete ticket button $html .= " <a id=\"delticket" . $i . "\" border=\"0\" id=\"" . $i . "\"><span class=\"mat_remove btn btn-danger\" type=\"button\">" . "<img src=\"" . MatukioHelperUtilsBasic::getComponentImagePath() . "1532.png\" border=\"0\" align=\"absmiddle\" style=\"width: 16px; height: 16px;\">" . JTEXT::_('COM_MATUKIO_REMOVE_SMALL') . "</span></a>"; $html .= '</td>'; $html .= '</tr>'; $html .= '<script type="text/javascript">'; $html .= 'jQuery( document ).ready(function( $ ) { $("#delticket' . $i . '").click(function(){ $("#tickets_' . $i . '").remove(); }); });'; $html .= '</script>'; $cnt++; } echo '<input type="hidden" name="numfees" id="numfees" value="' . $cnt . '" />'; $html .= '</table>'; $html .= '</div>'; // Add the necessary js $doc = JFactory::getDocument(); $doc->addScriptDeclaration(' jQuery( document ).ready(function( $ ) { $("#addticket").click(function(){ var numfees = $("#numfees").val(); $.get( "' . JUri::root() . 'index.php?option=com_matukio&format=raw&view=requests&task=getnewfeerow&backend=1&event_id=' . $event->id . '", { num: numfees } ) .done(function( data ) { $("#fees_table").append( data ); $("input .btn").button(); numfees++; $("#numfees").val(numfees); }); return false; }); }); '); return $html; }