Add files via upload
This commit is contained in:
parent
3ee19f4c5f
commit
d78ef81c3e
@ -22,25 +22,20 @@ class Event implements \JsonSerializable
|
|||||||
|
|
||||||
public static function searchEventsBetween2dates(string $start, string $end = null, $idhall, $cinema)
|
public static function searchEventsBetween2dates(string $start, string $end = null, $idhall, $cinema)
|
||||||
{
|
{
|
||||||
$startDate = \DateTime::createFromFormat(self::MYSQL_DATE_TIME_FORMAT, $start);
|
|
||||||
$endDate = \DateTime::createFromFormat(self::MYSQL_DATE_TIME_FORMAT, $end);
|
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
$sessions = Session::getListSessionsBetween2Dates($idhall,$cinema,$start,$end);
|
||||||
$sessions = Session::getListSessionsBetween2Dates($idhall,$cinema,$startDate,$endDate);
|
if($sessions){
|
||||||
|
foreach($sessions as $s){
|
||||||
foreach($sessions as $s){
|
$e = new Event();
|
||||||
$e = new Event();
|
$dictionary = self::session2dictionary($s);
|
||||||
$dictionary = self::session2dictionary($s);
|
$e = $e->dictionary2event($dictionary);
|
||||||
$e = $e->dictionary2event($dictionary);
|
$result[] = $e;
|
||||||
$result[] = $e;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MYSQL_DATE_TIME_FORMAT= 'Y-m-d H:i:s';
|
|
||||||
|
|
||||||
private $id;
|
private $id;
|
||||||
private $title;
|
private $title;
|
||||||
private $start;
|
private $start;
|
||||||
@ -70,16 +65,43 @@ class Event implements \JsonSerializable
|
|||||||
//Return an object that allows Event object to be serialized as json because private atributes cant be serialized
|
//Return an object that allows Event object to be serialized as json because private atributes cant be serialized
|
||||||
public function jsonSerialize()
|
public function jsonSerialize()
|
||||||
{
|
{
|
||||||
|
$film = Session::getThisSessionFilm($this->idfilm);
|
||||||
|
|
||||||
|
$undesirable = array(
|
||||||
|
'á','À','Á','Â','Ã','Ä','Å',
|
||||||
|
'ß','Ç',
|
||||||
|
'È','É','Ê','Ë',
|
||||||
|
'Ì','Í','Î','Ï','Ñ',
|
||||||
|
'Ò','Ó','Ô','Õ','Ö',
|
||||||
|
'Ù','Ú','Û','Ü',
|
||||||
|
'ñ'
|
||||||
|
);
|
||||||
|
$good = array(
|
||||||
|
'a','A','A','A','A','A','A',
|
||||||
|
'B','C',
|
||||||
|
'E','E','E','E',
|
||||||
|
'I','I','I','I','N',
|
||||||
|
'O','O','O','O','O',
|
||||||
|
'U','U','U','U',
|
||||||
|
'n'
|
||||||
|
);
|
||||||
|
|
||||||
|
$lan = str_replace($undesirable, $good, $film["language"]);
|
||||||
|
|
||||||
|
|
||||||
$o = new \stdClass();
|
$o = new \stdClass();
|
||||||
$o->id = $this->id;
|
$o->id = $this->id;
|
||||||
$o->title = $this->title;
|
$o->title = $this->title;
|
||||||
$o->start = $this->start->format(self::MYSQL_DATE_TIME_FORMAT);
|
$o->start = $this->start;
|
||||||
$o->end = $this->end->format(self::MYSQL_DATE_TIME_FORMAT);
|
$o->end = $this->end;
|
||||||
$o->start_time = $this->start_time;
|
$o->start_time = $this->start_time;
|
||||||
$o->seat_price = $this->seat_price;
|
$o->seat_price = $this->seat_price;
|
||||||
$o->format = $this->format;
|
$o->format = $this->format;
|
||||||
$o->film = Session::getThisSessionFilm($this->idfilm);
|
$o->film_dur = $film["duration"];
|
||||||
$o->date = $this->start->format("Y-m-d");
|
$o->film_id = $film["idfilm"];
|
||||||
|
$o->film_lan = $lan;
|
||||||
|
$o->film_img = $film["img"];
|
||||||
|
$o->date = $this->start;
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
@ -90,10 +112,9 @@ class Event implements \JsonSerializable
|
|||||||
$film = Session::getThisSessionFilm($session->getIdfilm());
|
$film = Session::getThisSessionFilm($session->getIdfilm());
|
||||||
$dur = $film["duration"]+$extraDurationBetweenFilms;
|
$dur = $film["duration"]+$extraDurationBetweenFilms;
|
||||||
|
|
||||||
$tittle = str_replace('_', ' ', $film["tittle"]) ;
|
$tittle = \str_replace('_', ' ', $film["tittle"]) ;
|
||||||
$start = $session->getDate()." ".$session->getStartTime();
|
$start = $session->getDate()." ".$session->getStartTime();
|
||||||
|
$end = \date('Y-m-d H:i:s', \strtotime( $start . ' +'.$dur.' minute'));
|
||||||
$end = date('Y-m-d H:i:s', strtotime( $start . ' +'.$dur.' minute'));
|
|
||||||
|
|
||||||
$dictionary = array(
|
$dictionary = array(
|
||||||
"id" => $session->getId(),
|
"id" => $session->getId(),
|
||||||
@ -124,17 +145,16 @@ class Event implements \JsonSerializable
|
|||||||
|
|
||||||
if (array_key_exists('start', $dictionary)) {
|
if (array_key_exists('start', $dictionary)) {
|
||||||
$start = $dictionary['start'];
|
$start = $dictionary['start'];
|
||||||
$startDate = \DateTime::createFromFormat(self::MYSQL_DATE_TIME_FORMAT, $start);
|
//$start = DateTime::createFromFormat("y-m-d H:i:s", $start);
|
||||||
$this->start = $startDate;
|
$this->start = $start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (array_key_exists('end', $dictionary)) {
|
if (array_key_exists('end', $dictionary)) {
|
||||||
$end = $dictionary['end'] ?? null;
|
$end = $dictionary['end'] ?? null;
|
||||||
$endDate = \DateTime::createFromFormat(self::MYSQL_DATE_TIME_FORMAT, $end);
|
$this->end = $end;
|
||||||
$this->end = $endDate;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (array_key_exists('idfilm', $dictionary)) {
|
if (array_key_exists('idfilm', $dictionary)) {
|
||||||
$idfilm = $dictionary['idfilm'] ?? null;
|
$idfilm = $dictionary['idfilm'] ?? null;
|
||||||
$this->idfilm = $idfilm;
|
$this->idfilm = $idfilm;
|
||||||
|
@ -41,11 +41,7 @@
|
|||||||
return $bd->getAllSessions($hall, $cinema, $start, $end);
|
return $bd->getAllSessions($hall, $cinema, $start, $end);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static function searchSessionActivesAtStartTimeAndFilmDuration(){
|
|
||||||
$bd = new SessionDAO('complucine');
|
|
||||||
$bd->searchSessionActivesAtStartTimeAndFilmDuration(1, 1, 1, 1, 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
public static function create_session($cinema, $hall, $start, $date, $film, $price, $format){
|
public static function create_session($cinema, $hall, $start, $date, $film, $price, $format){
|
||||||
$bd = new SessionDAO('complucine');
|
$bd = new SessionDAO('complucine');
|
||||||
if($bd ){
|
if($bd ){
|
||||||
@ -75,7 +71,6 @@
|
|||||||
}else{
|
}else{
|
||||||
return "Ya existe una sesion con los parametros nuevos";
|
return "Ya existe una sesion con los parametros nuevos";
|
||||||
}
|
}
|
||||||
|
|
||||||
} else
|
} else
|
||||||
return "La session a editar no existe";
|
return "La session a editar no existe";
|
||||||
|
|
||||||
@ -91,8 +86,6 @@
|
|||||||
} else
|
} else
|
||||||
return "Esta session no existe";
|
return "Esta session no existe";
|
||||||
} else return "Error al conectarse a la base de datos";
|
} else return "Error al conectarse a la base de datos";
|
||||||
|
|
||||||
return "Se ha eliminado la session con exito";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Esto deberia estar en film.php? seguramente
|
//Esto deberia estar en film.php? seguramente
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
function __construct($bd_name){
|
function __construct($bd_name){
|
||||||
parent::__construct($bd_name);
|
parent::__construct($bd_name);
|
||||||
}
|
}
|
||||||
//Methods:
|
|
||||||
|
|
||||||
//Create a new Session taking the new id,film, hall, cinema, date, start time, seat price and format saving in the database
|
//Create a new Session taking the new id,film, hall, cinema, date, start time, seat price and format saving in the database
|
||||||
public function createSession($id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format){
|
public function createSession($id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format){
|
||||||
@ -18,7 +17,7 @@
|
|||||||
VALUES ('%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s', '%d')",
|
VALUES ('%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s', '%d')",
|
||||||
$id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, "0");
|
$id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, "0");
|
||||||
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error createSession');
|
||||||
|
|
||||||
return $sql;
|
return $sql;
|
||||||
}
|
}
|
||||||
@ -26,7 +25,7 @@
|
|||||||
//Returns a query to get the session's data.
|
//Returns a query to get the session's data.
|
||||||
public function sessionData($id){
|
public function sessionData($id){
|
||||||
$sql = sprintf( "SELECT * FROM `session` WHERE id = '%d'", $id );
|
$sql = sprintf( "SELECT * FROM `session` WHERE id = '%d'", $id );
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database en sessionData con la id '. $id);
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error accessing to the session with id '. $id);
|
||||||
|
|
||||||
while($fila=$resul->fetch_assoc()){
|
while($fila=$resul->fetch_assoc()){
|
||||||
$session = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
$session = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
||||||
@ -39,7 +38,7 @@
|
|||||||
//Look for a film with the id film
|
//Look for a film with the id film
|
||||||
public function filmTittle($idfilm){
|
public function filmTittle($idfilm){
|
||||||
$sql = sprintf("SELECT * FROM film JOIN session ON film.id = session.idfilm WHERE session.idfilm = '%d' ", $idfilm );
|
$sql = sprintf("SELECT * FROM film JOIN session ON film.id = session.idfilm WHERE session.idfilm = '%d' ", $idfilm );
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database en sessionData con la id '. $idfilm);
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error accessing to the film with id '. $idfilm);
|
||||||
|
|
||||||
$resul = mysqli_fetch_array($resul);
|
$resul = mysqli_fetch_array($resul);
|
||||||
|
|
||||||
@ -55,7 +54,7 @@
|
|||||||
$sql = sprintf( "SELECT * FROM session WHERE
|
$sql = sprintf( "SELECT * FROM session WHERE
|
||||||
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'",
|
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'",
|
||||||
$cinema, $hall, $date, $startTime);
|
$cinema, $hall, $date, $startTime);
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error searching for a session');
|
||||||
|
|
||||||
$session = mysqli_fetch_array($resul);
|
$session = mysqli_fetch_array($resul);
|
||||||
|
|
||||||
@ -70,17 +69,16 @@
|
|||||||
$sessions = [];
|
$sessions = [];
|
||||||
|
|
||||||
$sql = sprintf("SELECT duration FROM film WHERE id='%s'", $idfilm );
|
$sql = sprintf("SELECT duration FROM film WHERE id='%s'", $idfilm );
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database en sessionData con la id '. $idfilm);
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error looking for the film duration of id '. $idfilm);
|
||||||
|
|
||||||
$duration = ($resul->fetch_assoc())["duration"]+10;
|
$duration = ($resul->fetch_assoc())["duration"]+10;
|
||||||
$endHour = date('Y-m-d H:i:s', strtotime( $startTime . ' +'.$duration.' minute'));
|
$endHour = date('H:i:s', strtotime( $startTime . ' +'.$duration.' minute'));
|
||||||
|
|
||||||
$sql = sprintf( "SELECT * FROM session WHERE
|
$sql = sprintf( "SELECT * FROM session WHERE
|
||||||
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time BETWEEN '%s' AND '%s' ORDER BY start_time ASC;",
|
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time BETWEEN '%s' AND '%s' ORDER BY start_time ASC;",
|
||||||
$cinema, $hall, $date, $startTime, $endHour);
|
$cinema, $hall, $date, $startTime, $endHour);
|
||||||
|
|
||||||
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error looking for sessions between start time and start time + film duration');
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
|
||||||
|
|
||||||
while($fila=$resul->fetch_assoc()){
|
while($fila=$resul->fetch_assoc()){
|
||||||
$sessions[] = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
$sessions[] = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
||||||
@ -95,16 +93,10 @@
|
|||||||
public function getAllSessions($hall, $cinema, $date, $end){
|
public function getAllSessions($hall, $cinema, $date, $end){
|
||||||
if($end){
|
if($end){
|
||||||
|
|
||||||
$date = $date->format("Y-m-d");
|
|
||||||
$end = $end->format("Y-m-d");
|
|
||||||
|
|
||||||
$sql = sprintf( "SELECT * FROM session WHERE
|
$sql = sprintf( "SELECT * FROM session WHERE
|
||||||
idcinema = '%s' AND idhall = '%s' AND date BETWEEN '%s' AND '%s' ORDER BY start_time ASC;",
|
idcinema = '%s' AND idhall = '%s' AND date BETWEEN '%s' AND '%s' ORDER BY start_time ASC;",
|
||||||
$cinema, $hall, $date, $end);
|
$cinema, $hall, $date, $end);
|
||||||
}
|
}else if($date && !$end){
|
||||||
|
|
||||||
|
|
||||||
if($date && !$end){
|
|
||||||
$date = date('Y-m-d', strtotime( $date ) );
|
$date = date('Y-m-d', strtotime( $date ) );
|
||||||
|
|
||||||
$sql = sprintf( "SELECT * FROM session WHERE
|
$sql = sprintf( "SELECT * FROM session WHERE
|
||||||
@ -116,10 +108,9 @@
|
|||||||
$cinema, $hall);
|
$cinema, $hall);
|
||||||
}
|
}
|
||||||
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error geting all sessions');
|
||||||
|
|
||||||
$sessions = null;
|
$sessions = null;
|
||||||
|
|
||||||
while($fila=$resul->fetch_assoc()){
|
while($fila=$resul->fetch_assoc()){
|
||||||
$sessions[] = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
$sessions[] = $this->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
|
||||||
}
|
}
|
||||||
@ -131,7 +122,7 @@
|
|||||||
//Look for a title and cinema
|
//Look for a title and cinema
|
||||||
public function getSessions_Film_Cinema($idFiml, $idCinema){
|
public function getSessions_Film_Cinema($idFiml, $idCinema){
|
||||||
$sql = sprintf( "SELECT * FROM session WHERE session.idfilm = '%d' AND session.idcinema = '%d' ", $idFiml, $idCinema);
|
$sql = sprintf( "SELECT * FROM session WHERE session.idfilm = '%d' AND session.idcinema = '%d' ", $idFiml, $idCinema);
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error geting sessions with a idfilm and cinema');
|
||||||
|
|
||||||
$sessions = null;
|
$sessions = null;
|
||||||
while($fila = $resul->fetch_assoc()){
|
while($fila = $resul->fetch_assoc()){
|
||||||
@ -146,18 +137,19 @@
|
|||||||
public function editSession($idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin){
|
public function editSession($idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin){
|
||||||
$format = $this->mysqli->real_escape_string($format);
|
$format = $this->mysqli->real_escape_string($format);
|
||||||
$date = date('Y-m-d', strtotime( $date ) );
|
$date = date('Y-m-d', strtotime( $date ) );
|
||||||
|
$origin["date"] = date('Y-m-d', strtotime( $origin["date"] ) );
|
||||||
$startTime = date('H:i:s', strtotime( $startTime ) );
|
$startTime = date('H:i:s', strtotime( $startTime ) );
|
||||||
|
$origin["start"] = date('H:i:s', strtotime( $origin["start"] ) );
|
||||||
|
|
||||||
$sql = sprintf( "UPDATE `session`
|
$sql = sprintf( "UPDATE `session`
|
||||||
SET `idfilm` = '%d' , `idhall` = '%d', `idcinema` = '%d', `date` = '%s',
|
SET `idfilm` = '%d' , `idhall` = '%d', `idcinema` = '%d', `date` = '%s',
|
||||||
`start_time` = '%s', `seat_price` = '%d', `format` = '%s'
|
`start_time` = '%s', `seat_price` = '%d', `format` = '%s'
|
||||||
WHERE
|
WHERE
|
||||||
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'",
|
idcinema = '%s' AND idhall = '%s' AND session.date = '%s' AND start_time = '%s'",
|
||||||
$idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin["cinema"],$origin["hall"],$origin["date"],$origin["start"]);
|
$idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin["cinema"],$origin["hall"],$origin["date"],$origin["start"]);
|
||||||
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
|
||||||
|
|
||||||
return $resul;
|
mysqli_query($this->mysqli, $sql) or die ('Error editing a session');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,7 +160,7 @@
|
|||||||
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'",
|
idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'",
|
||||||
$cinema, $hall, $date, $startTime);
|
$cinema, $hall, $date, $startTime);
|
||||||
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
$resul = mysqli_query($this->mysqli, $sql) or die ('Error deleting a session');
|
||||||
|
|
||||||
return $resul;
|
return $resul;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user