Add files via upload

This commit is contained in:
Fernando Méndez
2021-05-28 14:21:10 +02:00
committed by GitHub
parent 12c61a4683
commit b80a9ae1db
18 changed files with 440 additions and 40 deletions

View File

@@ -370,7 +370,7 @@
margin-right: auto;
box-shadow: 0 4px 8px 0 #00020f, 0 6px 20px 0 #00020f;
}
.code.purchase {
.code.purchase, .code.resume {
text-align: center;
}
.code.purchase h3 {

View File

@@ -368,7 +368,7 @@ main img {
margin-right: auto;
box-shadow: 0 4px 8px 0 #00020f, 0 6px 20px 0 #00020f;
}
.code.purchase {
.code.purchase, .code.resume {
text-align: center;
}
.code.purchase h3 {

View File

@@ -1,3 +1,8 @@
/**
* Práctica - Sistemas Web | Grupo D
* CompluCine - FDI-cines
*/
function cambiarCSS(nuevo){
document.getElementById('estilo').setAttribute('href', nuevo);
}

89
assets/js/checkPay.js Normal file
View File

@@ -0,0 +1,89 @@
/**
* Práctica - Sistemas Web | Grupo D
* CompluCine - FDI-cines
*/
//Expresión regular para validar nombre y apellidos:
const regExpr = /^([A-Za-zÁÉÍÓÚñáéíóúÑ]{0}?[A-Za-zÁÉÍÓÚñáéíóúÑ\']+[\s])+([A-Za-zÁÉÍÓÚñáéíóúÑ]{0}?[A-Za-zÁÉÍÓÚñáéíóúÑ\'])+[\s]?([A-Za-zÁÉÍÓÚñáéíóúÑ]{0}?[A-Za-zÁÉÍÓÚñáéíóúÑ\'])?$/g;
$(document).ready(function() {
//Iconos para validar el titular de la tarjeta:
$("#cardNameValid").hide();
$("#cardNameInvalid").hide();
//Iconos para validar el número de tarjeta:
$("#carNumberValid").hide();
$("#cardNumerInvalid").hide();
//Iconos para validar el CVV:
$("#cvvValid").hide();
$("#cvvInvalid").hide();
//Comprueba que el titular de la tarjeta es válido.
$("#card-holder").change(function(){
const cardHolder = $("#card-holder");
cardHolder[0].setCustomValidity("");
if(cardHolder.val().length > 5 && holderCheck(cardHolder.val())){
$("#cardNameValid").show();
$("#cardNameInvalid").hide();
cardHolder[0].setCustomValidity("");
} else {
$("#cardNameValid").hide();
$("#cardNameInvalid").show();
cardHolder[0].setCustomValidity("El titular de la tarjeta no es válido.");
}
});
//Comprueba que el NÚMERO de la tarjeta es válido.
$("#card-number-0").change(function(){
$("#card-number-1").change(function(){
$("#card-number-2").change(function(){
$("#card-number-3").change(function(){
const cardNumber0 = $("#card-number-0");
const cardNumber1 = $("#card-number-1");
const cardNumber2 = $("#card-number-2");
const cardNumber3 = $("#card-number-3");
cardNumber0[0].setCustomValidity("");
cardNumber1[0].setCustomValidity("");
cardNumber2[0].setCustomValidity("");
cardNumber3[0].setCustomValidity("");
if( (cardNumber0.val().length + cardNumber1.val().length + cardNumber2.val().length +cardNumber3.val().length) === 16 ){
$("#carNumberValid").show();
$("#cardNumerInvalid").hide();
cardNumber0[0].setCustomValidity("");
} else {
$("#carNumberValid").hide();
$("#cardNumerInvalid").show();
cardNumber0[0].setCustomValidity("El número de tarjeta debe tener 16 dígitos.");
}
});
});
});
});
//Comprueba que el CVV de la tarjeta es válido.
$("#card-cvv").change(function(){
const cvv = $("#card-cvv");
cvv[0].setCustomValidity("");
if(cvv.val().length === 3){
$("#cvvValid").show();
$("#cvvInvalid").hide();
cvv[0].setCustomValidity("");
} else {
$("#carcvvValiddNameValid").hide();
$("#cvvInvalid").show();
cvv[0].setCustomValidity("El CVV debe tener 3 dígitos.");
}
});
//Devuelve true si el nombre y apellidos del titular son válidos, false en caso contrario.
function holderCheck(name) {
return regExpr.test(name) ? true : false;
}
})

View File

@@ -1,3 +1,28 @@
function newWindow(page){
window.open(page, 'Ventana de Confirmación', 'width=500, height=300');
}
/**
* Práctica - Sistemas Web | Grupo D
* CompluCine - FDI-cines
*/
/* TO-DO: NO FUNCIONA LA PETICIÓN AJAX */
$(document).ready(function() {
document.getElementById("submit").onclick=function(){
let _delete = confirm("¿Está seguro de que desea eliminar su cuenta de usuario?\nEsta acción no se puede deshacer.");
if(_delete == true){
//console.log(location.href += "&reply=" + _delete);
//location.href += "&reply=" + _delete;
$.ajax({
url:"./?option=delete_user",
type: "POST",
data: {reply: "true"},
success:function(data){
console.log(data.reply);
},
error:function(data){
console.log(data.reply);
}
});
}
}
});

View File

@@ -1,3 +1,9 @@
/**
* Práctica - Sistemas Web | Grupo D
* CompluCine - FDI-cines
*/
/* TO-DO: enviar el contenido del array de promociones */
window.onload = function () {
var promos = document.getElementById("promotions").value;
console.log(promos);

View File

@@ -1,3 +1,8 @@
/**
* Práctica - Sistemas Web | Grupo D
* CompluCine - FDI-cines
*/
// Método 1: recargar la página y enviar un GET.
window.onload = function(){
var select = document.getElementById("select_cinema");
@@ -6,7 +11,7 @@ window.onload = function(){
}
}
// Método 2: enviar una petición AJAX con POST. (NO FUNCIONA)
// Método 2: enviar una petición AJAX con POST. ==> (NO FUNCIONA, PERO LA IDEA ERA HACERLO ASÍ PARA EVITAR REFRESCAR LA PÁGINA Y LLENAR LA URL)
/*
$(document).ready(function(){
$("#select_cinema_session").change(function(){
@@ -20,8 +25,6 @@ $(document).ready(function(){
cache : false,
async : false,
success: function(data){
$("cinemas option").remove();
$("cinemas").append(data);
console.log(cinema);
},
error: function(response)
@@ -31,17 +34,4 @@ $(document).ready(function(){
});
});
});
*/
//Método 3: enviar una petición AJAX con GET. (NO FUNCIONA)
/*
$(document).ready(function(){
$("#select_cinema_session").change(function(){
var cinema = $('select[id=cinemas]').val();
//console.log($('select[id=cinemas]').val());
$.get(window.location + "?cinema=" + cinema, function(data,status){
console.log(cinema);
});
});
});
*/

View File

@@ -22,6 +22,25 @@
return $sql;
}
//Returns the hall's data by ID.
public function HallData($id){
$id = $this->mysqli->real_escape_string($id);
$sql = sprintf( "SELECT * FROM hall WHERE number = '%d'", $id );
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
$resul->data_seek(0);
$hall = null;
while ($fila = $resul->fetch_assoc()) {
$hall = $this->loadHall($fila["number"], $fila["idcinema"], $fila["numrows"], $fila["numcolumns"], $fila["total_seats"], null);
}
//mysqli_free_result($selectUser);
$resul->free();
return $hall;
}
//Returns a query to get the halls data.
public function getAllHalls($cinema){

View File

@@ -0,0 +1,43 @@
<?php
class Purchase {
//Attributes:
private $_idUser; //User Id.
private $_idSession; //Session Id.
private $_idHall; //Hall Id.
private $_idCinema; //Cinema Id.
private $_numRow; //Number of row seat.
private $_numColumn; //Number of column seat.
private $_timePurchase; //Time of purchase.
//Constructor:
function __construct($idUser, $idSession, $idHall, $idCinema, $row, $column, $time){
$this->_idUser = $idUser;
$this->_idSession = $idSession;
$this->_idHall = $idHall;
$this->_idCinema = $idCinema;
$this->_numRow = $row;
$this->_numColumn = $column;
$this->_timePurchase = $time;
}
//Methods:
//Getters && Setters:
public function setUserId($idUser){ $this->_idUser = $id; }
public function getUserId(){ return $this->_idUser; }
public function setSessionId($idSession){ $this->_idSession = $idSession; }
public function getSessionId(){ return $this->_idSession; }
public function setHallId($idHall){ $this->_idHall = $idHall; }
public function getHallId(){ return $this->_idHall; }
public function setCinemaId($idCinema){ $this->_idCinema = $idCinema; }
public function getCinemaId(){ return $this->_idCinema; }
public function setRow($row){ $this->_numRow = $row; }
public function getRow(){ return $this->_numRow; }
public function setColumn($column){ $this->_numColumn = $column; }
public function getColumn(){ return $this->_numColumn; }
public function setTime($time){ $this->_timePurchase = $time; }
public function getTime(){ return $this->_timePurchase; }
}
?>

View File

@@ -0,0 +1,46 @@
<?php
include_once('purchase.php');
class PurchaseDAO extends DAO {
//Attributes:
//Constructor:
function __construct($bd_name){
parent::__construct($bd_name);
}
//Methods:
//Create a new Purchase.
public function createPurchase($idUser, $idSession, $idHall, $idCinema, $row, $column, $time){
$sql = sprintf( "INSERT INTO purchase( iduser, idsession, idhall, idcinema, numrow, numcolum, time_purchase )
VALUES ( '%d', '%d', '%d', '%d', '%d', '%d', '%s' )",
$idUser, $idSession, $idHall, $idCinema, $row, $column, $time );
$resul = mysqli_query($this->mysqli, $sql);
return $resul;
}
//All purchases of one user.
public function allPurchasesData($idUser){
$sql = sprintf( "SELECT * FROM purchase WHERE iduser = '%d' ", $idUser);
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
$purchases = null;
while($fila=$resul->fetch_assoc()){
$purchases[] = $this->loadPurchase($fila["iduser"], $fila["idsession"], $fila["idhall"], $fila["idcinema"], $fila["numrow"], $fila["numcolum"], $fila["time_purchase"]);
}
$resul->free();
return $purchases;
}
//Create a new User Data Transfer Object.
public function loadPurchase($idUser, $idSession, $idHall, $idCinema, $row, $column, $time){
return new Purchase($idUser, $idSession, $idHall, $idCinema, $row, $column, $time);
}
}
?>

View File

@@ -120,5 +120,8 @@
public function setFormat($format){ $this->_format = $format; }
public function getFormat(){ return $this->_format; }
public function setSeatsFull($bool){ $this->_seats_full = $bool; }
public function getSeatsFull(){ return $this->_seats_full; }
}
?>

View File

@@ -1,5 +1,4 @@
<?php
<?php
class User {
//Attributes:

View File

@@ -701,9 +701,10 @@
<script type='text/javascript' src='{$prefix}assets/js/cambiarCSS.js'></script>
<script type='text/javascript' src='{$prefix}assets/js/checkForms.js'></script>
";
if($page === "FDI-Cines") echo"<script type='text/javascript' src='{$prefix}assets/js/promotions.js' ></script>\n";
if($page === "Panel de Usuario") echo"<script type='text/javascript' src='{$prefix}assets/js/deleteConfirm.js' ></script>\n";
if($page === "Comprar Entrada") echo"<script type='text/javascript' src='{$prefix}assets/js/selectTicket.js' ></script>\n";
if($page === "FDI-Cines") echo"<script type='text/javascript' src='{$prefix}assets/js/promotions.js'></script>\n";
if($page === "Panel de Usuario") echo"<script type='text/javascript' src='{$prefix}assets/js/deleteConfirm.js'></script>\n";
if($page === "Comprar Entrada") echo"<script type='text/javascript' src='{$prefix}assets/js/selectTicket.js'></script>
<script type='text/javascript' src='{$prefix}assets/js/checkPay.js'></script>\n";
}
}