Sono stati aggiunti numerosi nuovi file JavaScript, CSS, SVG e PNG per migliorare la grafica, la responsività e le funzionalità delle pagine di aste, login, notifiche e player video. Introdotte nuove librerie (OneSignal, Bootstrap, Font Awesome, Vue.js, Slick Carousel, ProgressBar.js, CryptoJS, mCustomScrollbar, Switchery) e script per la gestione di notifiche push, tracciamento eventi (Facebook Pixel, TikTok Pixel, Google Ads, Smartech), pagamenti Ingenico, modali, banner promozionali, preferiti, auto-puntate, e gestione utente inattivo. Ampliata la logica del player embedded YouTube con nuovi hook, logging avanzato, gestione ciclo di vita, storage e challenge di attestation. Aggiunti nuovi stili CSS per layout responsive, componenti UI, modali, badge, bottoni, progress bar, e ottimizzazioni mobile. Integrate nuove immagini e icone per arricchire l’interfaccia grafica. Non sono state apportate modifiche al file `www-player.css` e ad altri file specificati. Queste modifiche migliorano la sicurezza, la tracciabilità, l’esperienza utente e la flessibilità dell’applicazione.
73 lines
2.7 KiB
Plaintext
73 lines
2.7 KiB
Plaintext
function Ingenico(){
|
|
"use strict"
|
|
var self = this;
|
|
self.ENDPOINT = {
|
|
manage_card: "/manage_cards.php"
|
|
};
|
|
self.selectors = {
|
|
forms: $(".ingenico_form"),
|
|
direct_pay: $(".ingenico_direct_pay"),
|
|
pick_card: $(".ingenico_pick_card"),
|
|
card: {
|
|
brand: $(".ingenico_direct_pay .card-brand"),
|
|
number: $(".ingenico_direct_pay .card-number"),
|
|
expire: $(".ingenico_direct_pay .card-expire"),
|
|
holder: $(".ingenico_direct_pay .card-holder")
|
|
}
|
|
}
|
|
self.http = new HttpRequest();
|
|
self.lockButtonFromInterceptor();
|
|
}
|
|
|
|
Ingenico.prototype.showManageCards = function(){
|
|
"use strict"
|
|
var self = this;
|
|
//var parsedURL = parseURL(window.location.href);
|
|
//var search = parsedURL.search.length ? parsedURL.search+"&iframe=1" : "?iframe=1";
|
|
//var referrer = encodeURIComponent(parsedURL.pathname+search+"&back=1¬ReloadNow=1");
|
|
//if(getUrlParam("referrer").length){
|
|
//referrer = encodeURIComponent(getUrlParam("referrer")+"?iframe=1&back=1¬ReloadNow=1");
|
|
//}
|
|
var referrer = encodeURIComponent("/?iframe=1&back=1¬ReloadNow=1");
|
|
var params = new URLSearchParams({
|
|
'back_url' : referrer
|
|
,'bCD' : screen.colorDepth // for 3dsv2
|
|
,'bJE' : navigator.javaEnabled() // for 3dsv2
|
|
,'bLg' : navigator.language // for 3dsv2
|
|
,'bSW' : screen.width // for 3dsv2
|
|
,'bSH' : screen.height // for 3dsv2
|
|
,'bTZ' : new Date().getTimezoneOffset() // for 3dsv2
|
|
});
|
|
var url = self.ENDPOINT.manage_card + "?" + params.toString(); // [self.ENDPOINT.manage_card,"?referrer=",referrer].join("")
|
|
var options = getOptions(true,true,false,false,false,"10px",false,false,false,false,true);
|
|
|
|
launchIframeModal(url,CONSTANTS.INGENICO.modal.width,CONSTANTS.INGENICO.modal.height,true,options);
|
|
}
|
|
Ingenico.prototype.lockButtonFromInterceptor = function(){
|
|
"use strict"
|
|
var self = this;
|
|
self.selectors.forms.submit(function(e){
|
|
$(".ingenico-loader").toggleClass("hidden",false); // loader fullscreen
|
|
if(!isPageInIframe() && $(this).hasClass("ingenico_pick_card")){
|
|
e.preventDefault();
|
|
e.stopImmediatePropagation();
|
|
|
|
let vrnt = $("#variantField").val();
|
|
if (typeof vrnt !== 'undefined') {
|
|
$("form.ingenico_form input[name='vrnt']").val(vrnt);
|
|
}
|
|
|
|
var url = $(this).attr("action")+"?"+$(this).serialize();
|
|
var options = getOptions(true,true,false,false,false,"10px",false,false,true,true,true); // true for avoidShowLoader, 10th parameter, to not show bottom circle loader
|
|
launchIframeModal(url,CONSTANTS.INGENICO.modal.width,CONSTANTS.INGENICO.modal.height,true,options);
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
"use strict"
|
|
BidooCnf.modules.user.ingenico = Ingenico;
|
|
BidooCnf.instances.user.ingenico = new Ingenico();
|
|
});
|