Add files via upload
This commit is contained in:
		
							
								
								
									
										32
									
								
								root/assets/php/includes/cinema.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								root/assets/php/includes/cinema.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
    
 | 
			
		||||
    class Cinema{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_id;               //Cinema ID.
 | 
			
		||||
        private $_name;           //Cinema name.
 | 
			
		||||
        private $_direction;         //Cinema direction.
 | 
			
		||||
        private $_phone;         //Cinema phone.
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($id, $name, $direction, $phone){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_name = $name;
 | 
			
		||||
            $this->_direction = $direction;
 | 
			
		||||
            $this->_phone = $phone;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
        public function setName($name){	$this->_name = $name; }
 | 
			
		||||
		public function getName(){ return $this->_name; }
 | 
			
		||||
        public function setDirection($direction){ $this->_direction = $direction; }
 | 
			
		||||
		public function getDirection(){ return $this->_direction; }
 | 
			
		||||
        public function setPhone($phone){$this->_phone = $phone; }
 | 
			
		||||
		public function getPhone(){ return $this->_phone; }
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										132
									
								
								root/assets/php/includes/cinema_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								root/assets/php/includes/cinema_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,132 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('cinema.php');
 | 
			
		||||
 | 
			
		||||
    class Cinema_DAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new Session.
 | 
			
		||||
		public function createCinema($id, $name, $direction, $phone){
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `cinema`( `id`, `name`, `direction`, `phone`) 
 | 
			
		||||
								VALUES ( '%d', '%s', '%s', '%s')", 
 | 
			
		||||
									$id, $name, $direction, $phone);
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
	    //Returns a query to get All the films.
 | 
			
		||||
		public function allCinemaData(){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM cinema ");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$films[] = $this->loadCinema($fila["id"], $fila["name"], $fila["direction"], $fila["phone"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
			return $films;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  film data .
 | 
			
		||||
		public function GetCinema($name, $direction){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM cinema WHERE cinema.name = '%s'AND cinema.direction='%s'", $name,$direction );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  film data .
 | 
			
		||||
		public function cinemaData($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM cinema WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$resul->data_seek(0);
 | 
			
		||||
			$film = null;
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$cinema = $this->loadCinema($fila["id"], $fila["name"], $fila["direction"], $fila["phone"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $cinema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns if exist a cinema with that id
 | 
			
		||||
		public function existCinema($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM cinema WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Deleted film by "id".
 | 
			
		||||
		public function deleteCinema($id){
 | 
			
		||||
			$sql = sprintf( "DELETE FROM cinema WHERE cinema.id = '%d' ;",$id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit a film.
 | 
			
		||||
		public function editCinema($id, $name, $direction, $phone){
 | 
			
		||||
			$sql = sprintf( "UPDATE cinema SET name = '%s' , direction = '%s', phone ='%s' 
 | 
			
		||||
								WHERE cinema.id = '%d';", 
 | 
			
		||||
									$name, $direction, $phone, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Get sessions associated with a cinema.
 | 
			
		||||
		public function getSessions($id){
 | 
			
		||||
			include_once('session_dao.php');
 | 
			
		||||
			$session = new SessionDAO("complucine");
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( " SELECT DISTINCT * FROM session WHERE session.id in 
 | 
			
		||||
								(SELECT session.id FROM session JOIN cinema ON session.idcinema = cinema.id WHERE cinema.id = '%d'); ", $id);
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$sessions = null;
 | 
			
		||||
			while($fila = $resul->fetch_assoc()){
 | 
			
		||||
				$sessions[] = $session->loadSession($fila["id"], $fila["idfilm"], $fila["idhall"], $fila["idcinema"], $fila["date"], $fila["start_time"], $fila["seat_price"], $fila["format"], $fila["seats_full"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Get films associated with a cinema.
 | 
			
		||||
		public function getFilms($id){
 | 
			
		||||
			include_once('film_dao.php');
 | 
			
		||||
			$film = new Film_DAO("complucine");
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( " SELECT DISTINCT * FROM film WHERE film.id in 
 | 
			
		||||
								(SELECT session.idfilm FROM session JOIN cinema ON session.idcinema = cinema.id WHERE cinema.id = '%d'); ", $id);
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$films = null;
 | 
			
		||||
			while($fila = $resul->fetch_assoc()){
 | 
			
		||||
				$films[] = $film->loadFilm($fila["id"], $fila["tittle"], $fila["duration"], $fila["language"], $fila["description"], $fila["img"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $films;
 | 
			
		||||
		}
 | 
			
		||||
	    
 | 
			
		||||
		//Create a new film Data Transfer Object.
 | 
			
		||||
		public function loadCinema($id, $name, $direction, $phone){
 | 
			
		||||
			return new Cinema($id, $name, $direction, $phone);
 | 
			
		||||
		}
 | 
			
		||||
	    	
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										185
									
								
								root/assets/php/includes/event.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								root/assets/php/includes/event.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,185 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
include_once($prefix.'assets/php/includes/session.php');
 | 
			
		||||
 | 
			
		||||
//Full calendar only accepts Events objects
 | 
			
		||||
class Event implements \JsonSerializable
 | 
			
		||||
{
 | 
			
		||||
    public static function searchAllEvents($idhall, $cinema)
 | 
			
		||||
    {
 | 
			
		||||
        $result = [];
 | 
			
		||||
		$sessions = Session::getListSessions($idhall,$cinema,null);
 | 
			
		||||
		
 | 
			
		||||
		foreach($sessions as $s){
 | 
			
		||||
			$e = new Event();
 | 
			
		||||
			$diccionario = self::session2dictionary($s);
 | 
			
		||||
			$e = $e->dictionary2event($diccionario);
 | 
			
		||||
			$result[] = $e;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
        return $result;
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
    public static function searchEventsBetween2dates(string $start, string $end = null, $idhall, $cinema)
 | 
			
		||||
    {	
 | 
			
		||||
        
 | 
			
		||||
        $result = [];
 | 
			
		||||
        $sessions = Session::getListSessionsBetween2Dates($idhall,$cinema,$start,$end);
 | 
			
		||||
        if($sessions){
 | 
			
		||||
            foreach($sessions as $s){
 | 
			
		||||
                $e = new Event();
 | 
			
		||||
                $dictionary = self::session2dictionary($s);
 | 
			
		||||
                $e = $e->dictionary2event($dictionary);
 | 
			
		||||
                $result[] = $e;
 | 
			
		||||
            }
 | 
			
		||||
         }
 | 
			
		||||
        return $result;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    private $id;
 | 
			
		||||
    private $title;
 | 
			
		||||
    private $start;
 | 
			
		||||
    private $end;
 | 
			
		||||
 | 
			
		||||
	private $idfilm;
 | 
			
		||||
    private $start_time;
 | 
			
		||||
	private $seat_price;
 | 
			
		||||
    private $format;
 | 
			
		||||
    private $seats_full;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private function __construct()
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getId()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->id;
 | 
			
		||||
    }
 | 
			
		||||
	
 | 
			
		||||
     public function getIdfilm()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->idfilm;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //Return an object that allows Event object to be serialized as json because private atributes cant be serialized
 | 
			
		||||
    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->id = $this->id;
 | 
			
		||||
        $o->title = $this->title;
 | 
			
		||||
        $o->start = $this->start;
 | 
			
		||||
        $o->end = $this->end;
 | 
			
		||||
        $o->start_time = $this->start_time;
 | 
			
		||||
		$o->seat_price = $this->seat_price;
 | 
			
		||||
        $o->format = $this->format;
 | 
			
		||||
    	$o->film_dur = $film["duration"];
 | 
			
		||||
        $o->film_id = $film["idfilm"];
 | 
			
		||||
        $o->film_lan = $lan;
 | 
			
		||||
        $o->film_img = $film["img"];
 | 
			
		||||
		$o->date = $this->start;
 | 
			
		||||
 | 
			
		||||
        return $o;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
	public static function session2dictionary($session){
 | 
			
		||||
		$extraDurationBetweenFilms = 10;
 | 
			
		||||
		
 | 
			
		||||
		$film =	Session::getThisSessionFilm($session->getIdfilm());
 | 
			
		||||
		$dur = $film["duration"]+$extraDurationBetweenFilms;
 | 
			
		||||
		
 | 
			
		||||
		$tittle = \str_replace('_', ' ', $film["tittle"]) ;
 | 
			
		||||
		$start = $session->getDate()." ".$session->getStartTime();
 | 
			
		||||
		$end = \date('Y-m-d H:i:s', \strtotime( $start . ' +'.$dur.' minute'));
 | 
			
		||||
		
 | 
			
		||||
		$dictionary = array(
 | 
			
		||||
			"id" => $session->getId(),
 | 
			
		||||
			"title" => $tittle,
 | 
			
		||||
			"start" => $start,
 | 
			
		||||
			"end" => $end,
 | 
			
		||||
			"idfilm" => $session->getIdfilm(),
 | 
			
		||||
			"start_time" => $session->getStartTime(),
 | 
			
		||||
			"seat_price" => $session->getSeatPrice(),
 | 
			
		||||
			"format" => $session->getFormat(),
 | 
			
		||||
			"seats_full" => $session->getSeatsFull(),
 | 
			
		||||
		);
 | 
			
		||||
		
 | 
			
		||||
		return $dictionary;
 | 
			
		||||
	}
 | 
			
		||||
    
 | 
			
		||||
    protected function dictionary2event(array $dictionary)
 | 
			
		||||
    {
 | 
			
		||||
        if (array_key_exists('id', $dictionary)) {
 | 
			
		||||
            $id = $dictionary['id'];
 | 
			
		||||
            $this->id =(int)$id;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (array_key_exists('title', $dictionary)) {
 | 
			
		||||
            $title = $dictionary['title'];
 | 
			
		||||
            $this->title = $title;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        if (array_key_exists('start', $dictionary)) {
 | 
			
		||||
            $start = $dictionary['start'];
 | 
			
		||||
            //$start = DateTime::createFromFormat("y-m-d H:i:s", $start);
 | 
			
		||||
            $this->start = $start;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (array_key_exists('end', $dictionary)) {
 | 
			
		||||
            $end = $dictionary['end'] ?? null;
 | 
			
		||||
            $this->end = $end;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
        
 | 
			
		||||
		if (array_key_exists('idfilm', $dictionary)) {
 | 
			
		||||
            $idfilm = $dictionary['idfilm'] ?? null;
 | 
			
		||||
            $this->idfilm = $idfilm;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		if (array_key_exists('start_time', $dictionary)) {
 | 
			
		||||
            $start_time = $dictionary['start_time'] ?? null;
 | 
			
		||||
            $this->start_time = $start_time;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		if (array_key_exists('seat_price', $dictionary)) {
 | 
			
		||||
            $seat_price = $dictionary['seat_price'] ?? null;
 | 
			
		||||
            $this->seat_price = $seat_price;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		if (array_key_exists('format', $dictionary)) {
 | 
			
		||||
            $format = $dictionary['format'] ?? null;
 | 
			
		||||
            $this->format = $format;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		if (array_key_exists('seats_full', $dictionary)) {
 | 
			
		||||
            $seats_full = $dictionary['seats_full'] ?? null;
 | 
			
		||||
            $this->seats_full = $seats_full;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        return $this;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										39
									
								
								root/assets/php/includes/film.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								root/assets/php/includes/film.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
<?php
 | 
			
		||||
   
 | 
			
		||||
    class Film{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_id;               //Film ID.
 | 
			
		||||
        private $_tittle;           //Film tittle.
 | 
			
		||||
        private $_duration;         //Film duration.
 | 
			
		||||
        private $_language;         //Film language.
 | 
			
		||||
        private $_description;      //Film description.
 | 
			
		||||
        private $_img;              //Film image.
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($id, $tittle, $duration, $language, $description, $img){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_tittle = $tittle;
 | 
			
		||||
            $this->_duration = $duration;
 | 
			
		||||
            $this->_language = $language;
 | 
			
		||||
            $this->_description = $description;
 | 
			
		||||
            $this->_img = $img;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
        public function setTittle($tittle) {$this->_tittle = $tittle; }
 | 
			
		||||
		public function getTittle(){return $this->_tittle;}
 | 
			
		||||
        public function setDuration($duration){$this->_duration = $duration; }
 | 
			
		||||
		public function getDuration() {return $this->_duration;}
 | 
			
		||||
        public function setLanguage($language) {$this->_language = $language; }
 | 
			
		||||
		public function getLanguage(){return $this->_language;}
 | 
			
		||||
        public function setDescription($description){  $this->_description = $description;}
 | 
			
		||||
		public function getDescription(){return  $this->_description;}
 | 
			
		||||
        public function setImg($img){  $this->_img = $img;}
 | 
			
		||||
		public function getImg(){return   $this->_img;}
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										151
									
								
								root/assets/php/includes/film_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								root/assets/php/includes/film_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,151 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('film.php');
 | 
			
		||||
 | 
			
		||||
    class Film_DAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new Session.
 | 
			
		||||
		public function createFilm($id, $tittle, $duration, $language, $description, $img){
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `film`( `id`, `tittle`, `duration`, `language`,`description`, `img`) 
 | 
			
		||||
								VALUES ( '%d', '%s', '%d', '%s','%s', '%s')", 
 | 
			
		||||
									$id, $tittle, $duration, $language, $description, $img);
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		//Returns a  film data .
 | 
			
		||||
		public function GetFilm($tittle,$language){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM film WHERE film.tittle = '%s'AND film.language='%s'", $tittle,$language );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns the film's data by ID.
 | 
			
		||||
		public function FilmData($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM film WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$resul->data_seek(0);
 | 
			
		||||
			$film = null;
 | 
			
		||||
			while ($fila = $resul->fetch_assoc()) {
 | 
			
		||||
				if($id === $fila['id']){
 | 
			
		||||
					$film = $this->loadFilm($fila["id"], $fila["tittle"], $fila["duration"], $fila["language"], $fila["description"], $fila["img"]);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			//mysqli_free_result($selectUser);
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $film;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns if exist a Film with this id
 | 
			
		||||
		public function existFilm($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM film WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
	    //Returns a query to get All the films.
 | 
			
		||||
		public function allFilmData(){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM film ");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$films[] = $this->loadFilm($fila["id"], $fila["tittle"], $fila["duration"], $fila["language"], $fila["description"], $fila["img"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
			return $films;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		//Returns a query to get all films tittles.
 | 
			
		||||
		public function tittleFilmData(){
 | 
			
		||||
			$sql = sprintf( "SELECT DISTINCT tittle FROM film ");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a query to get all films descriptions.
 | 
			
		||||
		public function descriptionFilmData(){
 | 
			
		||||
			$sql = sprintf( "SELECT description FROM film ");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
		public function addFilm($films) {
 | 
			
		||||
			$resul =  mysqli_query($this->mysqli, $this->createFilm($film.getId(), $film.getTittle(), $film.getDuration(), $film.getLanguage(), $film.getDescription())) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		*/
 | 
			
		||||
 | 
			
		||||
		//Deleted film by "id".
 | 
			
		||||
		public function deleteFilm($id){
 | 
			
		||||
			$sql = sprintf( "DELETE FROM film WHERE film.id = '%d' ;",$id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit a film.
 | 
			
		||||
		public function editFilm($id, $tittle, $duration, $language,$description,$img){
 | 
			
		||||
			$sql = sprintf( "UPDATE film SET tittle = '%s' , duration = '%d', language ='%s' , description ='%s', img ='%s'
 | 
			
		||||
								WHERE film.id = '%d';", 
 | 
			
		||||
									$tittle, $duration, $language, $description, $img, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Edit a film.
 | 
			
		||||
		public function editFilmNoImg($id, $tittle, $duration, $language,$description){
 | 
			
		||||
			$sql = sprintf( "UPDATE film SET tittle = '%s' , duration = '%d', language ='%s' , description ='%s'
 | 
			
		||||
								WHERE film.id = '%d';", 
 | 
			
		||||
									$tittle, $duration, $language, $description, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Get cinemas associated with a movie.
 | 
			
		||||
		public function getCinemas($id){
 | 
			
		||||
			include_once('cinema_dao.php');
 | 
			
		||||
			$cinema = new Cinema_DAO("complucine");
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( " SELECT DISTINCT * FROM cinema WHERE cinema.id in 
 | 
			
		||||
								(SELECT session.idcinema FROM session JOIN film ON session.idfilm = film.id WHERE film.id = '%d'); ", $id);
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$cinemas = null;
 | 
			
		||||
			while($fila = $resul->fetch_assoc()){
 | 
			
		||||
				$cinemas[] = $cinema->loadCinema($fila["id"], $fila["name"], $fila["direction"], $fila["phone"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $cinemas;
 | 
			
		||||
		}
 | 
			
		||||
	    
 | 
			
		||||
		//Create a new film Data Transfer Object.
 | 
			
		||||
		public function loadFilm($id, $tittle, $duration, $language,$description, $img){
 | 
			
		||||
			return new Film( $id, $tittle, $duration, $language,$description, $img);
 | 
			
		||||
		}
 | 
			
		||||
	    	
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										109
									
								
								root/assets/php/includes/hall.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								root/assets/php/includes/hall.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,109 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('hall_dao.php');
 | 
			
		||||
	include_once('seat_dao.php');
 | 
			
		||||
	
 | 
			
		||||
    class Hall{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_number;      	//Room number.
 | 
			
		||||
        private $_idcinema;    	//Cinema Id
 | 
			
		||||
		private $_numRows;     	//Num rows.
 | 
			
		||||
        private $_numCol;      	//Num columns.
 | 
			
		||||
		private $_total_seats;	//Toal seats.	
 | 
			
		||||
		private $_seats_map;	//Seat map.
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($number, $idcinema, $numRows, $numCol, $total_seats, $seats_map){
 | 
			
		||||
            $this->_number = $number;
 | 
			
		||||
            $this->_idcinema = $idcinema;
 | 
			
		||||
            $this->_numRows = $numRows;
 | 
			
		||||
			$this->_numCol = $numCol;
 | 
			
		||||
			$this->_total_seats = $total_seats;
 | 
			
		||||
			$_seats_map = array();
 | 
			
		||||
			$_seats_map = $seats_map;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
		public static function getListHalls($cinema){
 | 
			
		||||
			$bd = new HallDAO('complucine');
 | 
			
		||||
			if($bd )
 | 
			
		||||
				return $bd->getAllHalls($cinema);
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function create_hall($number, $cinema, $rows, $cols, $seats, $seats_map){
 | 
			
		||||
			$bd = new HallDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if(!$bd->searchHall($number, $cinema)){
 | 
			
		||||
					$bd->createHall($number, $cinema, $rows, $cols, $seats, $seats_map);
 | 
			
		||||
					Seat::createSeats($number, $cinema, $rows, $cols, $seats_map);
 | 
			
		||||
					return "Se ha creado la sala con exito";
 | 
			
		||||
				} else {
 | 
			
		||||
					return "Esta sala ya existe";
 | 
			
		||||
				}
 | 
			
		||||
			} else { return "Error al conectarse a la base de datos"; }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static function edit_hall($number, $cinema, $rows, $cols, $seats, $seats_map, $og_number){
 | 
			
		||||
			$bd = new HallDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchHall($og_number, $cinema)){
 | 
			
		||||
					if($og_number == $number){
 | 
			
		||||
						Seat::deleteAllSeats($number, $cinema);
 | 
			
		||||
						$bd->editHall($number, $cinema, $rows, $cols, $seats, $og_number);
 | 
			
		||||
						Seat::createSeats($number, $cinema, $rows, $cols, $seats_map);
 | 
			
		||||
						return "Se ha editado la sala con exito";
 | 
			
		||||
					}else{
 | 
			
		||||
						if(!$bd->searchHall($number, $cinema)){
 | 
			
		||||
							Seat::deleteAllSeats($og_number, $cinema);
 | 
			
		||||
							$bd->editHall($number, $cinema, $rows, $cols, $seats, $og_number);
 | 
			
		||||
							Seat::createSeats($number, $cinema, $rows, $cols, $seats_map);
 | 
			
		||||
							return "Se ha editado la sala con exito";
 | 
			
		||||
						}else
 | 
			
		||||
							return "El nuevo numero de sala ya existe en otra sala";
 | 
			
		||||
					}
 | 
			
		||||
				} else {
 | 
			
		||||
					return "La sala a editar no existe";
 | 
			
		||||
				}
 | 
			
		||||
			} else { return "Error al conectarse a la base de datos"; }
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static function delete_hall($number, $cinema, $rows, $cols, $seats, $seats_map, $og_number){
 | 
			
		||||
			$bd = new HallDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchHall($og_number, $cinema)){
 | 
			
		||||
					$bd->deleteHall($og_number, $cinema);
 | 
			
		||||
					Seat::deleteAllSeats($og_number, $cinema);
 | 
			
		||||
					return "La sala se ha eliminado correctamente";
 | 
			
		||||
				} else {
 | 
			
		||||
					return "La sala a borrar no existe";
 | 
			
		||||
				}
 | 
			
		||||
			} else { return "Error al conectarse a la base de datos"; }
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function search_hall($number,$cinema){
 | 
			
		||||
			$bd = new HallDAO('complucine');
 | 
			
		||||
			if($bd )
 | 
			
		||||
				return $bd->searchHall($number,$cinema);;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setNumber($number){	$this->_number = $number; }
 | 
			
		||||
		public function getNumber(){ return $this->_number; }
 | 
			
		||||
 | 
			
		||||
        public function setIdcinema($idcinema){	$this->_idcinema = $idcinema; }
 | 
			
		||||
		public function getIdcinema(){ return $this->_idcinema; }
 | 
			
		||||
 | 
			
		||||
		public function setNumRows($numRows){ $this->_numRows = $numRows; }
 | 
			
		||||
		public function getNumRows(){ return $this->_numRows; }
 | 
			
		||||
		
 | 
			
		||||
		public function setNumCol($numCol){ $this->_numCol = $numCol; }
 | 
			
		||||
		public function getNumCol(){ return $this->_numCol; }
 | 
			
		||||
 | 
			
		||||
		public function setTotalSeats($totalSeat){ $this->_total_seats = $totalSeat; }
 | 
			
		||||
		public function getTotalSeats(){ return $this->_total_seats; }
 | 
			
		||||
 | 
			
		||||
		public function setSeatsmap($seats_map){ $this->_seats_map = $seats_map; }
 | 
			
		||||
		public function getSeatsmap(){ return $this->_seats_map; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										116
									
								
								root/assets/php/includes/hall_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								root/assets/php/includes/hall_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,116 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('hall.php');
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
    class HallDAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new hall taking the new number,cinema, rows, cols, seats and seats map saving in the database
 | 
			
		||||
		public function createHall($number, $cinema, $rows, $cols, $seats, $seats_map){
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `hall`( `number`, `idcinema`, `numrows`, `numcolumns`, `total_seats`) 
 | 
			
		||||
								VALUES ( '%d', '%d', '%d', '%d', '%d')", 
 | 
			
		||||
								$number, $cinema, $rows, $cols, $seats );
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error BD createhall');
 | 
			
		||||
			
 | 
			
		||||
			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){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM hall WHERE 
 | 
			
		||||
							idcinema = '%s'", 
 | 
			
		||||
							$cinema);	
 | 
			
		||||
							
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			$hall = null;
 | 
			
		||||
			while($fila=mysqli_fetch_array($resul)){
 | 
			
		||||
				$hall[] = $this->loadHall($fila["number"], $fila["idcinema"], $fila["numrows"], $fila["numcolumns"], $fila["total_seats"], null);
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $hall;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Returns a  hall data taking the number and cinema
 | 
			
		||||
		public function searchHall($number, $cinema){
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM hall WHERE 
 | 
			
		||||
							number = '%s' AND idcinema = '%s'", 
 | 
			
		||||
							$number, $cinema);	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			$hall = false;
 | 
			
		||||
			
 | 
			
		||||
			if($resul){
 | 
			
		||||
				if($resul->num_rows == 1){
 | 
			
		||||
					$fila = $resul->fetch_assoc();
 | 
			
		||||
					$hall = $this->loadHall($fila["number"], $fila["idcinema"], $fila["numrows"], $fila["numcolumns"], $fila["total_seats"], null);
 | 
			
		||||
				}
 | 
			
		||||
				$resul->free();
 | 
			
		||||
			}
 | 
			
		||||
		
 | 
			
		||||
			return $hall;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		//Create a new Hall Data Transfer Object.
 | 
			
		||||
		public function loadHall($number, $idcinema, $numrows, $numcolumns, $total_seats, $seats_map){
 | 
			
		||||
			return new Hall($number, $idcinema, $numrows, $numcolumns, $total_seats, $seats_map);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Edit a hall taking the new number, rows, cols ans seats with respect to its origin parameter
 | 
			
		||||
		public function editHall($number, $cinema, $rows, $cols, $seats, $og_number){
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "UPDATE `hall`
 | 
			
		||||
							SET `number` = '%d' ,`numrows` = '%d' , `numcolumns` = '%d' , `total_seats` = %d
 | 
			
		||||
							WHERE `hall`.`number` = '%d' AND `hall`.`idcinema` = '%d';", 
 | 
			
		||||
							$number, $rows, $cols, $seats, $og_number, $cinema );
 | 
			
		||||
			
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Delete a hall whit the primary key
 | 
			
		||||
		public function deleteHall($number, $cinema){
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "DELETE FROM `hall` WHERE `hall`.`number` = '%d' AND `hall`.`idcinema` = '%d';",$number, $cinema);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										35
									
								
								root/assets/php/includes/manager.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								root/assets/php/includes/manager.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<?php
 | 
			
		||||
    
 | 
			
		||||
    class Manager{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_id;               //Manager ID.
 | 
			
		||||
        private $_username;           //Manager username.
 | 
			
		||||
        private $_email;         //Email.
 | 
			
		||||
        private $_roll;       //Roll
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($id, $idcinema, $username, $email, $roll){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_idcinema = $idcinema;
 | 
			
		||||
            $this->_username = $username;
 | 
			
		||||
            $this->_email = $email;
 | 
			
		||||
            $this->_roll = $roll;
 | 
			
		||||
        }
 | 
			
		||||
	
 | 
			
		||||
		//Methods:
 | 
			
		||||
	    
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
        public function setIdcinema($idcinema){	$this->_idcinema = $idcinema; }
 | 
			
		||||
		public function getIdcinema(){ return $this->_idcinema; }
 | 
			
		||||
        public function setUsername($username){$this->_username = $username; }
 | 
			
		||||
		public function getUsername(){ return 	$this->_username;}
 | 
			
		||||
        public function setEmail($email){$this->_email = $email;}
 | 
			
		||||
		public function getEmail(){return $this->_email;}
 | 
			
		||||
        public function setRoll($roll){$this->_roll = $roll;}
 | 
			
		||||
		public function getRoll(){return  $this->_roll;}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										77
									
								
								root/assets/php/includes/manager_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								root/assets/php/includes/manager_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('manager.php');
 | 
			
		||||
 | 
			
		||||
    class Manager_DAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
		
 | 
			
		||||
	   	//Returns a query to get all the manager's data.
 | 
			
		||||
		public function allManagersData(){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM `users` JOIN `manager` ON manager.id = users.id");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$managers[] = $this->loadManager($fila["id"], $fila["idcinema"], $fila["username"], $fila["email"], $fila["rol"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
			return $managers;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  manager data taking the id
 | 
			
		||||
		public function GetManager($id){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM `manager` WHERE manager.id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  manager data 
 | 
			
		||||
		public function GetManagerCinema($id, $idcinema){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM `manager` WHERE manager.id = '%d' AND manager.idcinema ='%d'", $id, $idcinema );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		 //Create a new Manager with a new id and id cinema
 | 
			
		||||
		 public function createManager($id, $idcinema){
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `manager`( `id`, `idcinema`)
 | 
			
		||||
								VALUES ( '%d', '%d')", 
 | 
			
		||||
									$id, $idcinema);
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		//Deleted manager by "id".
 | 
			
		||||
		public function deleteManager($id){
 | 
			
		||||
			$sql = sprintf( "DELETE FROM `manager` WHERE manager.id = '%d' ;",$id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit manager by "id" and "idcinema"
 | 
			
		||||
		public function editManager($id, $idcinema){
 | 
			
		||||
			$sql = sprintf( "UPDATE `manager` SET manager.idcinema = '%d'
 | 
			
		||||
								WHERE manager.id = '%d';", 
 | 
			
		||||
									 $idcinema, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
	    
 | 
			
		||||
		//Create a new Manager Data Transfer Object.
 | 
			
		||||
		public function loadManager($id, $idcinema, $username, $email, $rol){
 | 
			
		||||
			return new Manager($id, $idcinema, $username, $email, $rol);
 | 
			
		||||
		}
 | 
			
		||||
	    	
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										40
									
								
								root/assets/php/includes/promotion.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								root/assets/php/includes/promotion.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<?php
 | 
			
		||||
    
 | 
			
		||||
    class Promotion{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_id;               //Promotion ID.
 | 
			
		||||
        private $_tittle;           //Promotions name.
 | 
			
		||||
        private $_description;      //Promotion description.
 | 
			
		||||
        private $_code;             //Promotion code.
 | 
			
		||||
        private $_active;           //Promotion is active?
 | 
			
		||||
        private $_img;
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($id, $tittle, $description, $code, $active, $img){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_tittle = $tittle;
 | 
			
		||||
            $this->_description = $description;
 | 
			
		||||
            $this->_code = $code;
 | 
			
		||||
            $this->_active = $active;
 | 
			
		||||
            $this->_img= $img;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
        public function setTittle($tittle){	$this->_tittle = $tittle; }
 | 
			
		||||
		public function getTittle(){ return $this->_tittle; }
 | 
			
		||||
        public function setDescription($description){  $this->_description = $description;}
 | 
			
		||||
		public function getDescription(){return  $this->_description;}
 | 
			
		||||
        public function setCode($code){  $this->_code = $code;}
 | 
			
		||||
		public function getCode(){return  $this->_code;}
 | 
			
		||||
        public function setActive($active){  $this->_active = $active;}
 | 
			
		||||
		public function getActive(){return  $this->_active;}
 | 
			
		||||
        public function setImg($img){  $this->_img = $img;}
 | 
			
		||||
		public function getImg(){return  $this->_img;}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										102
									
								
								root/assets/php/includes/promotion_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								root/assets/php/includes/promotion_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('promotion.php');
 | 
			
		||||
 | 
			
		||||
    class Promotion_DAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new Session.
 | 
			
		||||
		public function createPromotion($id, $tittle, $description, $code, $active, $img){
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `promotion`( `id`, `tittle`, `description`, `code`, `active`, `img`) 
 | 
			
		||||
								VALUES ( '%d', '%s', '%s', '%s', '%s', '%s')", 
 | 
			
		||||
									$id, $tittle, $description, $code, $active, $img);
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
	    //Returns a query to get All the promotion.
 | 
			
		||||
		public function allPromotionData(){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM promotion ");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$promotions[] = $this->loadPromotion($fila["id"], $fila["tittle"], $fila["description"], $fila["code"], $fila["active"], $fila["img"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
			return $promotions;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  promotion data  by code.
 | 
			
		||||
		public function GetPromotion($code){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM promotion WHERE promotion.code = '%s'", $code );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  promotion data  by id.
 | 
			
		||||
		public function promotionData($id){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM promotion WHERE promotion.id = '%d'", $id);
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Deleted promotion by "id".
 | 
			
		||||
		public function deletePromotion($id){
 | 
			
		||||
			$sql = sprintf( "DELETE FROM promotion WHERE promotion.id = '%d' ;",$id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit a promotion with new img.
 | 
			
		||||
		public function editPromotion($id, $tittle, $description, $code, $active, $img){
 | 
			
		||||
			$sql = sprintf( "UPDATE promotion SET tittle = '%s' , description = '%s', code ='%s' , active ='%s', img = '%s'
 | 
			
		||||
								WHERE promotion.id = '%d';", 
 | 
			
		||||
									 $tittle, $description, $code, $active, $img, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Edit a promotion without new img.
 | 
			
		||||
		public function editPromotionNoImg($id, $tittle, $description, $code, $active){
 | 
			
		||||
			$sql = sprintf( "UPDATE promotion SET tittle = '%s' , description = '%s', code ='%s' , active ='%s'
 | 
			
		||||
								WHERE promotion.id = '%d';", 
 | 
			
		||||
									 $tittle, $description, $code, $active, $id);
 | 
			
		||||
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a  promotion data as object.
 | 
			
		||||
		public function GetPromotionObj($code){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM promotion WHERE promotion.code = '%s'", $code );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			$promo = null;
 | 
			
		||||
			while($fila = $resul->fetch_assoc()){
 | 
			
		||||
				$promo = $this->loadPromotion($fila["id"], $fila["tittle"], $fila["description"], $fila["code"], $fila["active"], $fila["img"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $promo;
 | 
			
		||||
		}
 | 
			
		||||
	    
 | 
			
		||||
		//Create a new film Data Transfer Object.
 | 
			
		||||
		public function loadPromotion($id, $tittle, $description, $code, $active, $img){
 | 
			
		||||
			return new Promotion($id, $tittle, $description, $code, $active, $img);
 | 
			
		||||
		}
 | 
			
		||||
	    	
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										43
									
								
								root/assets/php/includes/purchase.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								root/assets/php/includes/purchase.php
									
									
									
									
									
										Normal 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; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										46
									
								
								root/assets/php/includes/purchase_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								root/assets/php/includes/purchase_dao.php
									
									
									
									
									
										Normal 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);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										63
									
								
								root/assets/php/includes/seat.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								root/assets/php/includes/seat.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('seat_dao.php');
 | 
			
		||||
 | 
			
		||||
    class Seat{
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_idhall;     	//Hall id.
 | 
			
		||||
        private $_idcinema;    	//Cinema id.
 | 
			
		||||
		private $_numRow;     	//Number of row.
 | 
			
		||||
        private $_numCol;      	//Number of column.
 | 
			
		||||
		private $_state;      	//State of the seat-
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($idhall, $idcinema, $numRow, $numCol, $state){
 | 
			
		||||
            $this->_number = $idhall;
 | 
			
		||||
            $this->_idcinema = $idcinema;
 | 
			
		||||
            $this->_numRow = $numRow;
 | 
			
		||||
			$this->_numCol = $numCol;
 | 
			
		||||
			$this->_state = $state;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		static public function createSeats($hall, $cinema, $rows, $cols, $seats_map){
 | 
			
		||||
			$bd = new SeatDAO('complucine');
 | 
			
		||||
 | 
			
		||||
			for($i = 1;$i <= $rows;$i++){
 | 
			
		||||
				for($j = 1; $j <= $cols;$j++){
 | 
			
		||||
					$bd->createSeat($hall, $cinema, $i, $j, $seats_map[$i][$j]);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		static public function getSeatsMap($number, $cinema){
 | 
			
		||||
			$bd = new SeatDAO('complucine');
 | 
			
		||||
			if($bd )
 | 
			
		||||
				return $bd->getAllSeats($number, $cinema);
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		static public function deleteAllSeats($number, $cinema){
 | 
			
		||||
			$bd = new SeatDAO('complucine');
 | 
			
		||||
			if($bd)
 | 
			
		||||
				return $bd->deletemapSeats($number, $cinema);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setNumber($number){	$this->_number = $number; }
 | 
			
		||||
		public function getNumber(){ return $this->_number; }
 | 
			
		||||
 | 
			
		||||
        public function setIdcinema($idcinema){	$this->_idcinema = $idcinema; }
 | 
			
		||||
		public function getIdcinema(){ return $this->_idcinema; }
 | 
			
		||||
 | 
			
		||||
		public function setNumRows($numRow){ $this->_numRow = $numRow; }
 | 
			
		||||
		public function getNumRows(){ return $this->_numRow; }
 | 
			
		||||
		
 | 
			
		||||
		public function setNumCol($numCol){ $this->_numCol = $numCol; }
 | 
			
		||||
		public function getNumCol(){ return $this->_numCol; }
 | 
			
		||||
		
 | 
			
		||||
		public function setState($state){ $this->_state = $state; }
 | 
			
		||||
		public function getState(){ return $this->_state; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										60
									
								
								root/assets/php/includes/seat_dao-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								root/assets/php/includes/seat_dao-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('seat.php');
 | 
			
		||||
	
 | 
			
		||||
    class SeatDAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new Seat  taking the new hall,cinema,row,col and state saving in the database
 | 
			
		||||
		public function createSeat($hall, $cinema, $row, $col, $state){
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `seat`( `idhall`, `idcinema`, `numrow`, `numcolum`, `active`) 
 | 
			
		||||
								VALUES ( '%d', '%d', '%d', '%d', '%d')", 
 | 
			
		||||
								$hall, $cinema, $row, $col, $state);
 | 
			
		||||
	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error BD createSeat');
 | 
			
		||||
			
 | 
			
		||||
			return $sql;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Returns a query to get all the seat's data.
 | 
			
		||||
		public function getAllSeats($number, $cinema){
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM seat WHERE 
 | 
			
		||||
							idhall = '%d' AND idcinema = '%d'", 
 | 
			
		||||
							$number, $cinema);	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			$seat_map = null;
 | 
			
		||||
			while($fila=mysqli_fetch_array($resul)){
 | 
			
		||||
				$seat_map[] = $this->loadSeat($fila["idhall"], $fila["idcinema"], $fila["numrow"], $fila["numcolum"], $fila["active"]);
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $seat_map;
 | 
			
		||||
		}
 | 
			
		||||
		//Delete a Seat whit the primary key
 | 
			
		||||
		public function deletemapSeats($hall, $cinema){
 | 
			
		||||
            $sql = sprintf( "DELETE FROM `seat` WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s'", 
 | 
			
		||||
							$cinema, $hall);	
 | 
			
		||||
 | 
			
		||||
            $resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
            return $resul;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		//Create a new Seat Data Transfer Object.
 | 
			
		||||
		public function loadSeat($idhall, $idcinema, $numRow, $numCol, $state){
 | 
			
		||||
			return new Seat($idhall, $idcinema, $numRow, $numCol, $state);
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										76
									
								
								root/assets/php/includes/seat_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								root/assets/php/includes/seat_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('seat.php');
 | 
			
		||||
	
 | 
			
		||||
    class SeatDAO extends DAO {
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Create a new Seat  taking the new hall,cinema,row,col and state saving in the database
 | 
			
		||||
		public function createSeat($hall, $cinema, $row, $col, $state){
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `seat`( `idhall`, `idcinema`, `numrow`, `numcolum`, `active`) 
 | 
			
		||||
								VALUES ( '%d', '%d', '%d', '%d', '%d')", 
 | 
			
		||||
								$hall, $cinema, $row, $col, $state);
 | 
			
		||||
	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error BD createSeat');
 | 
			
		||||
			
 | 
			
		||||
			return $sql;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Returns a query to get all the seat's data.
 | 
			
		||||
		public function getAllSeats($number, $cinema){
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM seat WHERE 
 | 
			
		||||
							idhall = '%d' AND idcinema = '%d'", 
 | 
			
		||||
							$number, $cinema);	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			$seat_map = null;
 | 
			
		||||
			while($fila=mysqli_fetch_array($resul)){
 | 
			
		||||
				$seat_map[] = $this->loadSeat($fila["idhall"], $fila["idcinema"], $fila["numrow"], $fila["numcolum"], $fila["active"]);
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $seat_map;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Delete a Seat whit the primary key
 | 
			
		||||
		public function deletemapSeats($hall, $cinema){
 | 
			
		||||
            $sql = sprintf( "DELETE FROM `seat` WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s'", 
 | 
			
		||||
							$cinema, $hall);	
 | 
			
		||||
 | 
			
		||||
            $resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
            return $resul;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Change state of the seat.
 | 
			
		||||
		/*
 | 
			
		||||
		public function changeSeatState($hall, $cinema, $row, $col, $state){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($idHall);
 | 
			
		||||
			$state = $this->mysqli->real_escape_string($state);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "UPDATE seat SET active = '%d' WHERE idhall = '%d' AND idcinema = '%d' AND numrow = '%d' AND numcolum = '%d'", 
 | 
			
		||||
																						$state, $hall, $cinema, $row, $col );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		*/
 | 
			
		||||
		
 | 
			
		||||
		//Create a new Seat Data Transfer Object.
 | 
			
		||||
		public function loadSeat($idhall, $idcinema, $numRow, $numCol, $state){
 | 
			
		||||
			return new Seat($idhall, $idcinema, $numRow, $numCol, $state);
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										136
									
								
								root/assets/php/includes/session-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								root/assets/php/includes/session-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('session_dao.php');
 | 
			
		||||
 | 
			
		||||
    class Session{
 | 
			
		||||
 | 
			
		||||
        private $_id;          
 | 
			
		||||
        private $_idfilm;
 | 
			
		||||
        private $_idhall;
 | 
			
		||||
		private $_idcinema;			
 | 
			
		||||
        private $_date;
 | 
			
		||||
        private $_startTime;
 | 
			
		||||
        private $_seatPrice;
 | 
			
		||||
        private $_format;
 | 
			
		||||
		private $_seats_full;
 | 
			
		||||
		
 | 
			
		||||
        function __construct($id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_idfilm = $idfilm;
 | 
			
		||||
            $this->_idhall = $idhall;
 | 
			
		||||
			$this->_idcinema = $idcinema;
 | 
			
		||||
            $this->_date = $date;
 | 
			
		||||
            $this->_startTime = $startTime;
 | 
			
		||||
            $this->_seatPrice = $seatPrice;
 | 
			
		||||
            $this->_format = $format;
 | 
			
		||||
			$this->_seats_full = $seats_full;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		public static function getListSessions($hall,$cinema,$date){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				if($date)
 | 
			
		||||
					return $bd->getAllSessions($hall, $cinema, $date, null);
 | 
			
		||||
				else
 | 
			
		||||
					return $bd->getAllSessions($hall, $cinema, null, null);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		public static function getListSessionsBetween2Dates($hall,$cinema,$start,$end){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				return $bd->getAllSessions($hall, $cinema, $start, $end);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function create_session($cinema, $hall, $start, $date, $film, $price, $format,$repeat){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if(!$bd->searchSession($cinema, $hall, $start, $date)){
 | 
			
		||||
					$bd->createSession(null,$film, $hall, $cinema, $date, $start, $price, $format);
 | 
			
		||||
 | 
			
		||||
					if($repeat > "0") {
 | 
			
		||||
						$repeats = $repeat;
 | 
			
		||||
						$repeat = $repeat - 1;
 | 
			
		||||
						$date = date('Y-m-d', strtotime( $date . ' +1 day') );
 | 
			
		||||
						self::create_session($cinema, $hall, $start, $date, $film, $price, $format,$repeat);
 | 
			
		||||
						return "Se han creado las ".$repeat ." sesiones con exito";
 | 
			
		||||
					}
 | 
			
		||||
						
 | 
			
		||||
					else
 | 
			
		||||
						return "Se ha creado la session con exito";
 | 
			
		||||
				} else 
 | 
			
		||||
					return "Esta session ya existe";
 | 
			
		||||
				
 | 
			
		||||
			} else return "Error al conectarse a la base de datos";
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function edit_session($cinema, $or_hall, $or_date, $or_start, $hall, $start, $date, $film, $price, $format){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchSession($cinema, $or_hall, $or_start, $or_date)){
 | 
			
		||||
					if(!$bd->searchSession($cinema,$hall,$start,$date)){
 | 
			
		||||
						$origin = array("cinema" => $cinema,"hall" => $or_hall,"start" => $or_start,"date" => $or_date);
 | 
			
		||||
						$bd->editSession($film, $hall, $cinema, $date, $start, $price, $format,$origin);
 | 
			
		||||
						return "Se ha editado la session con exito";			
 | 
			
		||||
					}else if($or_hall == $hall && $or_start == $start && $or_date == $date){
 | 
			
		||||
						$origin = array("cinema" => $cinema,"hall" => $or_hall,"start" => $or_start,"date" => $or_date);
 | 
			
		||||
						$bd->editSession($film, $hall, $cinema, $date, $start, $price, $format, $origin);
 | 
			
		||||
						return "Se ha editado la session con exito";
 | 
			
		||||
					}else{
 | 
			
		||||
						return "Ya existe una sesion con los parametros nuevos";	
 | 
			
		||||
					}
 | 
			
		||||
						
 | 
			
		||||
				} else 
 | 
			
		||||
					return "La session a editar no existe";
 | 
			
		||||
				
 | 
			
		||||
			} else return "Error al conectarse a la base de datos";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static function delete_session($cinema, $hall, $start, $date){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchSession($cinema, $hall, $start, $date)){
 | 
			
		||||
					$bd->deleteSession($hall, $cinema, $date, $start);
 | 
			
		||||
					return "Se ha eliminado la session con exito";						
 | 
			
		||||
				} else 
 | 
			
		||||
					return "Esta session no existe";
 | 
			
		||||
				
 | 
			
		||||
			} else return "Error al conectarse a la base de datos";
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Esto deberia estar en film.php? seguramente
 | 
			
		||||
		public static function getThisSessionFilm($idfilm){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				return $bd->filmTittle($idfilm);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
 | 
			
		||||
        public function setIdfilm($idfilm){ $this->_idfilm = $idfilm; }
 | 
			
		||||
		public function getIdfilm(){ return $this->_idfilm; }
 | 
			
		||||
        
 | 
			
		||||
        public function setIdhall($idhall){ $this->_idhall = $idhall; }
 | 
			
		||||
		public function getIdhall(){ return $this->_idhall; }
 | 
			
		||||
		
 | 
			
		||||
		public function setIdcinema($cinema){ $this->_idcinema = $idcinema; }
 | 
			
		||||
		public function getIdcinema(){ return $this->_idcinema; }
 | 
			
		||||
 | 
			
		||||
		public function setDate($date){ $this->_date = $date; }
 | 
			
		||||
		public function getDate(){ return $this->_date; }
 | 
			
		||||
 | 
			
		||||
		public function setStartTime($startTime){ $this->_startTime = $startTime; }
 | 
			
		||||
		public function getStartTime(){ return $this->_startTime; }
 | 
			
		||||
 | 
			
		||||
		public function setSeatPrice($seatPrice){ $this->_seatPrice = $seatPrice; }
 | 
			
		||||
		public function getSeatPrice(){ return $this->_seatPrice; }
 | 
			
		||||
 | 
			
		||||
		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; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										129
									
								
								root/assets/php/includes/session.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								root/assets/php/includes/session.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,129 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('session_dao.php');
 | 
			
		||||
 | 
			
		||||
    class Session{
 | 
			
		||||
 | 
			
		||||
        private $_id;          
 | 
			
		||||
        private $_idfilm;
 | 
			
		||||
        private $_idhall;
 | 
			
		||||
		private $_idcinema;			
 | 
			
		||||
        private $_date;
 | 
			
		||||
        private $_startTime;
 | 
			
		||||
        private $_seatPrice;
 | 
			
		||||
        private $_format;
 | 
			
		||||
		private $_seats_full;
 | 
			
		||||
		
 | 
			
		||||
        function __construct($id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_idfilm = $idfilm;
 | 
			
		||||
            $this->_idhall = $idhall;
 | 
			
		||||
			$this->_idcinema = $idcinema;
 | 
			
		||||
            $this->_date = $date;
 | 
			
		||||
            $this->_startTime = $startTime;
 | 
			
		||||
            $this->_seatPrice = $seatPrice;
 | 
			
		||||
            $this->_format = $format;
 | 
			
		||||
			$this->_seats_full = $seats_full;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		public static function getListSessions($hall,$cinema,$date){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				if($date)
 | 
			
		||||
					return $bd->getAllSessions($hall, $cinema, $date, null);
 | 
			
		||||
				else
 | 
			
		||||
					return $bd->getAllSessions($hall, $cinema, null, null);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function getListSessionsBetween2Dates($hall,$cinema,$start,$end){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				return $bd->getAllSessions($hall, $cinema, $start, $end);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static function create_session($cinema, $hall, $start, $date, $film, $price, $format){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if(!$bd->searchSessionActivesAtStartTimeAndFilmDuration($cinema, $hall, $start, $date, $film)){
 | 
			
		||||
					$bd->createSession(null,$film, $hall, $cinema, $date, $start, $price, $format);
 | 
			
		||||
					return 'Operación completada';
 | 
			
		||||
				} else 
 | 
			
		||||
					return 'La session del dia '.$date.' coincide con otra';
 | 
			
		||||
 | 
			
		||||
			} else return 'Error al conectarse a la base de datos';
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static function edit_session($cinema, $or_hall, $or_date, $or_start, $hall, $start, $date, $film, $price, $format){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchSession($cinema, $or_hall, $or_start, $or_date)){
 | 
			
		||||
					if(!$bd->searchSession($cinema,$hall,$start,$date)){
 | 
			
		||||
						$origin = array("cinema" => $cinema,"hall" => $or_hall,"start" => $or_start,"date" => $or_date);
 | 
			
		||||
						$bd->editSession($film, $hall, $cinema, $date, $start, $price, $format, $origin);
 | 
			
		||||
						return "Se ha editado la session con exito";		
 | 
			
		||||
						
 | 
			
		||||
					}else if($or_hall == $hall && $or_start == $start && $or_date == $date){
 | 
			
		||||
						$origin = array("cinema" => $cinema,"hall" => $or_hall,"start" => $or_start,"date" => $or_date);
 | 
			
		||||
						$bd->editSession($film, $hall, $cinema, $date, $start, $price, $format, $origin);
 | 
			
		||||
						return "Se ha editado la session con exito";
 | 
			
		||||
					}else{
 | 
			
		||||
						return "Ya existe una sesion con los parametros nuevos";	
 | 
			
		||||
					}
 | 
			
		||||
				} else 
 | 
			
		||||
					return "La session a editar no existe";
 | 
			
		||||
				
 | 
			
		||||
			} else return "Error al conectarse a la base de datos";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public static function delete_session($cinema, $hall, $start, $date){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ){
 | 
			
		||||
				if($bd->searchSession($cinema, $hall, $start, $date)){
 | 
			
		||||
					$bd->deleteSession($hall, $cinema, $date, $start);
 | 
			
		||||
					return "Se ha eliminado la session con exito";						
 | 
			
		||||
				} else 
 | 
			
		||||
					return "Esta session no existe";
 | 
			
		||||
			} else return "Error al conectarse a la base de datos";	
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Esto deberia estar en film.php? seguramente
 | 
			
		||||
		public static function getThisSessionFilm($idfilm){
 | 
			
		||||
			$bd = new SessionDAO('complucine');
 | 
			
		||||
			if($bd ) {
 | 
			
		||||
				$film = $bd->filmTittle($idfilm);
 | 
			
		||||
				$film["tittle"] = str_replace('_', ' ',$film["tittle"]);
 | 
			
		||||
				return $film;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
 | 
			
		||||
        public function setIdfilm($idfilm){ $this->_idfilm = $idfilm; }
 | 
			
		||||
		public function getIdfilm(){ return $this->_idfilm; }
 | 
			
		||||
        
 | 
			
		||||
        public function setIdhall($idhall){ $this->_idhall = $idhall; }
 | 
			
		||||
		public function getIdhall(){ return $this->_idhall; }
 | 
			
		||||
		
 | 
			
		||||
		public function setIdcinema($cinema){ $this->_idcinema = $idcinema; }
 | 
			
		||||
		public function getIdcinema(){ return $this->_idcinema; }
 | 
			
		||||
 | 
			
		||||
		public function setDate($date){ $this->_date = $date; }
 | 
			
		||||
		public function getDate(){ return $this->_date; }
 | 
			
		||||
 | 
			
		||||
		public function setStartTime($startTime){ $this->_startTime = $startTime; }
 | 
			
		||||
		public function getStartTime(){ return $this->_startTime; }
 | 
			
		||||
 | 
			
		||||
		public function setSeatPrice($seatPrice){ $this->_seatPrice = $seatPrice; }
 | 
			
		||||
		public function getSeatPrice(){ return $this->_seatPrice; }
 | 
			
		||||
 | 
			
		||||
		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; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										154
									
								
								root/assets/php/includes/session_dao-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								root/assets/php/includes/session_dao-FER_SURFACE.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,154 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('session.php');
 | 
			
		||||
	
 | 
			
		||||
    class SessionDAO extends DAO {
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __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
 | 
			
		||||
		public function createSession($id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format){
 | 
			
		||||
			$format = $this->mysqli->real_escape_string($format);	
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `session` (`id`, `idfilm`, `idhall`, `idcinema`, `date`, `start_time`, `seat_price`, `format`, `seats_full`) 
 | 
			
		||||
				VALUES ('%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s', '%d')",
 | 
			
		||||
					$id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, "0");
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			return $sql;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a query to get the session's data.
 | 
			
		||||
		public function sessionData($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);
 | 
			
		||||
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $session;
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
		//Look for a tittle with the id film
 | 
			
		||||
		public function filmTittle($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_fetch_array($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
		//Look for a session with the primary key 
 | 
			
		||||
		public function searchSession($cinema, $hall, $startTime, $date){
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'", 
 | 
			
		||||
							$cinema, $hall, $date, $startTime);	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			$session = mysqli_fetch_array($resul);
 | 
			
		||||
			
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $session;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Returns a query to get all the session's data.
 | 
			
		||||
		public function getAllSessions($hall, $cinema, $date, $end){
 | 
			
		||||
			if($end){
 | 
			
		||||
  
 | 
			
		||||
				$date = $date->format("Y-m-d"); 
 | 
			
		||||
				$end = $end->format("Y-m-d");  
 | 
			
		||||
				
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' AND date BETWEEN '%s' AND '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall, $date, $end);				
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			
 | 
			
		||||
			if($date && !$end){
 | 
			
		||||
				$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
				
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' AND date = '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall, $date);	
 | 
			
		||||
			}else{
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall);	
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
			
 | 
			
		||||
			$sessions = null;
 | 
			
		||||
			
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Look for a title and cinema
 | 
			
		||||
		public function getSessions_Film_Cinema($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');
 | 
			
		||||
 | 
			
		||||
			$sessions = null;
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit a session taking the new film, hall, date, start time, seat price and format with respect to its origin parameter
 | 
			
		||||
        public function editSession($idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin){
 | 
			
		||||
			$format = $this->mysqli->real_escape_string($format);
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			
 | 
			
		||||
            $sql = sprintf( "UPDATE `session`
 | 
			
		||||
                             SET `idfilm` = '%d' , `idhall` = '%d', `idcinema` = '%d', `date` = '%s',
 | 
			
		||||
                                  `start_time` = '%s', `seat_price` = '%d', `format` = '%s'
 | 
			
		||||
                             WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'", 
 | 
			
		||||
                $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;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Delete a session whit the primary key
 | 
			
		||||
        public function deleteSession($hall, $cinema, $date, $startTime){
 | 
			
		||||
 | 
			
		||||
            $sql = sprintf( "DELETE FROM `session` WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'", 
 | 
			
		||||
							$cinema, $hall, $date, $startTime);	
 | 
			
		||||
 | 
			
		||||
            $resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
            return $resul;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		//Create a new Session Data Transfer Object.
 | 
			
		||||
		public function loadSession( $id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full){
 | 
			
		||||
			return new Session( $id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										175
									
								
								root/assets/php/includes/session_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								root/assets/php/includes/session_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,175 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('session.php');
 | 
			
		||||
	
 | 
			
		||||
    class SessionDAO extends DAO {
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		//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){
 | 
			
		||||
			$format = $this->mysqli->real_escape_string($format);	
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "INSERT INTO `session` (`id`, `idfilm`, `idhall`, `idcinema`, `date`, `start_time`, `seat_price`, `format`, `seats_full`) 
 | 
			
		||||
				VALUES ('%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s', '%d')",
 | 
			
		||||
					$id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, "0");
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error createSession');
 | 
			
		||||
			
 | 
			
		||||
			return $sql;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a query to get the session's data.
 | 
			
		||||
		public function sessionData($id){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM `session` WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error accessing to the session with id '. $id);
 | 
			
		||||
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $session;
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
		//Look for a film with the id film
 | 
			
		||||
		public function filmTittle($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 accessing to the film with id '. $idfilm);
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_fetch_array($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}	
 | 
			
		||||
		
 | 
			
		||||
		//Look for a session with the primary key 
 | 
			
		||||
		public function searchSession($cinema, $hall, $startTime, $date){
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'", 
 | 
			
		||||
							$cinema, $hall, $date, $startTime);	
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error searching for a session');
 | 
			
		||||
			
 | 
			
		||||
			$session = mysqli_fetch_array($resul);
 | 
			
		||||
			
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $session;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public function searchSessionActivesAtStartTimeAndFilmDuration($cinema, $hall, $startTime, $date, $idfilm){
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			$sessions = [];
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf("SELECT duration FROM film WHERE id='%s'", $idfilm );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error looking for the film duration of id '. $idfilm);
 | 
			
		||||
			
 | 
			
		||||
			$duration = ($resul->fetch_assoc())["duration"]+10;
 | 
			
		||||
			$endHour = date('H:i:s', strtotime( $startTime . ' +'.$duration.' minute'));
 | 
			
		||||
			
 | 
			
		||||
			$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;", 
 | 
			
		||||
					$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');
 | 
			
		||||
			
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		//Returns a query to get all the session's data.
 | 
			
		||||
		public function getAllSessions($hall, $cinema, $date, $end){
 | 
			
		||||
			if($end){
 | 
			
		||||
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' AND date BETWEEN '%s' AND '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall, $date, $end);	
 | 
			
		||||
			}else if($date && !$end){
 | 
			
		||||
				$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
				
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' AND date = '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall, $date);	
 | 
			
		||||
			}else{
 | 
			
		||||
				$sql = sprintf( "SELECT * FROM session WHERE 
 | 
			
		||||
								idcinema = '%s' AND idhall = '%s' ORDER BY start_time ASC;", 
 | 
			
		||||
								$cinema, $hall);	
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error geting all sessions');
 | 
			
		||||
			
 | 
			
		||||
			$sessions = null;
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Look for a title and cinema
 | 
			
		||||
		public function getSessions_Film_Cinema($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 geting sessions with a idfilm and cinema');
 | 
			
		||||
 | 
			
		||||
			$sessions = null;
 | 
			
		||||
			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"]);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $sessions;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		//Edit a session taking the new film, hall, date, start time, seat price and format with respect to its origin parameter
 | 
			
		||||
        public function editSession($idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $origin){
 | 
			
		||||
			$format = $this->mysqli->real_escape_string($format);
 | 
			
		||||
			$date = date('Y-m-d', strtotime( $date ) ); 
 | 
			
		||||
			$origin["date"] = date('Y-m-d', strtotime( $origin["date"] ) ); 
 | 
			
		||||
			$startTime = date('H:i:s', strtotime( $startTime ) );
 | 
			
		||||
			$origin["start"] = date('H:i:s', strtotime( $origin["start"] ) ); 
 | 
			
		||||
			
 | 
			
		||||
            $sql = sprintf( "UPDATE `session`
 | 
			
		||||
                             SET `idfilm` = '%d' , `idhall` = '%d', `idcinema` = '%d', `date` = '%s',
 | 
			
		||||
                                  `start_time` = '%s', `seat_price` = '%d', `format` = '%s'
 | 
			
		||||
                             WHERE 
 | 
			
		||||
								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"]);
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			mysqli_query($this->mysqli, $sql) or die ('Error editing a session');
 | 
			
		||||
			
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Delete a session whit the primary key
 | 
			
		||||
        public function deleteSession($hall, $cinema, $date, $startTime){
 | 
			
		||||
 | 
			
		||||
            $sql = sprintf( "DELETE FROM `session` WHERE 
 | 
			
		||||
							idcinema = '%s' AND idhall = '%s' AND date = '%s' AND start_time = '%s'", 
 | 
			
		||||
							$cinema, $hall, $date, $startTime);	
 | 
			
		||||
 | 
			
		||||
            $resul = mysqli_query($this->mysqli, $sql) or die ('Error deleting a session');
 | 
			
		||||
 | 
			
		||||
            return $resul;
 | 
			
		||||
        }
 | 
			
		||||
		
 | 
			
		||||
		//Create a new Session Data Transfer Object.
 | 
			
		||||
		public function loadSession( $id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full){
 | 
			
		||||
			return new Session( $id, $idfilm, $idhall, $idcinema, $date, $startTime, $seatPrice, $format, $seats_full);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										35
									
								
								root/assets/php/includes/user.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								root/assets/php/includes/user.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<?php   
 | 
			
		||||
    class User {
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
        private $_id;           //User Id.
 | 
			
		||||
        private $_username;     //User name.
 | 
			
		||||
        private $_email;        //User email.
 | 
			
		||||
        private $_password;     //User password.
 | 
			
		||||
        private $_rol;          //Type of user: user | manager | admin.
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($id, $username, $email, $password, $rol){
 | 
			
		||||
            $this->_id = $id;
 | 
			
		||||
            $this->_username = $username;
 | 
			
		||||
            $this->_email = $email;
 | 
			
		||||
            $this->_password = $password;
 | 
			
		||||
            $this->_rol = $rol;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
		//Getters && Setters:
 | 
			
		||||
        public function setId($id){	$this->_id = $id; }
 | 
			
		||||
		public function getId(){ return $this->_id; }
 | 
			
		||||
		public function setName($username){ $this->_username = $username; }
 | 
			
		||||
		public function getName(){ return $this->_username; }
 | 
			
		||||
        public function setEmail($email){ $this->_email = $email; }
 | 
			
		||||
		public function getEmail(){ return $this->_email; }
 | 
			
		||||
		public function setPass($passwd){	$this->_password = $passwd; }
 | 
			
		||||
		public function getPass(){ return $this->_password; }
 | 
			
		||||
        public function setRol($rol){ $this->_rol = $rol; }
 | 
			
		||||
		public function getRol(){ return $this->_rol; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
?>
 | 
			
		||||
							
								
								
									
										176
									
								
								root/assets/php/includes/user_dao.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								root/assets/php/includes/user_dao.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,176 @@
 | 
			
		||||
<?php
 | 
			
		||||
	include_once('user.php');
 | 
			
		||||
 | 
			
		||||
    class UserDAO extends DAO {
 | 
			
		||||
		
 | 
			
		||||
		//Constants:
 | 
			
		||||
		private const _USER = "user";
 | 
			
		||||
		private const _MANAGER = "manager";
 | 
			
		||||
		private const _ADMIN = "admin";
 | 
			
		||||
 | 
			
		||||
        //Attributes:
 | 
			
		||||
 | 
			
		||||
		//Constructor:
 | 
			
		||||
        function __construct($bd_name){
 | 
			
		||||
			parent::__construct($bd_name);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		//Methods:
 | 
			
		||||
 | 
			
		||||
        //Encrypt password with SHA254.
 | 
			
		||||
		private function encryptPass($password){
 | 
			
		||||
			/**
 | 
			
		||||
			 *  Por defecto, la función password_hash(), ya genera una contraseña con "SAL", 
 | 
			
		||||
			 * aunque este sería un ejemplo de cómo crear unas opciones mejores que las que vienen por defecto,
 | 
			
		||||
			 * aumentando el coste.
 | 
			
		||||
			 * Más info: https://www.php.net/manual/es/faq.passwords.php#faq.passwords.salt
 | 
			
		||||
			 * */
 | 
			
		||||
			/*
 | 
			
		||||
			$SALAD = [
 | 
			
		||||
				'cost' => 11, //Por defecto password_hash lo pone a 10.
 | 
			
		||||
				'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM), //Hay que tener activado el módulo mcrypt para usar esta función.
 | 
			
		||||
			];
 | 
			
		||||
			*/
 | 
			
		||||
 | 
			
		||||
			$password = password_hash($password, PASSWORD_DEFAULT); //Actualmente en PHP PASSWORD_DEFAULT equivale a PASSWORD_BCRYPT.
 | 
			
		||||
		
 | 
			
		||||
			return $password;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns true if the password and hash match, or false otherwise.
 | 
			
		||||
		public function verifyPass($password, $passwd){
 | 
			
		||||
			return password_verify($password, $passwd);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		//All users
 | 
			
		||||
		public function allUsersNotM(){
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM `users` WHERE users.id NOT IN (SELECT id FROM `manager`)");
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			while($fila=$resul->fetch_assoc()){
 | 
			
		||||
				$users[] = $this->loadUser($fila['id'], $fila['username'], $fila['email'], $fila['passwd'], $fila['rol']);
 | 
			
		||||
			}
 | 
			
		||||
			$resul->free();
 | 
			
		||||
			return $users;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
        //Create a new User.
 | 
			
		||||
		public function createUser($id, $username, $email, $password, $rol){
 | 
			
		||||
			$password = $this->encryptPass($password);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "INSERT INTO users ( id, username, email, passwd, rol) 
 | 
			
		||||
								VALUES ( '%d', '%s', '%s', '%s', '%s')", 
 | 
			
		||||
									$id, $username, $email, $password, $rol );
 | 
			
		||||
			
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql);
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a query to check if the user name exists.
 | 
			
		||||
		public function selectUser($username, $password){
 | 
			
		||||
			$username = $this->mysqli->real_escape_string($username);
 | 
			
		||||
			$password = $this->mysqli->real_escape_string($password);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM users WHERE username = '%s'", $username );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql);
 | 
			
		||||
 | 
			
		||||
			$user = null;
 | 
			
		||||
			while ($fila = $resul->fetch_assoc()) {
 | 
			
		||||
				if($username === $fila['username'] && $this->verifyPass($password, $fila['passwd'])){
 | 
			
		||||
					$user = $this->loadUser($fila['id'], $fila['username'], $fila['email'], $fila['passwd'], $fila['rol']);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			mysqli_free_result($resul);
 | 
			
		||||
			//$resul->free();
 | 
			
		||||
 | 
			
		||||
			return $user;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Returns a query to get the user's data.
 | 
			
		||||
		public function userData($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
			
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM users WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Search a user by name.
 | 
			
		||||
		public function selectUserName($username){
 | 
			
		||||
			$username = $this->mysqli->real_escape_string($username);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM users WHERE username = '%s'", $username );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql);
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Search a user by email.
 | 
			
		||||
		public function selectUserEmail($email){
 | 
			
		||||
			$email = $this->mysqli->real_escape_string($email);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "SELECT * FROM users WHERE email = '%s'", $email );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql);
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Change username by id.
 | 
			
		||||
		public function changeUserName($id, $username){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
			$username = $this->mysqli->real_escape_string($username);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "UPDATE users SET username = '%s' WHERE id = '%d'", $username, $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Change userpass by id.
 | 
			
		||||
		public function changeUserPass($id, $password){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
			$password = $this->mysqli->real_escape_string($password);
 | 
			
		||||
			$password = $this->encryptPass($password);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "UPDATE users SET passwd = '%s' WHERE id = '%d'", $password, $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Change user email by id.
 | 
			
		||||
		public function changeUserEmail($id, $email){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
			$email = $this->mysqli->real_escape_string($email);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "UPDATE users SET email = '%s' WHERE id = '%d'", $email, $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Delete user account by id.
 | 
			
		||||
		public function deleteUserAccount($id){
 | 
			
		||||
			$id = $this->mysqli->real_escape_string($id);
 | 
			
		||||
 | 
			
		||||
			$sql = sprintf( "DELETE FROM users WHERE id = '%d'", $id );
 | 
			
		||||
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
			
		||||
 | 
			
		||||
			return $resul;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//Create a new User Data Transfer Object.
 | 
			
		||||
		public function loadUser($id, $username, $email, $password, $rol){
 | 
			
		||||
			return new User($id, $username, $email, $password, $rol);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
?>
 | 
			
		||||
		Reference in New Issue
	
	Block a user