require_once "modelo/gestionMasas.php";
require_once "modelo/clases/Masa.php";
//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
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();
}
Beispiel #3
0
<?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);
    }
}