//Este script proporciona las funciones para trabajar con los pedidos en sesión de forma encapsulada
//Internamente está implementado con arrays numerales y asociativos, en un futuro (cuando todos los hosting ofrezcan php5) convendría convertirlo a O.O.
//por esto se están utilizando métodos para acceder a los datos de sesión en vez de acceder directamente; para que en un futuro esto pueda modificarse sin afectar a nada más
//info: los objetos que el carrito tiene que poder guardar al crear definitivamente el pedido tienen que cubrir la siguiente información:
//pedido: localizador,usuario,estado=pendiente,comentariosPedido,fechaHora=now(),zona,formaPago
//item: idPedido,item,referencia,precioUnidad,iva,cantidad,peso,estado=pendiente
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | borrar_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para borrar el pedido en sesión |
+--------------------+-----------------------------------------------------------------------+
*/
function borrar_pedido(){
unset($_SESSION['pedido']);
unset($_SESSION['articulos']);
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | existe_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para saber si existe o no un pedido en sesión |
+--------------------+-----------------------------------------------------------------------+
*/
function existe_pedido(){
return (isset($_SESSION['pedido']));
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | incrementar_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | aumenta la cantidad de un articulo |
| Entrada: | id del articulo en el array de memoria |
+--------------------+-----------------------------------------------------------------------+
*/
function incrementar_pedido($_id){
$_SESSION['articulos'][$_id]['cantidad']++;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | decrementar_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | reduce la cantidad de un articulo |
| Entrada: | id del articulo en el array de memoria |
+--------------------+-----------------------------------------------------------------------+
*/
function decrementar_pedido($_id){
if($_SESSION['articulos'][$_id]['cantidad']>1)$_SESSION['articulos'][$_id]['cantidad']--;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | eliminar_articulo() |
+--------------------+-----------------------------------------------------------------------+
| Info: | elimina un articulo de la cesta de compra |
| Entrada: | id del articulo en el array de memoria |
+--------------------+-----------------------------------------------------------------------+
*/
function eliminar_articulo($_id){
unset($_SESSION['articulos'][$_id]);
$_SESSION['pedido']['lineas']--;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | set_datos_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para crear y/o modificar los datos del pedido en sesión |
| Entrada: | id de usuario, localizador, comentarios, zona, forma de pago |
+--------------------+-----------------------------------------------------------------------+
*/
function set_datos_pedido($_id_usuario,$_localizador,$_comentarios,$_zona,$_forma_pago){
$_SESSION['pedido']['id_usuario']=$_id_usuario;
$_SESSION['pedido']['localizador']=$_localizador;
$_SESSION['pedido']['comentarios']=$_comentarios;
$_SESSION['pedido']['zona']=$_zona;
$_SESSION['pedido']['forma_pago']=$_forma_pago;
$_SESSION['pedido']['lineas']=0;;
}
function set_tipo_envio_pedido($_zona){
$_SESSION['pedido']['zona']=$_zona;
}
function set_forma_pago_pedido($_forma_pago){
$_SESSION['pedido']['forma_pago']=$_forma_pago;
}
function set_comentarios_pedido($_comentarios){
$_SESSION['pedido']['comentarios']=$_comentarios;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | get_datos_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para recuperar los datos del pedido en sesión |
| Salida: | array con: usuario, localizador, comentarios, zona, forma de pago |
+--------------------+-----------------------------------------------------------------------+
*/
function get_datos_pedido(){
$res['id_usuario']=$_SESSION['pedido']['id_usuario'];
$res['localizador']=$_SESSION['pedido']['localizador'];
$res['comentarios']=$_SESSION['pedido']['comentarios'];
$res['zona']=$_SESSION['pedido']['zona'];
$res['forma_pago']=$_SESSION['pedido']['forma_pago'];
return $res;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | set_datos_facturacion_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para crear y/o modificar los datos de facturación del pedido |
| Entrada: | nombre, apellidos, dni, direccion, cp, localidad |
+--------------------+-----------------------------------------------------------------------+
*/
function set_datos_facturacion_pedido($_nombre,$_apellidos,$_dni,$_direccion,$_cp,$_localidad,$_email){
$_SESSION['pedido']['nombre']=$_nombre;
$_SESSION['pedido']['apellidos']=$_apellidos;
$_SESSION['pedido']['dni']=$_dni;
$_SESSION['pedido']['direccion']=$_direccion;
$_SESSION['pedido']['cp']=$_cp;
$_SESSION['pedido']['localidad']=$_localidad;
$_SESSION['pedido']['email']=$_email;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | get_datos_facturacion_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para recuperar los datos de facturación del pedido en sesión |
+--------------------+-----------------------------------------------------------------------+
*/
function get_datos_facturacion_pedido(){
$res['nombre']=$_SESSION['pedido']['nombre'];
$res['apellidos']=$_SESSION['pedido']['apellidos'];
$res['dni']=$_SESSION['pedido']['dni'];
$res['direccion']=$_SESSION['pedido']['direccion'];
$res['cp']=$_SESSION['pedido']['cp'];
$res['localidad']=$_SESSION['pedido']['localidad'];
$res['email']=$_SESSION['pedido']['email'];
return $res;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | nuevo_articulo_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para añadir un artículo al pedido en sesión |
| Entrada: | idPedido, item, referencia, precio por unidad, iva, cantidad, peso |
| Salida: | id del artículo en sesión, se utiliza para poder eliminarlo de sesión |
+--------------------+-----------------------------------------------------------------------+
*/
function nuevo_articulo_pedido($_id_producto, $_item, $_referencia, $_precio_unidad, $_iva, $_cantidad, $_peso, $_id_familia, $_id_categoria){
$id=sizeof($_SESSION['articulos']);
$_SESSION['articulos'][$id]['id']=$id;
$_SESSION['articulos'][$id]['id_producto']=$_id_producto;
$_SESSION['articulos'][$id]['item']=$_item;
$_SESSION['articulos'][$id]['referencia']=$_referencia;
$_SESSION['articulos'][$id]['precio_unidad']=$_precio_unidad;
$_SESSION['articulos'][$id]['iva']=$_iva;
$_SESSION['articulos'][$id]['cantidad']=round($_cantidad);
$_SESSION['articulos'][$id]['peso']=$_peso;
$_SESSION['articulos'][$id]['id_familia']=$_id_familia;
$_SESSION['articulos'][$id]['id_categoria']=$_id_categoria;
$_SESSION['pedido']['lineas']++;
return $id; //devolver el id para poder trackearlo (poder eliminar solo un artículo del pedido en sesión)
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | get_articulos_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para recuperar todos los atículos del pedido en sesión |
| Salida: | array con todos los datos de todos los artículos que están en sesión |
+--------------------+-----------------------------------------------------------------------+
*/
function get_articulos_pedido(){
return $_SESSION['articulos'];
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | eliminar_articulo_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función para eliminar un atículo del pedido en sesión |
| Entrada: | id en sesión del artículo a eliminar del pedido |
+--------------------+-----------------------------------------------------------------------+
*/
function eliminar_articulo_pedido($_id){
$_SESSION['articulos'][$_id]="";
$_SESSION['pedido']['lineas']--;
}
/*
+--------------------+-----------------------------------------------------------------------+
| FUNCION: | num_articulos_pedido() |
+--------------------+-----------------------------------------------------------------------+
| Info: | función que devuelve el número de artículos en el pedido |
+--------------------+-----------------------------------------------------------------------+
*/
function num_articulos_pedido(){
return $_SESSION['pedido']['lineas'];
}
?>
Líneas geométricas y esculpidas que determinan una gran personalidad y un estilo único combinado con el máximo confort. Asiento, respaldo y apoyabrazos suaves y de gran tamaño para un confort total. Ego es una revisión muy actual del concepto del sofá de los años 80. La estructura del pie, disponible en cromado o pintado marrón micáceo,soporta los amplios brazos en pluma.