';
return $html;
}
protected function procesaFormulario($datos){
$result = array();
$id = $this->test_input($_POST['id']) ?? null;
if (is_null($id)) {
$result['id'] = "La promoción seleccionada no existe.";
}
$t = $this->test_input($datos['tittle']) ?? null;
$tittle = strtolower(str_replace(" ", "_", $t));
if ( empty($tittle) ) {
$result['tittle'] = "El título no es válido";
}
$description = $this->test_input($datos['description']) ?? null;
if ( empty($description)) {
$result['description'] = "La descripcion no es válida";
}
$code = $this->test_input($datos['code']) ?? null;
if ( empty($code) ) {
$result['code'] = "El idioma no es válido";
}
$active = $this->test_input($datos['active']) ?? null;
//|| !mb_ereg_match(self::HTML5_EMAIL_REGEXP, $description)
if ( $active>1 ||$active<0 ) {
$result['active'] = "La descripcion no es válida";
}
if (count($result) === 0) {
$bd = new Promotion_DAO("complucine");
$exist = $bd-> promotionData($id);
if(mysqli_num_rows($exist) == 1){
$ok = count($_FILES) == 1 && $_FILES['archivo']['error'] == UPLOAD_ERR_OK;
if ( $ok ) {
$archivo = $_FILES['archivo'];
$nombre = $_FILES['archivo']['name'];
//1.a) Valida el nombre del archivo
$ok = $this->check_file_uploaded_name($nombre) && $this->check_file_uploaded_length($nombre) ;
// 1.b) Sanitiza el nombre del archivo
//$ok = $this->sanitize_file_uploaded_name($nombre);
//
// 1.c) Utilizar un id de la base de datos como nombre de archivo
// 2. comprueba si la extensión está permitida
$ok = $ok && in_array(pathinfo($nombre, PATHINFO_EXTENSION), self::EXTENSIONS);
// 3. comprueba el tipo mime del archivo correspode a una imagen image
$finfo = new \finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file($_FILES['archivo']['tmp_name']);
$ok = preg_match('/image\/*./', $mimeType);
//finfo_close($finfo);
if ( $ok ) {
$tmp_name = $_FILES['archivo']['tmp_name'];
$nombreBd = strtolower(str_replace(" ", "_", $tittle)).".".pathinfo($nombre, PATHINFO_EXTENSION);
if ( !move_uploaded_file($tmp_name, "../img/promos/{$nombreBd}") ) {
$result['img'] = 'Error al mover el archivo';
}
//if ( !copy("../img/tmp/{$nombre}", "/{$nombre}") ) {
// $result['img'] = 'Error al mover el archivo';
//}
//$nombreBd = str_replace("_", " ", $nombre);
$bd->editPromotion($id, $tittle,$description,$code,$active, $nombreBd);
$_SESSION['message'] = "
Operacion realizada con exito
Se ha modificado la promocion correctamente en la base de datos.
";
$result = './?state=mp';
}else {
$result['img'] = 'El archivo tiene un nombre o tipo no soportado';
}
} else {
$bd->editPromotionNoImg($id, $tittle,$description,$code,$active);
$_SESSION['message'] = "
Operacion realizada con exito
Se ha modificado la promocion correctamente en la base de datos.