Ejemplo n.º 1
0
function agregarCarrito($idProducto, $cantidad, $talla, $color)
{
    if (!isset($_SESSION['usuario']['idUsuario']) || $_SESSION['usuario']['idUsuario'] == "") {
        $nombreUsuario = "COOP-" . strRandom(5);
        $_SESSION['usuario']['nombreUsuario'] = $nombreUsuario;
        $_SESSION['usuario']['nombre'] = "";
        $_SESSION['usuario']['idUsuario'] = $nombreUsuario;
    }
    if (is_numeric($_SESSION['usuario']['idUsuario'])) {
        //BD
        $mdb2 = conectar();
        $carrito = new Venta($mdb2['dsn']);
        $carrito->setSelect("idVenta");
        $carrito->setWhere("idUsuario = " . $_SESSION['usuario']['idUsuario']);
        $carrito->addWhere("idProducto = {$idProducto}");
        $carrito->addWhere("carrito = 1");
        $carrito = $carrito->getAll();
        if (count($carrito) > 0) {
            return array("bool" => true, "msj" => "Este producto ya se encuentra en el carrito.", "idVenta" => $carrito[0]['idVenta']);
        }
        $nuevaVenta = new Venta($mdb2['dsn']);
        $nuevaVenta->useResult('object');
        $nVenta = $nuevaVenta->newEntity();
        $nVenta->idProducto = $idProducto;
        $nVenta->idUsuario = $_SESSION['usuario']['idUsuario'];
        $nVenta->cantidad = $cantidad;
        $nVenta->carrito = 1;
        $nVenta->talla = $talla;
        $nVenta->color = $color;
        $nVenta->idDireccion = null;
        $idVenta = $nVenta->save();
        if (is_numeric($idVenta)) {
            return array("bool" => true, "msj" => "El producto se ha agregado al carrito.", "idVenta" => $idVenta);
        }
        return array("bool" => false, "msj" => "No se pudo agregar al carrito.");
    } elseif (substr_compare($_SESSION['usuario']['idUsuario'], "COOP-", 0, 5) == 0) {
        //Session
        for ($i = 0; $i < count($_SESSION['carrito']); $i++) {
            if ($_SESSION['carrito'][$i]['idProducto'] == $idProducto) {
                return array("bool" => true, "msj" => "Este producto ya se encuentra en el carrito.", "idVenta" => $_SESSION['carrito'][$i]['idVenta']);
            }
        }
        $idVenta = strRandom(6);
        $_SESSION['carrito'] = array();
        array_push($_SESSION['carrito'], array('idVenta' => $idVenta, 'idUsuario' => $_SESSION['usuario']['idUsuario'], 'idProducto' => $idProducto, 'cantidad' => $cantidad, 'talla' => $talla, 'color' => $color));
        return array("bool" => true, "msj" => "El producto se ha agregado al carrito.", "idVenta" => $idVenta);
    }
    return array("bool" => false, "msj" => "No se pudo agregar al carrito.");
}