//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'];
}
?>
Inkas es un sofá permite crear un estilo propio único e irrepetible, un juego de encastres infinito entre asiento, y los apoyabrazos/respaldos. Las composiciones Inkas tienen un diseño irregular, a veces los perfiles del asiento y del respaldo no coinciden y los respaldos tienen alturas variables: el efecto que se obtiene es el de un verdadero encastre de volúmenes suaves y geométricos que confieren una sensación de ritmo y vivacidad.
Un diseño elegante con líneas limpias, caracterizado por pies de altura 18 cm que elevan la estructura dándole un efecto de ligereza extrema. Rail es un sofá exclusivo que se distingue por el cuidado en el detalle en las costuras refinadas y preciosas. Un cosido característico con doble borde que atraviesa toda la estructura y los brazos y recuerda los carriles de un tren.
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.
Windsor está realizado en piel en dos piezas únicas, sofá y butaca,se adapta a todo tipo de interiorismo. Perfecto en el contexto clásico,resalta de manera original en el ambiente moderno como una preciosa obra de arte. Realizado exclusivamente a mano, con tapicería de capitonné, es un sofá con marcado carácter británico, refinado y sofisticado, pero con un sabor suave y acogedor dado por el distintivo botón que se hunde en la costura con diseño en rombos.
El nombre de esta familia de sofás evoca el ambiente de la atmósfera mediterranea. Un sofá esencial que combina las formas clásicas con la contemporanea forma de vivir de hoy.
Un lugar para el descanso y la convivencia: la costa del sofá da la bienvenida a los momentos de relax en la elegancia de la línea envolvente entre el respaldo y los reposabrazos, que incluye una sesión informal y cómodo Delgado y discreto, se integra perfectamente con el cojín grande y suave y acogedor. En un sofá diván que tiene posibilidad de convertirse en una cama auxiliar.
MAREADESCRIPCIÓN:La característica principal de la colección Marea son los materiales naturales combinables entre sí. Este sistema comprende además de una serie de asientos, una gama de mesitas Armonia, mesitas y consolas Isola que con los tapizados permiten conjugarlos para crear divertidas e innovadores ambientes. La mesa redonda Quiete, la silla Calma, el 'lounge' Ozio y para acabar la alfombra Marea crean un estilo desenvuelto, luminoso y alegre.
La característica principal de este sofá es que mediante simples movimientos el mecanismo permite modificar la profundidad del asiento. Esta innovación ofrece un grado superior de confort y hace que el concepto de sofá se experimente de un modo totalmente personal.
Comodidad, proporciones ergonómicas más correctas entre asiento y respaldo y la atención por los detalles representan las caracteristicas principales de este modelo, que comprende sofas de diferentes medidas así como elementos laterales, chaise-longues y poufs. El resultado formal es al mismo tiempo rico y decidido, sofisticado y discreto. Bajo pedido Easy puede llevar un cómodo apoyacabezas que, cuando no se necesita, desparece detrás del respaldo.
Plat es un sistema compuesto por una amplia gama de elementos combinables que, además de brindar gran comodidad permite crear soluciones formales que nunca se repiten. La plataforma constituye la aportación original de este modelo: extensión del sistema en el espacio que puede emplearse como superficie de apoyo pero también como asiento informal.
La característica más innovadora de este modelo es el mecanismo del cojín de respaldo que posibilita el cambio de posición del elemento. Así el cojín puede ajustarse a diferentes posiciones que le confieren un uso polivalente; como apoyabrazos, como respaldo o como elemento reclinable.
Cicladi es un sofá de inspiración clásica, pero lujoso, que funde las proporciones y las profundidades de los asientos orientales con las elaboraciones capitonné de inspiración anglosajona y con las capacidades artesanales italianas de trabajar los materiales.Se caracteriza por su superficie acolchada externa, que define no sólo la estética atractiva de inspiración retro, sino también la impecable ejecución del tapizado: la capacidad para valorizar el detalle del capitonné en lugar de con el clásico botón,
Formas geométricas y modernas, líneas esenciales y contemporáneas diseñan este nuevo sofá que se caracteriza por un doble mecanismo y de un elevadísimo grado de confort.
Es precisamente el movimiento escondido el que permite vivir una dimensión de la casa ligada al relax y al confort en ambientes décontractée, pensados para momentos de alegre convivencia.
Líneas simples diseñan con un estilo riguroso este sofá que se inspira en cierto gusto retro años cincuenta. Sus dimensiones contenidas, los espesores sutiles del respaldo y del brazo, acompañados por el pie levantado del suelo, lo hacen casi aéreo y ligero.