require_once "modelo/gestionIngredientes.php";
require_once "modelo/clases/Pizza.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-pizzas.php');
}
$errorTipoImagen = false;
$errorPermisosImagen = false;
if (isset($_POST['editar']) || isset($_POST['enviar'])) {
    $result = getPizza($_POST['idPizza']);
    //Crear instancias de Pizza a modificar a partir de los datos de la BD
    $datosPizza = $result->fetch_assoc();
    $pizza = new Pizza();
    $pizza->setIdPizza($datosPizza['id_pizza']);
    $pizza->setNombre($datosPizza['nombrePizza']);
    $pizza->setDescripcion($datosPizza['descripcion']);
    $pizza->setIdsIngredientes($datosPizza['ingredientes']);
    $pizza->setImagen($datosPizza['imagen']);
    $pizza->setStock($datosPizza['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);
            //Crear la carpeta de avatares si aún no está creada.
            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['ingredientes'])) {
        //Crear una instancia de Pizza y meter los datos de la pizza que se esta modificando
        $pizza = new Pizza();
        $pizza->setImagen(basename($_FILES['imagen']['name']));
        $pizza->setNombre($_POST['nombre']);
        $pizza->setDescripcion($_POST['descripcion']);
        $pizza->setIdsIngredientes($_POST['ingredientes']);
        //Llamamos a los funcion insertarMasa del modelo.
        insertarPizza($pizza);
    }
}
Beispiel #3
0
    $nuevoPedido->setIdMasa($_POST['masa']);
    $nuevoPedido->setNombreMasa(getNombreMasa($_POST['masa']));
    $nuevoPedido->setIdsIngredientes($idIngredientes);
    $nuevoPedido->setUnidades($_POST['cantidad']);
    $nuevoPedido->setPrecioTotal((getPrecioMasa($_POST['masa']) + $nuevoPedido->getNumIng()) * $_POST['cantidad']);
    /**
     *  Añadir el pedido al carrito, serializando el objeto
     *
     *  Sacado de StackOverflow;
     *  http://stackoverflow.com/a/1442271/710274
     */
    $_SESSION['user']['pedidos'][$idUnicoPedido] = serialize($nuevoPedido);
} else {
    if (isset($_POST['cambiarStock']) && isset($_POST['idPizza'])) {
        //Poner o quitar la pizza del stock
        cambiarStockPizza($_POST['idPizza'], $_POST['stock']);
    }
    $result = getPizzas();
    //Array de todas las pizzas de la BD
    $arrayPizzas = array();
    while ($row = $result->fetch_assoc()) {
        $pizza = new Pizza();
        $pizza->setIdPizza($row['id_pizza']);
        $pizza->setNombre($row['nombrePizza']);
        $pizza->setDescripcion($row['descripcion']);
        $pizza->setIdsIngredientes($row['ingredientes']);
        $pizza->setImagen($row['imagen']);
        $pizza->setStock($row['stock']);
        $arrayPizzas[] = $pizza;
    }
}