Jomres è un booking engine a pagamento per Joomla che consente di ricevere prenotazioni con disponibilità in tempo reale dal proprio sito. Un limite di questo sistema è che non esiste un controllo sulla validità dei dati della carta di credito inviati in fase di prenotazione, volendo riceverli direttamente senza passare tramite gateway bancari terzi. Ad esempio sarebbe possibile inviare la prenotazione anche lasciando il campo relativo al numero di carta vuoto o scrivendo numeri a caso…
Risulta quindi necessario integrare questo sistema aggiungendo un controllo di validità almeno sul numero di carta di credito affinchè rispetti i criteri della famosa Luhn Formula.
In questo modo non sarà possibile lasciare il campo vuoto nè tantomeno scrivere numeri a caso. È naturale però che il controllo che andrò ad illustrare verifica solo la validità formale del numero di carta di credito, non se dispone di fondi né se è scaduta.
Premetto che non conosco Joomla né tantomeno Jomres, ho semplicemente aiutato un amico a risolvere questo problema basandomi sui pochi file che mi ha inviato.
Ma entriamo nel vivo. Utilizzeremo la funzione javascript di controllo che potete scaricare qui: http://www.braemoor.co.uk/software/creditcard.shtml (download diretto del file).
Caricate il file creditcard.js nella cartella javascript di jomres (/jomres/javascript/).
Aprite il file j00600form.html che trovate nella cartella jomres/core-minicomponents/ e sostituite le righe seguenti:
Please enter your creditcard details
<form action=”index.php?option=com_jomres” method=”post” name=”bookingForm”>
Con le seguenti righe di codice:
<script type=”text/javascript” src=”/jomres/javascript/creditcard.js”></script>
<script type=”text/javascript”>
function testCreditCard () {
myCardNo = document.bookingForm.ccard_no.value;
myCardType = document.bookingForm.type.value;
if (checkCreditCard (myCardNo,myCardType)) {
document.bookingForm.submit();
}
else
{
alert (ccErrors[ccErrorNo])
return false;
};
}
</script>Please enter your creditcard details
<form action=”ok.html” method=”post” name=”bookingForm” onsubmit=”testCreditCard(); return false;”>
Portate il file j00600form.html online ed il gioco è fatto.
Dubbi o domande? Scrivete scrivete pure un commento.
By gaetano 17 febbraio 2011 - 11:34
io con la versione 4.7.3 non riesco a farlo funzionare
ne sai qualcosa
grazie