//Si no se viene desde la página de gestión de usuarios, o no se está enviando el formulario de modificacion, redireccionar a gestión de usuarios if (!isset($_POST['editar']) && !isset($_POST['enviar'])) { header('Location: gestion-masas.php'); } $errorTipoImagen = false; $errorPermisosImagen = false; if (isset($_POST['editar']) || isset($_POST['enviar'])) { $result = getMasa($_POST['idMasa']); //Crear instancias de Masa a modificar a partir de los datos de la BD $datosMasa = $result->fetch_assoc(); $masa = new Masa(); $masa->setId($datosMasa['id_masa']); $masa->setNombre($datosMasa['nombre']); $masa->setDescripcion($datosMasa['descripcion']); $masa->setPrecio($datosMasa['precio']); $masa->setTamano($datosMasa['tamano']); $masa->setImagen($datosMasa['imagen']); $masa->setStock($datosMasa['stock']); } if (isset($_POST['enviar'])) { //Comprobar si se quiere cambiar la imagen de la pizza if (!empty($_FILES['imagen']['name'])) { /** * El siguiente código comprueba el MIME TYPE del archivo para comprobar que es una imagen * * Código modificado a partir de un snippet sacado de PHP.NET; * * http://php.net/manual/es/features.file-upload.php#114004 */ $fileInfo = new finfo(FILEINFO_MIME_TYPE); $formatosValidos = array('jpg' => 'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif');
function insertMasa() { $descripcion = $_POST['descripcion']; $nombre = $_POST['nombre']; $tamano = $_POST['tamano']; $precio = $_POST['precio']; $img = ""; $name = $_FILES["avatar"]["name"]; $tmp_name = $_FILES['avatar']['tmp_name']; $dir = "vistas/img/masas/"; // Si existe un nombre pasado por '$_FILES' y no esta vacio y no pesa mas de 500KB realizará las acciones de dentro. if (isset($name) && !empty($name) && ceil(filesize($tmp_name) / 1024) <= 500) { $partes_ruta = pathinfo($name); // Obtiene información del archivo o imagen. $ext = "." . $partes_ruta['extension']; // Obtiene la extensión del archivo que se ha subido. // Comprueba los formatos del archivo subido, para comprobar que sean imagenes. switch ($ext) { case ".jpg": case ".png": case ".gif": $nombreImagen = generateNames(70); // Genera un nombre con caracteres aleatorios para hacer única la imagen. // Mueve el archivo indicado al lugar indicado move_uploaded_file(origen_cliente, destino_servidor) if (move_uploaded_file($tmp_name, $dir . $nombreImagen . $ext)) { $img = $nombreImagen . $ext; } // Cambia los permisos de la imagen para que se pueda manipular. chmod($dir . $nombreImagen . $ext, 0777); break; default: $img = "default.jpg"; break; } } else { $img = "default.jpg"; } $masa = new Masa(); $masa->setImg($img); $masa->setDescripcion($descripcion); $masa->setNombre($nombre); $masa->setPrecio($precio); $masa->setTamano($tamano); return $masa->setMasa(); }
<?php require_once "modelo/gestionMasas.php"; require_once "modelo/clases/Masa.php"; if (isset($_POST['cambiarStock']) && isset($_POST['idMasa'])) { //Poner o quitar la masa del stock cambiarStockMasa($_POST['idMasa'], $_POST['stock']); } $result = getMasas(); //Array de todas las masas de la BD $arrayMasas = array(); while ($row = $result->fetch_assoc()) { $masa = new Masa(); $masa->setId($row['id_masa']); $masa->setNombre($row['nombre']); $masa->setDescripcion($row['descripcion']); $masa->setPrecio($row['precio']); $masa->setTamano($row['tamano']); $masa->setImagen($row['imagen']); $masa->setStock($row['stock']); $arrayMasas[] = $masa; }
if (!is_dir($dir_subida)) { mkdir($dir_subida, 0777); } $nombre_nuevo_avatar = basename($_FILES['imagen']['name']); $url_nuevo_avatar = $dir_subida . $nombre_nuevo_avatar; //Comprobar que la imagen se ha subido correctamente y se ha movido a la carpeta de avatares if (@move_uploaded_file($_FILES['imagen']['tmp_name'], $url_nuevo_avatar)) { //Cambiarle los permisos a la imagen para después poder borrarla chmod($url_nuevo_avatar, 0777); } else { //Error al mover el archivo, probablemente por los permisos de la carpeta de destino $errorPermisosImagen = true; } } else { //El formato del archivo es incorrecto, avisar $errorTipoImagen = true; } } //Comprobar los errores y los campos necesarios if (!$errorTipoImagen && !$errorPermisosImagen && !empty($_FILES['imagen']['name']) && !empty($_POST['nombre']) && !empty($_POST['descripcion']) && !empty($_POST['precio']) && !empty($_POST['tamano'])) { //Crear una instancia de Masa y meter los datos de la masa que se esta modificando $masa = new Masa(); $masa->setImagen(basename($_FILES['imagen']['name'])); $masa->setNombre($_POST['nombre']); $masa->setDescripcion($_POST['descripcion']); $masa->setTamano($_POST['tamano']); $masa->setPrecio($_POST['precio']); //Llamamos a los funcion insertarMasa del modelo. insertarMasa($masa); } }