165 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
include_once('../assets/php/config.php');
 | 
						|
include_once('../assets/php/common/film_dao.php');
 | 
						|
include_once('../assets/php/common/film_dto.php');
 | 
						|
include_once('../assets/php/form.php');
 | 
						|
 | 
						|
class FormFilm extends Form {
 | 
						|
 | 
						|
    //Atributes:
 | 
						|
    private $correct;  // Indicates if the session is correct.
 | 
						|
    private $reply; // Validation response
 | 
						|
	private $option;
 | 
						|
	private $array;
 | 
						|
    //Constructor:
 | 
						|
    public function __construct() {
 | 
						|
        parent::__construct('formFilm');
 | 
						|
        $this->reply = array();
 | 
						|
    }
 | 
						|
 | 
						|
    public function getReply() {
 | 
						|
		if($this->correct){
 | 
						|
			if($this->option == "new"){
 | 
						|
				$this->reply = "<div class='row'>
 | 
						|
									<div class='column side'></div>
 | 
						|
									<div class='column middle'>
 | 
						|
										<div class='code info'>
 | 
						|
											<h1> Operacion realizada con exito </h1><hr />
 | 
						|
											<p> Se ha añadido la pelicula correctamente en la base de datos.</p>
 | 
						|
											<a href='../panel_admin/index.php?state=mf'><button>Cerrar Mensaje</button></a>
 | 
						|
										</div>
 | 
						|
									</div>
 | 
						|
									<div class='column side'></div>
 | 
						|
								</div>
 | 
						|
								";
 | 
						|
			}else if($this->option == "edit"){
 | 
						|
								$this->reply = "<div class='row'>
 | 
						|
													<div class='column side'></div>
 | 
						|
													<div class='column middle'>
 | 
						|
														<div class='code info'>
 | 
						|
															<h1> Operacion realizada con exito </h1><hr />
 | 
						|
															<p> Se ha editado la pelicula correctamente en la base de datos.</p>
 | 
						|
															<a href='../panel_admin/index.php?state=mf'><button>Cerrar Mensaje</button></a>
 | 
						|
														</div>
 | 
						|
													</div>
 | 
						|
													<div class='column side'></div>
 | 
						|
												</div>
 | 
						|
												";
 | 
						|
			}else if($this->option == "del"){
 | 
						|
								$this->reply = "<div class='row'>
 | 
						|
													<div class='column side'></div>
 | 
						|
														<div class='column middle'>
 | 
						|
															<div class='code info'>
 | 
						|
																<h1> Operacion realizada con exito </h1><hr />
 | 
						|
																<p> Se ha eliminado la pelicula correctamente en la base de datos.</p>
 | 
						|
																<a href='../panel_admin/index.php?state=mf'><button>Cerrar Mensaje</button></a>
 | 
						|
															</div>
 | 
						|
														</div>
 | 
						|
													<div class='column side'></div>
 | 
						|
												</div>
 | 
						|
												";
 | 
						|
			}
 | 
						|
 | 
						|
		} else {
 | 
						|
			$this->reply = "<div class='row'>
 | 
						|
								<div class='column side'></div>
 | 
						|
								<div class='column middle'>
 | 
						|
									<div class='code info'>
 | 
						|
										<h1>ERROR</h1><hr />
 | 
						|
										<p> Ha habido un error en la operacion. Revisa los datos introducidos</p>
 | 
						|
										<a href='../panel_admin/index.php?state=mf'><button>Panel Admin</button></a>
 | 
						|
									</div>
 | 
						|
								</div>
 | 
						|
								<div class='column side'></div>
 | 
						|
							</div>";
 | 
						|
			
 | 
						|
		}
 | 
						|
        return $this->reply;
 | 
						|
    }
 | 
						|
 | 
						|
    //Process form:
 | 
						|
	public function processesForm($_id, $_tittle, $_duration, $_language, $_description, $_img, $_option) {
 | 
						|
		$this->correct = true;
 | 
						|
		$this->option = $_option;
 | 
						|
 | 
						|
		$id= $this->test_input($_id);
 | 
						|
		$tittle=$this->test_input($_tittle);
 | 
						|
		$duration=$this->test_input($_duration);
 | 
						|
		$language=$this->test_input($_language);
 | 
						|
		$description=$this->test_input($_description);
 | 
						|
 | 
						|
		//Validate promotional film image.
 | 
						|
		$file_name = $_FILES['file']['name'];
 | 
						|
		$file_type = $_FILES['file']['type'];
 | 
						|
		$file_size = $_FILES['file']['size'];
 | 
						|
		if (strpos($file_type, "jpg") && $file_size < 100000) {
 | 
						|
			$uploadFile = TMP_DIR . basename($_FILES['file'][$_tittle]);
 | 
						|
			if (!move_uploaded_file($file_name, $uploadFile)){
 | 
						|
				print_r($_FILES);
 | 
						|
			}
 | 
						|
		}
 | 
						|
		else{
 | 
						|
			$this->correct =false;
 | 
						|
		}
 | 
						|
	
 | 
						|
		//Habria que validar todo para que encaje en la base de datos
 | 
						|
			
 | 
						|
		$bd = new Film_DAO('complucine');
 | 
						|
		if($bd){
 | 
						|
			if($this->option == "new"){
 | 
						|
				 //Primero comprobar si los campos no son vacios y la duracion es mayor que 0
 | 
						|
				if(!empty($tittle)&&$duration>0&&!empty($language)&&!empty($description)){
 | 
						|
					// comprobar si existe una pelicula con el mismo titulo e idioma
 | 
						|
					$exist = $bd-> GetFilm($tittle,$language);
 | 
						|
					if( mysqli_num_rows($exist) != 0){
 | 
						|
						$this->correct =false;
 | 
						|
					}
 | 
						|
					else{
 | 
						|
						$bd->createFilm(null, $tittle,$duration,$language,$description);
 | 
						|
 | 
						|
					}
 | 
						|
					$exist->free();
 | 
						|
				}
 | 
						|
				else{
 | 
						|
					$this->correct =false;
 | 
						|
				}	
 | 
						|
			} else if ($this->option == "del"){
 | 
						|
				//Primero comprobar si existe una pelicula con el mismo id
 | 
						|
				$exist = $bd-> FilmData($id);
 | 
						|
				if( mysqli_num_rows($exist) == 1){
 | 
						|
					$bd->deleteFilm($id);
 | 
						|
				}
 | 
						|
				else{
 | 
						|
					$this->correct =false;
 | 
						|
				}
 | 
						|
			} else if ($this->option == "edit"){
 | 
						|
				 //Primero comprobar si los campos no son vacios y la duracion es mayor que 0
 | 
						|
				if(!empty($tittle)&&$duration>0&&!empty($language)&&!empty($description)){
 | 
						|
					//comprobar si existe una pelicula con el mismo id
 | 
						|
					$exist = $bd-> FilmData($id);
 | 
						|
					if( mysqli_num_rows($exist) == 1){
 | 
						|
						$bd->editFilm($id,$tittle,$duration,$language,$description);
 | 
						|
					}
 | 
						|
					else{
 | 
						|
						$this->correct =false;
 | 
						|
					}
 | 
						|
					$exist->free();
 | 
						|
				}
 | 
						|
				else{
 | 
						|
					$this->correct =false;
 | 
						|
				}
 | 
						|
			} 
 | 
						|
			else {$this->correct = false;}			
 | 
						|
		}
 | 
						|
		
 | 
						|
	
 | 
						|
	}
 | 
						|
 | 
						|
	protected function test_input($input){
 | 
						|
		return htmlspecialchars(trim(strip_tags($input)));
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
?>
 |