process_request = null; cached_process_id = null; function addslashes(str) { str = str.replace(/\\/g, '\\\\'); str = str.replace(/\'/g, '\\\''); str = str.replace(/\"/g, '\\"'); str = str.replace(/\0/g, '\\0'); return str; } function stripslashes(str) { str = str.replace(/\\'/g, '\''); str = str.replace(/\\"/g, '"'); str = str.replace(/\\0/g, '\0'); str = str.replace(/\\\\/g, '\\'); return str; } var subscribe = (function($, window, jQuery) { var sched; var _vars_ = {}; return { "set_vars": function(options) { $.extend(_vars_, options || {}); }, "get_vars": function() { return _vars_; }, "getCookie": function(name) { var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); }, "prevent_page_load": function(btn, event_id, event_schedule_id, reg_type, action, process_type) { var _cookie_data = decodeURIComponent(subscribe.getCookie("_sdllmea")); var _cookie_data_1 = decodeURIComponent(subscribe.getCookie("_sdllmea")); if ((_cookie_data.indexOf("logged_in") != -1 && _cookie_data.indexOf("LeMondeFO") != -1) || _cookie_data_1 != "undefined") { // subscribe.check_closed_event(btn, event_id, event_schedule_id, reg_type, action, process_type); reg_type booking - 1, waitlist - 2 } else { $.ajax({ url: app.get_vars().baseurl + "events/subscribe/save_link_to_cookie", type: "POST", data: { event_id: event_id, event_schedule_id: event_schedule_id }, success: function(result) { app._notify("error", app.get_vars()._app.notif.not_connected); window.setTimeout(function() { window.location.href = app.get_vars().baseurl + "login" }, 2000); } }); /* enable button */ $(btn).prop("disabled", false); } }, "registration": { "add_or_modify": { "reservation": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription) { // console.log('reservation executed'); var serverData = { event_id: event_id, event_schedule_id: event_schedule_id, action: action, seat_feature: seat_feature, check_subscription: check_subscription, process_type: process_type, reg_type: reg_type, request_type: 0 }; /* This solution fixed the bug #24568 */ if (cached_process_id) serverData.process_id = cached_process_id; cached_process_id = null; $.ajax({ url: app.get_vars().baseurl + 'events/subscribe/validate', type: "POST", data: serverData, success: function(result) { // console.log('asd pr => ' + process_request); if (app.isalive(result)) { if (result.mtype == "success") { var form = $("#register-event-form"); bootbox.dialog({ "title": subscribe.registration.options.title(reg_type, action, process_type), "className": "my-modal-with-sm event-normal-registration-modal table", "message": form, "cache": false, "show": false, /* We will show it manually later */ "buttons": [{ "label": app.get_vars()._app.btn._close, "className": "btn btn-default-style2 btn-unlock-process", "callback": function() { //remove unbefore unload $("body").removeAttr("onbeforeunload").removeAttr("unload"); //reset the timer when everything goes well subscribe.button.exitp.clear({}); // clearTimeout(process_request); $('#chkbox-error').hide(); } }, { "label": (reg_type == 1) ? app.get_vars()._app.btn._book : app.get_vars()._app.btn._updatewaitlist, "className": "btn btn-default-style reserve", "callback": function() { var seats_reserved = $('#numberofplaces').val(); var event_schedule = $('#schedule_id').val(); var seats_reserved_orig = parseInt($("#seats_reserved_info").data("seats_reserved")); if (parseInt(seats_reserved) >= 1) { $(".event-normal-registration-modal").modal('hide'); $("#chkbox-error").hide(); subscribe.registration.add_or_modify.confirm(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, seats_reserved, check_subscription, seats_reserved_orig, result.process_id); } else { $("#chkbox-error").show(); } return false; } }] }).on('shown.bs.modal', function() { //remove the loading when modal shows up $('#waiting' + event_schedule_id).remove(); $('#numberofplaces').focus(); // $(this).off('shown.bs.modal'); }).on('hide.bs.modal', function(e) { $('#chkbox-error').hide(); $(".event-normal-registration-cont-modal").modal("hide"); $('.event-normal-registration-modal').not(':last').remove(); $('.event-normal-registration-cont-modal').not(':last').remove(); $(this).off('hidden.bs.modal'); }).modal('show').init(function() { $("#seats_reserved_info").hide().removeData("seats_reserved"); $("#numberofplaces").html(''); $(btn).prop("disabled", false); //add event when browser/tab is closed or reloaded subscribe.button.exitp.agent_closing({ process_id: result.process_id, event_id: event_id, action: 2, process_type: process_type }); $(this).find(".bootbox-close-button").addClass("btn-unlock-process"); $(".btn-unlock-process").off("click").on("click", function() { //reset the timer when everything goes well subscribe.button.exitp.clear({}); // clearTimeout(process_request); subscribe.button.lock_unlock({ data: { process_id: result.process_id, event_id: event_id, action: 2, process_type: process_type } }); }); //start the timer subscribe.button.exitp.start(event_id, process_type, result.process_id); subscribe.registration.options.seats(reg_type, action, process_type, result.mdata); }); } else { //remove the loading when modal shows up $('#waiting' + event_schedule_id).remove(); bootbox.hideAll(); app._notify(result.mtype, result.message); //update buttons subscribe.button.change(event_id, 2, null, 0); } } } }); }, "confirm": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, seats_reserved, check_subscription, seats_reserved_orig, process_id) { $('span.send_reservation_data').click(); var event_title = $("#event-title").text(); var confirm_message = "Voulez-vous réserver " + seats_reserved + ( (seats_reserved[0] <= 1) ? ' place ' : ' places ') + "pour " + event_title + " ?"; if (parseInt($("#event_cancel_registration" + event_schedule_id).data("seat-feature")) == 2) { confirm_message = '

Voulez-vous réserver ' + seats_reserved + ( (seats_reserved[0] <= 1) ? ' place ' : ' places ') + "pour " + event_title + " ?

"; confirm_message += '
' + '' + '' + '' + '' + '' + '' + '
' + '' + '
' + ' Nombre de places réservées : ' + seats_reserved + ( (seats_reserved[0] <= 1) ? ' place ' : ' places ') + ' ' + '

'; confirm_message += '


'; } app.modal.confirm_box({ title: app.get_vars()._app.modal.book_title, className: 'my-modal-with-sm event-normal-registration-cont-modal', message: confirm_message, buttons: { confirm: { label: app.get_vars()._app.btn._confirm, className: "btn-default-style" }, cancel: { label: app.get_vars()._app.btn._close, className: "btn-default-style2" } }, _continue: function() { var dialog; $.ajax({ url: app.get_vars().baseurl + 'events/subscribe/validate', type: "POST", data: { event_id: event_id, event_schedule_id: event_schedule_id, action: action, seat_feature: seat_feature, check_subscription: check_subscription, process_type: process_type, reg_type: reg_type, request_type: 0, seats_reserved: seats_reserved, seats_reserved_orig: seats_reserved_orig, process_id: process_id }, beforeSend: function() { var dialog = bootbox.dialog({ className: "waiting-modal", message: '

' + app.get_vars()._app.notif.loading + '

', closeButton: false, onEscape: function() {} }); //prevent page from reloading when reserving $("body").attr("onbeforeunload", "return subscribe.button.prevent_reload()").attr("unload", "return subscribe.button.prevent_reload()"); }, success: function(result) { // console.log(action); // console.log(reg_type); window.dataLayer.push({ 'Reserve-Per-Account-Event-Id': "Event Reservation per Account : (" + event_id + ")" }); window.dataLayer.push({ 'Reserve-Per-Account-Value': 1 }); window.dataLayer.push({ 'Reserve-By-Account-Event-Id': "Event Reservation by Account : (" + event_id + ")" }); window.dataLayer.push({ 'Reserve-By-Account-Value': parseInt(seats_reserved, 10) }); //remove unbefore unload $("body").removeAttr("onbeforeunload").removeAttr("unload"); //reset the timer when everything goes well subscribe.button.exitp.clear({}); // clearTimeout(process_request); bootbox.hideAll(); $("div.waiting-modal:visible, div.modal-backdrop:visible").hide(); if (app.isalive(result)) { //refresh buttons subscribe.button.change(event_id, 2, null, 0); app._notify(result.mtype, result.message); if (result.mtype == 'error') { if (typeof(result.mdata) != "undefined" && result.mdata == 1) { if (reg_type == 1) { // subscribe.registration.add_or_modify.redirect_to_waitlist(btn, event_id, event_schedule_id, 2, action, 3, seat_feature, check_subscription, seats_reserved_orig); } } } } } }); }, _close: function() { var this_modal = $(".event-normal-registration-cont-modal"); this_modal.modal('hide'); this_modal.not(':last').remove(); $('.event-normal-registration-modal').modal("show"); } }); }, "redirect_to_waitlist": function(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription, seats_reserved_orig) { app.modal.confirm_box({ title: app.get_vars()._app.modal.book_title, message: app.get_vars()._app.modal.msg.confirm_register_waitlist, buttons: { confirm: { label: app.get_vars()._app.btn._confirm, className: "btn-default-style" }, cancel: { label: app.get_vars()._app.btn._close, className: "btn-default-style2" } }, _continue: function() { // subscribe.check_closed_event(btn, event_id, event_schedule_id, reg_type, action, process_type, seat_feature, check_subscription, seats_reserved_orig); } }); } }, options: { "title": function(reg_type, action, process_type) { if (reg_type == 1 && action == "register") { return app.get_vars()._app.modal.title.register_title; } else if (reg_type == 2 && action == "register") { return app.get_vars()._app.modal.title.register_waitlist_title; } else if (reg_type == 1 && action == "modify") { return "Modifier ou annuler ma réservation"; } else if (reg_type == 2 && action == "modify") { return "MODIFIER VOTRE INSCRIPTION SUR LISTE D’ATTENTE"; } }, "validate_quota": function(reg_type, quota_seats, seats_reserved, remaining_seats) { var seats_available = 0; if (reg_type == 1) { //check if seats per subscriber caters the remaining seats if (quota_seats >= seats_reserved && remaining_seats > 0) { if (quota_seats == seats_reserved) { seats_available = 0; } else { seats_available = (quota_seats > seats_reserved) ? quota_seats - seats_reserved : quota_seats; seats_available = (remaining_seats >= seats_available) ? seats_available : remaining_seats; } } } else if (reg_type == 2) { //check if quota_waiting_list_seat caters the seats_reserved /* !note remaining seat here means as seat_per_subscriber */ var seats_per_subscriber = remaining_seats; if (seats_per_subscriber >= seats_reserved && seats_per_subscriber > 0 && quota_seats > 0) { if (seats_per_subscriber == seats_reserved) { seats_available = 0; } else { seats_available = (seats_per_subscriber > seats_reserved) ? seats_per_subscriber - seats_reserved : ( (seats_per_subscriber > quota_seats) ? quota_seats : seats_per_subscriber); seats_available = (quota_seats >= seats_available) ? seats_available : quota_seats; } } } return seats_available; }, "datesFR": function() { return { "Monday": { fr: "lundi" }, "Tuesday": { fr: "mardi" }, "Wednesday": { fr: "mercredi" }, "Thursday": { fr: "jeudi" }, "Friday": { fr: "vendredi" }, "Saturday": { fr: "samedi" }, "Sunday": { fr: "dimanche" }, "January": { fr: "janvier" }, "February": { fr: "février" }, "March": { fr: "mars" }, "April": { fr: "avril" }, "May": { fr: "mai" }, "June": { fr: "juin" }, "July": { fr: "juillet" }, "August": { fr: "août" }, "September": { fr: "septembre" }, "October": { fr: "octobre" }, "November": { fr: "novembre" }, "December": { fr: "décembre" } }; }, "use_diff_address": function(data) { //translator var translator = $('#event-box').translate({ lang: "fr", t: subscribe.registration.options.datesFR() }); if (data.reservation_end_date != null && data.reservation_end_date != "") { //display end reservation date var endresrvationdate = data.reservation_end_date; var monthendreservationdate = data.end_reservation_month; var startdate = data.start_date_time; var enddate = data.end_date_time; var startmonth = translator.get(data.event_start_month_name); var endmonth = translator.get(data.end_month); if (enddate == null) { $("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule_id).text()); } else { $('#event-date-modify').html(Helper.event_date(startdate, enddate, startmonth, endmonth)); } $("#event-end-reservation-date").show().html("Date limite de réservation :
" + Helper.start_date(endresrvationdate, startmonth.toLowerCase(), endmonth.toLowerCase())); $("#event-end-reservation-date").show().html(""); } else { $("#event-end-reservation-date").hide(); } //display address if there is if (parseInt(data.use_different_address_per_date) == 1) { var placename = data.event_place_name; if (placename == '') { $("#event-date-address").show().html("Adresse :
" + data.event_address + ", " + data.city); } else { $("#event-date-address").show().html("Adresse :
" + placename + ", " + data.event_address + ", " + data.city); } } else { var placename = data.event_place_name; if (placename == '') { $("#event-date-address").show().html("Adresse :
" + data.event_address + ", " + data.city); } else { $("#event-date-address").show().html("Adresse :
" + placename + ", " + data.event_address + ", " + data.city); } } }, "seats": function(reg_type, action, process_type, data) { //Places checkboxes var seats_available = 0; if (action == "register") { // Title $('#register-event-title').html(data.title); //Event Details $('#schedule_id').val(data.event_schedule_id); $("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule_id.toLowerCase()).text()); subscribe.registration.options.use_diff_address(data); if (reg_type == 1) { //regular registration var seats_per_subscriber = parseInt(data.seats_per_subscriber); var remaining_seats = parseInt(data.remaining_seat); //check if seats per subscriber caters the remaining seats seats_available = (seats_per_subscriber > remaining_seats) ? remaining_seats : seats_per_subscriber; } else if (reg_type == 2) { // waiting list registration var seats_per_subscriber = parseInt(data.seats_per_subscriber); var quota_waiting_list_seat = parseInt(data.quota_waiting_list_seat); seats_available = (seats_per_subscriber > quota_waiting_list_seat) ? quota_waiting_list_seat : seats_per_subscriber; } } else if (action == "modify") { var seats_reserved = parseInt(data.reservations.seats_reserved); if (reg_type == 1) { seats_available = subscribe.registration.options.validate_quota(reg_type, parseInt(data.event_schedule.seats_per_subscriber), parseInt(data.reservations.seats_reserved), parseInt(data.event_schedule.remaining_seat)); } else if (reg_type == 2) { //check if quota_waiting_list_seat caters the seats_reserved seats_available = subscribe.registration.options.validate_quota(reg_type, parseInt(data.event_schedule.quota_waiting_list_seat), parseInt(data.reservations.seats_reserved), parseInt(data.event_schedule.seats_per_subscriber)); } // Title $('#register-event-title').html(data.event_schedule.title); //Event Details $("#event-date-modify").text($("#accordion-heading-es" + data.event_schedule.event_schedule_id).text()); $('#schedule_id').val(data.event_schedule.event_schedule_id); subscribe.registration.options.use_diff_address(data.event_schedule); $("tr#seats_reserved_info").data("seats_reserved", seats_reserved).show(); $("span#seats_reserved_text").html(seats_reserved + ( (seats_reserved <= 1) ? ' place ' : ' places ')); } var numberofplaces = $('#numberofplaces'); numberofplaces.on("change", function() { $('#chkbox-error').hide(); }); for (var x = 1; x <= seats_available; x++) { numberofplaces.append(''); } }, "translate_date": { "getscheds": function(event_id) { sched = $.ajax({ url: app.get_vars().baseurl + "events/homepage/check_all_sched", type: "GET", async: false, data: { event_id: event_id }, success: function(result) { return result; } }); }, "sched_end": function(event_id) { sched = $.ajax({ url: app.get_vars().baseurl + "events/homepage/check_all_end_sched", type: "GET", async: false, data: { event_id: event_id }, success: function(result) { return result; } }); }, "init": function(event_schedule, event_box) { //translator var translator = $('#event-box').translate({ lang: "fr", t: subscribe.registration.options.datesFR() }); var date_in_french = "", event_start_hour = "", event_end_hour = "", event_end_day = ""; // check if 12am var patt = new RegExp("00h00"); if ((event_schedule.start_date_hour == "" || event_schedule.start_date_hour == null || patt.test(event_schedule.start_date_hour) == true) && (event_schedule.end_date_hour == "" || event_schedule.end_date_hour == null || patt.test(event_schedule.end_date_hour) == true)) { event_start_hour = ' '; } else if ((event_schedule.start_date_hour != "" || event_schedule.start_date_hour != null || patt.test(event_schedule.start_date_hour) == false) && (event_schedule.end_date_hour == "" || event_schedule.end_date_hour == null || patt.test(event_schedule.end_date_hour) == true)) { event_start_hour = " à " + ( (event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ? " " + event_schedule.start_date_hour : ' '); } else if ((event_schedule.start_date_hour == "" || event_schedule.start_date_hour == null || patt.test(event_schedule.start_date_hour) == true) && (event_schedule.end_date_hour != "" || event_schedule.end_date_hour != null || patt.test(event_schedule.end_date_hour) == false)) { event_end_hour = " à " + ( (event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ? event_schedule.end_date_hour : ' '); } else if ((event_schedule.start_date_hour != "" || event_schedule.start_date_hour != null || patt.test(event_schedule.start_date_hour) == false) && (event_schedule.end_date_hour != "" || event_schedule.end_date_hour != null || patt.test(event_schedule.end_date_hour) == false)) { if (event_schedule.start_date != event_schedule.end_date) { event_start_hour = " à " + ( (event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ? " " + event_schedule.start_date_hour : ' '); event_end_hour = " à " + ( (event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ? event_schedule.end_date_hour : ' '); } else { event_start_hour = " de " + ( (event_schedule.start_date_hour != null && event_schedule.start_date_hour != "") ? " " + event_schedule.start_date_hour : ' '); event_end_hour = " à " + ( (event_schedule.end_date_hour != null && event_schedule.end_date_hour != "") ? event_schedule.end_date_hour : ' '); } } var evdate_start = ''; var evdate_end = ''; if (event_schedule.end_day != "" && event_schedule.end_day != null && parseInt(event_schedule.end_day) != 0) { event_end_day = " au " + ( (event_schedule.end_day != null && event_schedule.end_day != "") ? event_schedule.end_day + " " : " ") + " "; } else { event_end_day = ' '; } if (event_schedule.start_date == event_schedule.end_date || parseInt(event_schedule.end_date) == 0) { // Le XX Septembre XXXX 8h00 jusq'au XX October XXXX 12h00 // Du 28 octobre au 29 octobre 2016 de 20h30 Ã 23h00 date_in_french += "Le " + translator.get(event_schedule.day) + " "; date_in_french += translator.get(event_schedule.start_day) + ' '; date_in_french += translator.get(event_schedule.event_start_month_name).toLowerCase() + ' ' + event_schedule.end_year + ' ' + event_start_hour + ' ' + event_end_hour; } else { // Le 28 Septembre 1995 de 8h00 a 12h00 // Du 28 octobre 2016 de 20h30 Ã 22h30 if (event_schedule.start_month == event_schedule.end_month) { date_in_french += " " + event_schedule.start_day + " " + event_end_day + " "; date_in_french += translator.get(event_schedule.end_month).toLowerCase(); date_in_french += " " + event_schedule.end_year; // ." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour; } else if (event_schedule.start_year != event_schedule.end_year && event_schedule.end_year == '') { date_in_french += "Le " + translator.get(event_schedule.day) + " "; date_in_french += event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase(); date_in_french += " " + event_schedule.start_year + " " + event_end_day; date_in_french += translator.get(event_schedule.end_month).toLowerCase(); date_in_french += " " + event_schedule.end_year; //." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour; date_in_french += " " + event_start_hour; } else if (event_schedule.end_year != null && event_schedule.start_year != event_schedule.end_year) { date_in_french += "Du " + translator.get(event_schedule.day) + " "; date_in_french += event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase(); date_in_french += " " + event_schedule.start_year; date_in_french += " " + event_start_hour; date_in_french += " au " + translator.get(event_schedule.endday) + " "; date_in_french += event_schedule.end_day + ' ' + translator.get(event_schedule.end_month).toLowerCase(); date_in_french += " " + event_schedule.end_year; //." de ".$event_schedule->start_date_hour." Ã ".$event_schedule->end_date_hour; date_in_french += " " + event_end_hour; } else { evdate_start = "Du " + translator.get(event_schedule.day) + ' ' + event_schedule.start_day + ' ' + translator.get(event_schedule.event_start_month_name).toLowerCase(); evdate_end = "au " + translator.get(event_schedule.endday) + ' ' + event_schedule.end_day + ' ' + translator.get(event_schedule.end_month).toLowerCase() + ' ' + event_schedule.end_year; if (evdate_start != '' && evdate_end != '') { date_in_french = evdate_start + ' ' + ( event_start_hour != '' ? event_start_hour : '') + ' ' + ( evdate_end != '' ? evdate_end : '') + ' ' + event_end_hour; } else { date_in_french += ( (event_start_hour != null && event_start_hour != "") ? event_start_hour : " ") + " " + ( (event_end_hour != null && event_end_hour != "") ? event_end_hour : " "); } } } return date_in_french; }, french: function(date) { var eng = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', '/' ]; var fr = [ 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre', ' ' ]; return (date != null && date != "") ? date.replace(eng, fr) + " " : " "; } }, "create_list": { "check_uncheck": function(e, event_schedule_id, index) { var checked = $("#invitee" + event_schedule_id + '-' + index); if (checked.prop("checked")) { //unchecked if (index == 1) { $(".invitee" + event_schedule_id).prop("checked", false); } else { $("#invitee" + event_schedule_id + '-' + 1).prop("checked", false); checked.prop("checked", false); } //when nothing is clicked if ($(".invitee" + event_schedule_id + ":checked").length <= 0) { $("#cancel-event-message").html("Vérifiez le nombre de places que vous souhaitez annuler.

"); } } else { //checked $("#cancel-event-ermsg").remove(); if (index == 1) { $(".invitee" + event_schedule_id).prop("checked", true); } else { $("#invitee" + event_schedule_id + '-' + 1).prop("checked", false); checked.prop("checked", true); } } }, "seats_reserved": function(reservation) { if (reservation.seats_reserved > 0) { var labelText = (parseInt(reservation.reg_type) == 1) ? "Ma réservation complète" : "Mon inscription complète", html = ""; for (var x = 1; x <= reservation.seats_reserved; x++) { if (x > 1) { labelText = (parseInt(reservation.reg_type) == 1) ? "La réservation de mon invité " + ( x - 1) : "L’inscription de mon invité " + ( x - 1); } html += '
  • ' + '' + '' + '
  • '; } return html; } } }, "refresh_buttons": function(result) { var shown_dates = []; $.each($("#event-desc").find("a.accordion-toggle"), function(index, value) { var _this = $(this); if (!_this.hasClass("collapsed")) { shown_dates.push(_this.parent().parent().prop("id")); } }); localStorage.setItem("collapsed-dates", JSON.stringify(shown_dates)); localStorage.setItem("result", JSON.stringify(result)); window.setTimeout(function() { location.reload(); }, 250); // location.reload(); } }, }, "print_email_preview": function() { $("div#preview_email_content > div").contents().find('table.body>tbody>tr>td>div').printThis({ // $("iframe#preview_email_content").contents().find('table.body>tbody>tr>td>div').printThis({ importCSS: false, importStyle: true, copyTagClasses: true, printContainer: false }); }, "download_email_preview": function() { $("div#preview_email_content > div").contents().find('head').append(''); var element = $(document.querySelector("div#preview_email_content > div")).contents().find('table.body>tbody>tr>td>div')[0]; // $("iframe#preview_email_content").contents().find('head').append(''); // var element = $(document.querySelector("iframe#preview_email_content")).contents().find('table.body>tbody>tr>td>div')[0]; // html2canvas(element,{ logging: true, letterRendering: 1, allowTaint: false, useCORS: true }).then(canvas => { html2canvas(element,{ logging: true, letterRendering: 1, allowTaint: false, useCORS: true, windowWidth: 2560 }).then(canvas => { var imgData = canvas.toDataURL('image/jpeg'); var doc = new jsPDF('p', 'mm'); var imgWidth = 200 ; var imgHeight = (imgWidth / canvas.width) * canvas.height; doc.addImage(imgData, 'PNG', 5,5, imgWidth, imgHeight); // doc.addImage(imgData,'JPEG', 5, 5, 200, 200); doc.save('Download.pdf'); }) // only jpeg is supported by jsPDF // var imgData = canvas.toDataURL("image/jpeg", 1.0); // var pdf = new jsPDF(); // pdf.addImage(imgData, 'JPEG', 0, 0); // pdf.save("download.pdf"); // }) }, "view_email_tpl": function( email_type_id, event_id, event_schedule_id, event_title, event_wday, event_start_day, event_month, start_date_hour, seats_reserved, event_place_name, event_address, event_postal_code, event_city ) { email_type_text = (email_type_id == 3) ? "Confirmation de réservation" : "Confirmation d'inscription sur liste d'attente"; $.ajax({ "url": app.get_vars().baseurl + "get_default_template_by_email_type_id/" + email_type_id, "type": "POST", "dataType": "json", "success": function(result) { if (app.isalive(result)) { if (result.mtype == "success") { //set content in a dialog $("#mresModal").modal("show"); $("#mresModal").find('.modal-title').html(email_type_text); $('#mresModal').on('shown.bs.modal', function() { // replace email Variables full_name = $('span.name').html(); var previewcontent = result.mdata.email_tpl_detail; previewcontent = previewcontent.replace("[[var:subscriber]]", full_name ? full_name.trim() : ''); previewcontent = previewcontent.replace(/\[\[var:event_title\]\]/g, event_title ? stripslashes(event_title.trim()) : ''); previewcontent = previewcontent.replace("[[var:event_start_day_name]]", event_wday ? event_wday : ''); previewcontent = previewcontent.replace("[[var:event_start_day]]", event_start_day ? event_start_day : ''); /* Capitalize month */ let m = event_month.charAt(0).toLowerCase() + event_month.slice(1); previewcontent = previewcontent.replace("[[var:event_start_month_name]]", m); previewcontent = previewcontent.replace(", à [[var:event_start_hour]]", start_date_hour ? `, à ${start_date_hour}` : ''); previewcontent = previewcontent.replace("[[var:seats_reserved]]", seats_reserved > 1 ? seats_reserved + ' places' : seats_reserved + ' place'); previewcontent = previewcontent.replace("[[var:event_place_name]]", event_place_name ? event_place_name : ''); previewcontent = previewcontent.replace("[[var:event_address]]", event_address ? event_address : ''); previewcontent = previewcontent.replace(", [[var:event_postal_code]]", event_postal_code ? `, ${event_postal_code}` : ','); previewcontent = previewcontent.replace("[[var:city]]", event_city ? event_city : ''); /* Create the link to email preview */ let email_link; if (email_type_id == 3) { email_link = 'e/prevfoer/' + `${email_type_id}/${event_id}/${event_schedule_id}/${seats_reserved}`; } else { email_link = 'e/prevforwl/' + `${email_type_id}/${event_id}/${event_schedule_id}/${seats_reserved}`; } previewcontent = previewcontent.replace("%5B%5Bvar%3Aevent_url%5D%5D", `event_details?event_id=${event_id}`); previewcontent = previewcontent.replace("%5B%5Bvar%3Anew_tab_url%5D%5D", `${email_link}`); $("div#preview_email_content > div").html(previewcontent); $(this).off('shown.bs.modal'); }); } } } }); }, "button": { "prevent_reload": function() { // console.log('prevent reload executed...'); return "Still processing..."; }, "exitp": { agent_closing: function(data) { //basically, browser closing // console.log('agent closing executed....pr => ' + process_request); var onBeforeUnLoadEvent = false; window.onunload = window.onbeforeunload = function() { if (!onBeforeUnLoadEvent) { onBeforeUnLoadEvent = true; //your code here subscribe.button.lock_unlock({ data: data, async: false, success: function() { // console.log('closing user agent instance...'); } }); } //end of if }; }, init: function(event_id, process_type, process_id) { // console.log('init executed....pr => ' + process_request); if (typeof process_id != "undefined") { cached_process_id = process_id; } $.ajax({ async: true, type: "POST", url: app.get_vars().baseurl + 'events/subscribe/exitp', data: { event_id: event_id, process_type: process_type, process_id: process_id }, error: function() { // console.log('Close notification error'); }, success: function(data) { if (data) subscribe.button.exitp.start(event_id, process_type, process_id); else clearTimeout(process_request); } }); }, start: function(event_id, process_type, process_id) { // console.log('start executed...pr => ' + process_request); clearTimeout(process_request); // check time every after 1mins process_request = setTimeout(function() { subscribe.button.exitp.init(event_id, process_type, process_id); }, 1 * 60 * 1000); }, clear: function() { // clears the unload and onbeforeunload event // resolves Dev # 15880 issue regarding prevent page load because data will not be saved window.onunload = window.onbeforeunload = null; window.clearTimeout(process_request); // console.log('clear executed....pr => ' + process_request); } }, "not_allowed_to_book": function() { app._notify("warning", "Les réservations pour cet événement sont limitées à une seule date par abonné. Si vous souhaitez changer de date de réservation, vous devez annuler votre réservation en cours puis effectuer une nouvelle réservation sur la date désirée.") }, "register_or_modify": function(e, reg_type, action, process_type, seat_feature, check_subscription) { var btn_action = (parseInt(action) == 1) ? "register" : ( (parseInt(action) == 2) ? "modify" : "cancel"); var _this = $(e.target), button_page = _this.data('page'); event_id = _this.data('event-id'); event_schedule_id = _this.data('event-schedule-id'); _this.html('' + _this.text()).prop("disabled", true); //action def : 1=register, 2=modify subscribe.registration.add_or_modify.reservation(e.target, event_id, event_schedule_id, reg_type, btn_action, process_type, seat_feature, check_subscription); }, "cancel_reservation": function(e, event_id, event_schedule_id, reg_type) { var _this = $(e.target), button_page = _this.data('page'); _this.html('' + _this.text()).prop("disabled", true); //reg_type = 3 means cancellaltion subscribe.registration.cancel.event(e.target, event_id, event_schedule_id, reg_type, ( parseInt(reg_type) == 1 ? 2 : 4), "cancel", parseInt(_this.data("seat-feature"))); }, "lock_unlock": function(options) { var opt = { url: app.get_vars().baseurl + "events/subscribe/revalidate", type: "POST", data: {}, success: function(result) { // console.log(result); } }; if (typeof options != "undefined" && options != null) { if (typeof options.data.process_id != "undefined") { cached_process_id = options.data.process_id; } $.extend(true, opt, options); } $.ajax(opt); }, "redirect": function(event_id) { $.ajax({ url: app.get_vars().baseurl + "events/subscribe/save_link_to_cookie", type: "POST", data: { event_id: event_id }, success: function(result) { app._notify("error", "Vous n'êtes pas connecté"); window.setTimeout(function() { window.location.href = app.get_vars().baseurl + "login" }, 1000); } }).fail(function(jqXHR, textStatus, errorThrown) { // console.log("Got some error: " + errorThrown); app._notify("error", "Vous n'êtes pas connecté"); window.setTimeout(function() { window.location.href = app.get_vars().baseurl + "login" }, 1000); }); }, "setButtonStatus": function(id, page, target, res_type, eventDetails) { var event_box = ''; switch (res_type) { case 1: event_box = 'event-box-mresh'; break; case 2: event_box = 'event-box-mwait'; break; default: event_box = 'event-box-'; } // if(app.isalive(eventDetails)) { var displayCancelButton = 0, event_sched = "", disbledbtns = { "bos1": app.get_vars()._app.btn.coming_soon, "bos3": app.get_vars()._app.btn._full, "bos4": app.get_vars()._app.btn._closed, "bos7": app.get_vars()._app.btn._terminee, "bos8": app.get_vars()._app.btn._cancelled }, seat_feature = 1, is_multiple_reservation = 0, is_multiple_waitlist_reservation = 0; $.map(eventDetails.event_status, function(value, key) { $('.tooltip').remove(); $('.arrow').remove(); $('.tooltip-inner').remove(); if (page == 2) { //event detailed page var event_sched_date = $("#accordion-heading-es" + value.event_schedule_id); var event_sched_btn = $("#event_schedule_id" + value.event_schedule_id); $("#res-date-" + value.event_schedule_id).remove(); //remove texts } else { // Home page $('.tooltip').remove(); $('.arrow').remove(); $('.tooltip-inner').remove(); var event_sched_btn = target; //set date $("#hp-event-date" + value.event_schedule_id).text(subscribe.registration.options.translate_date.init(value, event_box)); //get city var eventtype_and_city = $("#hp-event-type-city" + value.event_schedule_id); if (value.date_feature == '2') { eventtype_and_city.html("
    " + eventtype_and_city.html() + " " + ( (value.event_venue != null && value.event_venue != "") ? " - " + value.event_venue.toUpperCase() + "
    " : "")); } else { eventtype_and_city.html("
    " + eventtype_and_city.html() + " " + ( (value.event_venue != null && value.event_venue != "") ? " - " + value.event_venue.toUpperCase() + "
    " : "")); } $('#event' + value.event_schedule_id).mouseover(function() { $('.tooltip').remove(); $('.arrow').remove(); $('.tooltip-inner').remove(); $('#event' + value.event_schedule_id).tooltip('show'); }); $('#event' + value.event_schedule_id).mouseleave(function() { $('#event' + value.event_schedule_id).not('.in'); $('#event' + value.event_schedule_id).tooltip('hide'); $('#event' + value.event_schedule_id).tooltip('dispose'); $('.tooltip').remove(); $('.arrow').remove(); $('.tooltip-inner').remove(); }); } var booking_type = parseInt(value.booking_type), back_office_status = parseInt(value.back_office_status); displayCancelButton += booking_type; seat_feature = value.seat_feature; is_multiple_reservation = value.is_multiple_reservation; is_multiple_waitlist_reservation = value.is_multiple_waitlist_reservation; var can_still_book = 0, showCancelBtn = 1, cancelBtnWithModify = "Date limite d'annulation de la réservation", // cancelBtnWithModify = ""; fav; if (res_type !== 1) { //remove event from the list once it is deleted in the backoffice if (parseInt(value.status) == 0 || (back_office_status == 6 || back_office_status == 0)) { if (page == 2) $("#accordion-group-es" + value.event_schedule_id).remove(); } else if ((typeof disbledbtns["bos" + back_office_status] != "undefined" && disbledbtns["bos" + back_office_status] != "") && parseInt(value.book_waiting_list) == 0) { if (page == 2 && value.is_user_active) { //event detailed page if (booking_type == 2) { cancelBtnWithModify = "Date limite d'annulation d'inscription sur liste d'attente"; // cancelBtnWithModify = ""; } if (value.is_favorite == '1') { var fav = ' '; } var btnTextt = ''; if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnTextt = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } //event sched is 1= Published, 3=Lokced/Complete, 7=Terminee, 4 = Closed/Passed event_sched_btn.replaceWith($("")); } else { // HP if (page == 1 && value.is_user_active) { /* check if there are reservations */ var btnText = disbledbtns["bos" + back_office_status], disabled = "disabled", href = "javascript:;", btnClass = ""; btnClass = 'modify-reservation disabled', btnSubText = ""; if (value.is_favorite == '1') { var fav = ' '; } //Cancel & Locked - Homepage Button if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts var cur_date = new Date(); var start_date_time = (value.start_date_hour) ? value.start_date_hour.split("h") : ''; var end_date_time = (value.end_date_hour) ? value.end_date_hour.split("h") : ''; var start_date_time_h = '', start_date_time_m = '', end_date_time_h = '', end_date_time_m = ''; if (start_date_time) { start_date_time_h = start_date_time[0]; start_date_time_m = start_date_time[1]; } if (end_date_time) { end_date_time_h = end_date_time[0]; end_date_time_m = end_date_time[1]; } var start_date = new Date(value.start_year + ', ' + value.start_month + ', ' + value.start_day + ', ' + start_date_time_h + ', ' + start_date_time_m); var end_date = new Date(value.end_year + ', ' + value.end_month + ', ' + value.end_day + ', ' + end_date_time_h + ', ' + end_date_time_m); // console.log(new Date(end_date)); if (!end_date) { if (cur_date > end_date) { btnText = app.get_vars()._app.btn._closed; cancelledClass = ''; } else { btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } } else { if (cur_date > start_date) { btnText = app.get_vars()._app.btn._closed; cancelledClass = ''; } else { btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } } } else { cancelledClass = ' '; } if (booking_type > 0 && back_office_status < 4) { if (booking_type == 1) { if (value.is_favorite == '1') { var fav = ' btn-favorite'; } btnClass = 'modify-reservation'; btnText = "Modifier ou annuler ma réservation", disabled = " "; btnSubText = ( (back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite de modification de la réservation :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" ); } else { if (value.is_favorite == '1') { var fav = ' btn-favorite'; } btnClass = ' modify-waitlistreservation'; btnText = "Modifier ou annuler mon inscription sur liste d'attente", disabled = " "; btnSubText = ( (back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite de modification de l'inscription sur liste d'attente :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (back_office_status != 1 && typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" ); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } href = app.get_vars().baseurl + "event_details?event_id=" + value.event_id; } if(back_office_status=='7'){ btnSubText = "
    "; } event_sched_btn.append("" + btnText + "" + btnSubText); } else { //Cancel & Locked - Homepage Button if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts var cur_date = new Date(); var start_date_time = (value.start_date_hour) ? value.start_date_hour.split("h") : ''; var end_date_time = (value.end_date_hour) ? value.end_date_hour.split("h") : ''; var start_date_time_h = '', start_date_time_m = '', end_date_time_h = '', end_date_time_m = ''; if (start_date_time) { start_date_time_h = start_date_time[0]; start_date_time_m = start_date_time[1]; } if (end_date_time) { end_date_time_h = end_date_time[0]; end_date_time_m = end_date_time[1]; } var start_date = new Date(value.start_year + ', ' + value.start_month + ', ' + value.start_day + ', ' + start_date_time_h + ', ' + start_date_time_m); var end_date = new Date(value.end_year + ', ' + value.end_month + ', ' + value.end_day + ', ' + end_date_time_h + ', ' + end_date_time_m); // console.log(new Date(end_date)); if (!end_date) { if (cur_date > end_date) { btnText = app.get_vars()._app.btn._closed; cancelledClass = 'disabled'; } else { btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } } else { if (cur_date > start_date) { btnText = app.get_vars()._app.btn._closed; cancelledClass = 'disabled'; } else { btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } } } else { btnText = disbledbtns["bos" + back_office_status]; cancelledClass = 'disabled'; } event_sched_btn.append("" + btnText + ""); } } //user can reserve if there is/are still places available } else if ((back_office_status == 2 && parseInt(value.book_waiting_list) == 0 && parseInt(value.remaining_seat) > 0) || booking_type == 1) { showCancelBtn = (value.is_user_active) ? subscribe.button.show_cancel_btn_or_not(booking_type, value.event_status, value.remaining_seat) : 1; var disableBtn = "", btnText = app.get_vars()._app.btn._book, btnType = "", onClick = "", btnClass = ""; if (booking_type == 1 && value.is_user_active) { //subscriber is registered can_still_book = subscribe.registration.options.validate_quota(booking_type, parseInt(value.seats_per_subscriber), parseInt(value.seats_reserved), parseInt(value.remaining_seat)); if (can_still_book > 0 && value.event_status != 'FULL') { if (value.is_favorite == '1') { var fav = ' btn-favorite'; } var btnclosed = ' '; disableBtn = ""; btnText = "Modifier ou annuler ma réservation"; btnType = "reg-modify"; onClick = "onclick='subscribe.button.register_or_modify(event, 1, 2, 6, " + value.seat_feature + ", " + showCancelBtn + ");'"; cancelBtnWithModify = "Date limite de modification de la réservation"; // cancelBtnWithModify = ""; } else { if (value.is_favorite == '1') { var fav = ' '; } var btnclosed = 'btnclosed '; disableBtn = "disabled"; btnText = (typeof disbledbtns["bos" + back_office_status] != "undefined") ? disbledbtns["bos" + back_office_status] : "RÉSERVÉ"; btnType = "disabled"; cancelBtnWithModify = "Date limite d'annulation de la réservation "; // cancelBtnWithModify = ""; } var style; if (btnType == 'reg-book') { style = 'style="letter-spacing:4px;"'; } else { style = ''; } if (page == 2) { //event detailed page event_sched_btn.replaceWith($("").prop("disabled", ( (disableBtn != "") ? true : false))); } else { //HP if (value.is_favorite == '1') { var fav = ' btn-favorite'; } if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; var hreflink='' } else { btnText = 'Modifier ou annuler ma réservation'; cancelledClass = ''; // cancelledClass = 'disabled'; hreflink= "href=' "+app.get_vars().baseurl + "event_details?event_id=" + value.event_id+" ' "; } cancelBtnWithModify = "Date limite de modification de la réservation"; // cancelBtnWithModify = ""; event_sched_btn.append("" + btnText + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )) if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).html(""); //remove texts } } } else { if (value.is_user_active) { /* This code fragment is used to determine whether a subscriber can book for more than 1 per event or not */ onClick = "onclick='subscribe.button.register_or_modify(event, 1, 1, 1, " + value.seat_feature + ", " + showCancelBtn + ");'"; if (!eventDetails.allowed_to_book) { onClick = "onclick='subscribe.button.not_allowed_to_book();'"; btnClass = "btn-disabled"; } else { disableBtn = ""; if (value.is_favorite == '1') { var fav = ' btn-favorite'; } } /* END of code fragment */ if (page == 2) { //event detailed page if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; disableBtn = 'disabled'; } else { cancelledClass = ''; // cancelledClass = 'disabled'; } event_sched_btn.replaceWith($("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite de réservation :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )).prop("disabled", ( (disableBtn != "") ? true : false))); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { //on HP if (booking_type > 0) { cancelBtnWithModify = "Date limite de modification de la réservation"; // cancelBtnWithModify = ""; } else { cancelBtnWithModify = "Date limite de réservation"; // cancelBtnWithModify = ""; } if (booking_type == 1) { btnClass = 'modify-reservation'; btnText = "Modifier ou annuler ma réservation"; if (value.is_favorite == '1') { var fav = ' btn-favorite'; } else { fav = ' '; } } else if (booking_type == 2) { if (value.is_favorite == '1') { var fav = ' btn-favorite'; } else { fav = ' '; } btnClass = ' modify-waitlistreservation'; btnText = "Modifier ou annuler mon inscription sur liste d'attente"; } if ( (value.event_status == 'CANCEL' && value.back_office_status != 4) || (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1) ) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; disableBtn = 'disabled="disabled"'; btnClass = ''; var hreflink = '' } else { cancelledClass = ""; hreflink = ' href = " ' + app.get_vars().baseurl + "event_details?event_id=" + value.event_id + ' " '; } event_sched_btn.append("" + btnText + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } else { //when user not active redirect to login page if (value.is_favorite == '1') { var buttonText; var cancelledClass; if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts buttonText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; var disabledbtn = 'disabled'; } else { buttonText = app.get_vars()._app.btn._book; } event_sched_btn.append("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite de réservation :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { var buttonText; var cancelledClass; if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts buttonText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; var buttonType = 'disabled="disabled"'; } else { buttonType = ''; buttonText = app.get_vars()._app.btn._book; } event_sched_btn.append("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite de réservation :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )) + ""; if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } } //when event is locked yet,.. } else if (back_office_status == 3 || parseInt(value.book_waiting_list) > 0 || booking_type == 2) { var disableBtn = "", btnText = app.get_vars()._app.btn._bookwaitlist, btnType = "", onClick = "", btnClass = ""; if (booking_type == 2 && value.is_user_active) { //subscriber is booked in the waiting list can_still_book = subscribe.registration.options.validate_quota(booking_type, parseInt(value.quota_waiting_list_seat), parseInt(value.seats_reserved), parseInt(value.seats_per_subscriber)); cancelBtnWithModify = "Date limite de modification de la réservation"; // cancelBtnWithModify = ""; if (can_still_book > 0) { btnClass = ' modify-waitlistreservation '; disableBtn = ""; btnText = "Modifier ou annuler mon inscription sur liste d'attente"; btnType = "wl-modify"; onClick = "onclick='subscribe.button.register_or_modify(event, 2, 2, 7, " + value.seat_feature + ", " + showCancelBtn + ");'"; cancelBtnWithModify = "Date limite de modification de l'inscription sur liste d'attente"; // cancelBtnWithModify = ""; if (value.is_favorite == '1') { var fav = ' btn-favorite'; } } else { btnClass = 'modify-reservation'; disableBtn = "disabled"; btnText = (typeof disbledbtns["bos" + back_office_status] != "undefined") ? disbledbtns["bos" + back_office_status] : "INSCRIT SUR LISTE D'ATTENTE"; btnType = "disabled"; cancelBtnWithModify = "Date limite d'annulation d'inscription sur liste d'attente"; // cancelBtnWithModify = ""; if (value.is_favorite == '1') { var fav = ' '; } } if (page == 2) { //event detailed page event_sched_btn.replaceWith($("").prop("disabled", ( (disableBtn != "") ? true : false))); } else { //event home page if (value.is_favorite == '1') { var fav = ' btn-favorite'; } if (value.event_status == 'CANCEL') { $("#res-date-" + value.event_schedule_id).remove(); //remove texts buttonText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled modify-reservation'; buttonType = 'disabled="disabled"'; } else { buttonText = "Modifier ou annuler mon inscription sur liste d'attente"; cancelledClass = 'modify-waitlistreservation'; buttonType = 'disabled="disabled"'; } cancelBtnWithModify = "Date limite de modification de l'inscription sur liste d'attente"; // cancelBtnWithModify = ""; event_sched_btn.append("" + buttonText + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL') { $("#res-date-"+ value.event_schedule_id).html(''); //remove texts } } } else { if (value.is_user_active) { //if user is active /* This code fragment is used to determine whether a subscriber can book for more than 1 per event or not */ onClick = "onclick='subscribe.button.register_or_modify(event, 2, 1, 3, " + value.seat_feature + ", " + showCancelBtn + ");'"; if (!eventDetails.allowed_to_book_for_wl) { onClick = "onclick='subscribe.button.not_allowed_to_book();'"; btnClass = "btn-disabled modify-reservation btn-reg-waitlist_detailsp"; if (value.is_favorite == '1') { var fav = ' '; } } else { disableBtn = ""; if (page == 1) { btnClass = 'btn-reg-waitlist'; } else { btnClass = 'btn-reg-waitlist_detailsp modify-reservation'; } // btnClass = 'modify-reservation'; if (value.is_favorite == '1') { var fav = ' btn-favorite'; } } /* END of code fragment */ if (page == 2) { //event detailed page //event is locked but there are still places available for waitiling list event_sched_btn.replaceWith($("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite d'inscription sur liste d'attente :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )).addClass('').prop("disabled", ( (disableBtn != "") ? true : false))); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { //event home page if (booking_type > 0) { cancelBtnWithModify = "Date limite de modification de la réservation"; // cancelBtnWithModify = ""; } else { cancelBtnWithModify = "Date limite d'inscription sur liste d'attente"; // cancelBtnWithModify = ""; } if (booking_type == 1) { btnClass = 'modify-reservation'; btnText = "Modifier ou annuler ma réservation"; } else if (booking_type == 2) { btnClass = ' modify-waitlistreservation'; btnText = "Modifier ou annuler mon inscription sur liste d'attente"; } if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; } else { cancelledClass = ''; // cancelledClass = 'disabled'; } // btnClass = 'modify-reservation'; event_sched_btn.append(" " + btnText + " " + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } else { //when user not active redirect to login page if (value.is_favorite == '1') { event_sched_btn.append(" " + app.get_vars()._app.btn._bookwaitlist + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite d'inscription sur liste d'attente :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { event_sched_btn.append(" " + app.get_vars()._app.btn._bookwaitlist + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    Date limite d'inscription sur liste d'attente :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } } } else { if ((value.event_status == 'CANCEL' && value.back_office_status != 4) && (value.event_status == 'CANCEL' && value.date_feature == 2 && page != 1)) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; // btnClass = 'modify-reservation'; event_sched_btn.replaceWith($("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" ))); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else if (value.event_status == 'CANCEL' && value.back_office_status == 4 && value.date_feature == 2) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; // btnClass = 'modify-reservation'; event_sched_btn.append(" " + btnText + "" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" )); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { $("#res-date-" + value.event_schedule_id).remove(); //remove texts btnText = app.get_vars()._app.btn._cancelled; cancelledClass = 'cancelled_event disabled'; // btnClass = 'modify-reservation'; event_sched_btn.append($("" + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "
    " + cancelBtnWithModify + " :
    " + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + "
    " : "" (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? "" : "" ))); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } if (page == 1 && back_office_status == 1) { if (typeof value.reservation_start_date != "undefined" && value.reservation_start_date != null && value.reservation_start_date != "") { event_sched_btn.append("
    Ouverture des réservations :
    " + Helper.start_date(value.reservation_start_date, value.reservation_start_month) + "
    "); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } else { event_sched_btn.append("
    Ouverture des réservations :
    " + Helper.start_date(value.reservation_start_date, value.end_reservation_month) + "
    "); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } if (page == 2 && value.is_user_active && back_office_status > 1) { var btnClass = ""; //display cancel button if there is/are reservation $("#event_cancel_registration" + value.event_schedule_id).remove(); /* Cancel button will be hidden once a seat is available for reservation */ if (subscribe.button.show_cancel_btn_or_not(booking_type, value.event_status, value.remaining_seat) == 1) { if (booking_type == 1) { btnClass = 'btn-cancel-registration'; } else { btnClass = 'btn-cancel-wl-registration'; } $('' + ( (typeof value.reservation_end_date != "undefined" && value.reservation_end_date != null && value.reservation_end_date != "") ? '
    ' + cancelBtnWithModify + ' :
    ' + Helper.start_date(value.reservation_end_date, value.end_reservation_month) + '
    ' : '')).insertAfter($("#event_schedule_id" + value.event_schedule_id)); if (value.event_status == 'CANCEL' && value.back_office_status != 4) { $("#res-date-" + value.event_schedule_id).remove(); //remove texts } } } } var translatorr = $('#' + event_box).translate({ lang: "fr", t: subscribe.registration.options.datesFR() }); var reserved_w = translatorr.get(value.date_reserved_w), reserved_d = translatorr.get(value.date_reserved_d), reserved_m = translatorr.get(value.date_reserved_m), reserved_y = translatorr.get(value.date_reserved_y), reserved_time = translatorr.get(value.date_reserved_time), event_title = addslashes(value.title), event_place_name = addslashes(value.event_place_name), event_address = addslashes(value.event_address), event_city = addslashes(value.city), event_wday = translatorr.get(value.day), event_month = translatorr.get(value.event_start_month_name), email_type = "", myreservation_text, emailmyreservation_text; myreservation_text = (value.booking_type == 1) ? "Réservation effectuée le" : "Inscription sur liste d'attente effectuée le"; emailmyreservation_text = (value.booking_type == 1) ? "Ma confirmation de réservation" : "Ma confirmation de réservation sur liste d'attente"; email_type = (value.booking_type == 1) ? "Email de confirmation" : "Email de liste d'attente"; email_type_id = (value.booking_type == 1) ? 3 : 6; email_card_data = `
  • ${emailmyreservation_text}

  • `; res_confirmee = `
  • ${myreservation_text} ${reserved_w} ${reserved_d} ${reserved_m} ${reserved_y}, à ${reserved_time}

  • `; event_date = `
  • Événement programmé ${subscribe.registration.options.translate_date.init(value, event_box)}
  • `; mod = `
  • Événement très demandé
  • `; not_mod = `
  • Nombre de place(s) : ${value.seats_reserved}
  • `; mod_text =""; extra_text = ""; if (res_type === 1) { email_card_data = ''; res_confirmee = ''; event_date = ''; extra_text = '
  • '; } /* Indicate that the event schedule is moderated if mod_stat is true */ let card_data = ''; if (value.mod_stat == 1) { mod_text = '
  • Événement très demandé
  • '; } else { mod_text = ''; } card_data += `
      ${mod_text} ${email_card_data} ${res_confirmee} ${not_mod} ${extra_text}
    `; $(`[data-eventsched-id="${value.event_schedule_id}"][data-event-id="${value.event_id}"][data-restype-id="${res_type}"] .card-footer`).append(card_data); }); }, show_cancel_btn_or_not: function(booking_type, event_status, remaining_seat) { remaining_seat = (remaining_seat != "" && remaining_seat != null) ? parseInt(remaining_seat) : 0; if (booking_type == 1) { //normal registration return 1; } else if (booking_type == 2) { //waitinglist registration if (event_status == 'AVAILABLE' && remaining_seat > 0) { //the subscriber is currently registered for waitinglist then suddenly seats are open for reservation return 2; } else { return 1; } } return 0; }, "return_action": function(pathname) { if (pathname.indexOf("event_details") != -1) { // $('#return_action').html(' âMGA¹ Retour à tous les événements '); // $('.backto_home').html(' ‹ Retour à tous les événements '); } }, "home_return_action": function() { var event_id = $('#event-details-box').data('event-id'); $.ajax({ url: app.get_vars().baseurl + "events/subscribe/return_action", type: "POST", data: { event_id: event_id }, success: function(result) { if (app.isalive(result)) { location.href = app.get_vars().baseurl + "home/#" + result.mdata.page_number; } } }); }, "page_visit_tracking": function() { $.ajax({ url: app.get_vars().baseurl + "events/subscribe/page_visit", type: "POST", data: { event_id: $('#event-details-box').data('event-id') }, success: function(result) {} }); } }, } // Pass in jQuery. })(jQuery, this); $(document).ready(function() { // Open All Accordion Panel $('.accordion-body:not(".in")').collapse('show'); $('.accordion-heading').click(function() { if (!$(this).next().hasClass('in')) { $(this).collapse("hide"); } $(this).next().collapse('toggle'); }); // Buttons - On Page Load subscribe.button.return_action(window.location.pathname); // subscribe.button.page_visit_tracking(); $(document).on('click', '.view-email-tpl', function(event) { event.preventDefault(); /* Act on the event */ subscribe.view_email_tpl( this.dataset.emailTypeId, this.dataset.eventId, this.dataset.eventScheduleId, this.dataset.eventTitle, this.dataset.eventWday, this.dataset.eventStartDay, this.dataset.eventMonth, this.dataset.eventStartDateHour, this.dataset.eventSeatsReserved, this.dataset.eventPlaceName, this.dataset.eventAddress, this.dataset.eventPostalCode, this.dataset.eventCity, ); }); $(document).on('click', '.print-email-preview', function(event) { event.preventDefault(); /* Act on the event */ subscribe.print_email_preview(); }); $(document).on('click', '.download-email-preview', function(event) { event.preventDefault(); /* Act on the event */ subscribe.download_email_preview(); }); });