/**
* Hace el navegador de la pagina
*
* @return unknown
*/
global $u_CERRAR_VINC_HOME;
$u_CERRAR_VINC_HOME="";
function navegador() {
$navegador = "";
$url = resolver_url_actual ();
$pieces = explode ( "/", $url );
$l = count ( $pieces );
$pag = explode ( "?", $pieces [$l - 1] );
if ($pag [0] == "modulo_listado.php" || $pag [0] == "modulo_formulario.php" || $pag [0] == "modulo_galeria.php" || $pag [0] == "modulo_sencillo.php" || $pag [0] == "modulo_documento.php") { //modulos del sistema
//llamo a la funcion buscar el id del banner de ese modulo sino tiene busca el papá
$navegador = generar_navegador_seccion ( $_REQUEST ['id_seccion'] );
} elseif ($pag [0] == "listar_categorias.php" || $pag [0] == "listar_productos_categoria.php" || $pag [0] == "detalle_productos.php" || $pag [0] == "listar_grupos.php") { //productos
//verifico si esta en cualquier pagina
//menos en listar_super_categorias.php
//Si esta en cualquiera debe tener $_REQUEST['id']
if (isset ( $_REQUEST ['id'] )) {
$id = $_REQUEST ['id'];
} else {
$id = "0";
}
$navegador = generar_navegador_producto ( $id ); //armo el navegador para la seccion de productos
} elseif ($pag [0] == "ver_carrito.php" || $pag [0] == "ver_detalle_orden.php" || $pag [0] == "factura_generada.php") { //proceso de pago
// asigno aleatorio
$navegador = generar_navegador_compra (); //generar_navegador_proceso_pago();
} else{ //Para todos los que tienen un solo nivel
// asigno aleatorio
$navegador = generar_navegador_1nivel($pag [0]); //generar_navegador_proceso_pago();
}
$navegador=str_replace("link_interno", "", $navegador);
return $navegador;
}
/**
* Enter description here...
*
* @param unknown_type $id_sec
* @return regresa el navegador si se navega por los modulos de la pagina
*/
function generar_navegador_seccion($id_sec) {
global $u_CERRAR_VINC_HOME;
global $navega;
global $color_oscuro;
global $vez_nav_prod;
$ob_navegador = new Conexion1 ( );
$ob_navegador->table = "tbl_secciones";
$ob_navegador->fields = array (array ('private', 'id_seccion' ), array ('private', 'id_padre' ), array ('private', 'nombre_seccion' ), array ('private', 'tipo_modulo' ), array ('private', 'link_accion' ), array ('private', 'link_especifico' ) );
$res_navegador = $ob_navegador->getRecords ( "id_seccion=$id_sec", false, false, false, false );
$id_pad = $res_navegador [0] ['id_padre'];
$id_s = $res_navegador [0] ['id_seccion'];
$nom_secc = $res_navegador [0] ['nombre_seccion'];
$tipo_secc = $res_navegador [0] ['tipo_modulo'];
$link_accion_secc = $res_navegador [0] ['link_accion'];
$link_especifico_secc = $res_navegador [0] ['link_especifico'];
//Se trae las variables de la botonera superior
global $inf_sec_vin;
global $inf_sec_abrir;
global $inf_sec_cerrar;
$vinculo_foot = "";
$abrir_vin_foot = "";
$cerrar_vin_foot = "";
$vez_nav_prod ++;
$col_mandar = str_replace ( '#', '', $color_oscuro );
$tamano_fuente = 10;
//$simb_mayor_home = "
";
$simb_mayor_home =" > ";
if ($vez_nav_prod > 1) {
//$simb_mayor = "
";
$simb_mayor =" > ";
} else {
$simb_mayor = "";
}
$esc="**";
if ($nom_secc != NOMBRE_HOME) { //si el nombre de seccion es distinto a Home
$css_op="";
if ($id_sec != $_REQUEST ['id_seccion']) { // Si no es el item que se esta visualizando
//*******
if ($link_accion_secc == "x_sistema") {
if ($tipo_secc == "listado") {
//se va para la estructura del modulo listado;
$vinculo = "../estructuras/modulo_listado.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
} elseif ($tipo_secc == "documento") {
//se va para el controlador de documento;
$vinculo = "../estructuras/modulo_documento.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
} elseif ($tipo_secc == "galeria") {
//se va para la estructura del modulo galeria;
$vinculo = "../estructuras/modulo_galeria.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
} elseif ($tipo_secc == "video") {
//se va para la estructura del modulo vieo;
$vinculo = "../estructuras/modulo_video.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
}elseif ($tipo_secc == "form") {
//se va para la estructura del modulo formulario;
$vinculo = "../estructuras/modulo_formulario.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
} elseif ($tipo_secc == "sencillo") {
//se va para la estructura del modulo sencillo;
$vinculo = "../estructuras/modulo_sencillo.php";
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo?id_seccion=$id_s";
}
} elseif ($link_accion_secc == "especifico") {
//echo "entro esp ".$res[$i]['id_categoria_producto']."
";
$vinculo = $link_especifico_secc;
$abrir_vin = "";
$cerrar_vin = "";
$solo_vinculo = "$vinculo";
}
//*******
/*$vinculo_foot = $inf_sec_vin [$id_s];
$abrir_vin_foot = $inf_sec_abrir [$id_s];
$abrir_vin_foot = ereg_replace("link_principal","",$abrir_vin_foot); //busca y remplaza eso por algo
$cerrar_vin_foot = $inf_sec_cerrar [$id_s];
$cerrar_vin_foot2 = ereg_replace("<","!",$nom_secc); //busca y remplaza eso por algo
*/$esc=$id_sec;
}
//$nombre_escribe = "
";
$nombre_escribe = strtolower ( $nom_secc );
$navega = $abrir_vin . $nombre_escribe . $cerrar_vin . $simb_mayor . $navega;
}
if ($id_pad != 0) {
generar_navegador_seccion ( $id_pad );
} else {
//inicio
//$nombre = "
";
$nombre = strtolower ( NOMBRE_HOME );
$navega = " ". ABRIR_VINC_HOME . $nombre . $u_CERRAR_VINC_HOME . $simb_mayor_home . $navega." ";
//$navega = substr($navega, 0, -2);
}
$navega=str_replace("link_interno", "", $navega);
return $navega;
}
/**
* Es una funcion recurrente para armar en orden el navegador si se esta en la seccion de productos
*
* @param unknown_type $pagina Es la pagina donde se ejecuta la funcion
* @return regresa el navegador si se navega por las paginas del catalogo de productos
*/
function orden_navegador_productos($pagina, $id) {
global $u_CERRAR_VINC_HOME;
global $navega;
global $vez_nav_prod; //son veces que ha ejecutado la funcion por defecto esta vacia
global $color_oscuro;
$_nombre_pag = "";
$_pagina_ant = "";
$tabla_name = "";
$id_name = "";
$id_papa_name = "";
$texto_escribir = "";
$texto_escribir_anterior = "";
global $texto_escribir_anterior;
switch ($pagina) {
/*case "listar_super_categorias.php" : //si esta mostrando las super categorias
$_nombre_pag = TIT_NAVEGADOR_SUPERCATEGORIAS;
$_pagina_ant = "inicial.php";
$tabla_name = "tbl_productos_super_categoria";
$id_name = "id_productos_super_categoria";
$id_papa_name = "id_productos_super_categoria";
$pagina = "listar_super_categorias.php";
$nombre_campo_nombre = "nombre";//como se llama el campo de nombre de producto
$mostrar_nombre_pag_o_campo_nombre=1;//1=nombre_pag; 2=campo_nombre
break;*/
case "listar_categorias.php" : //si esta mostrando las categorias
$_nombre_pag = TIT_NAVEGADOR_CATEGORIAS;
$_pagina_ant = "inicial.php";
$tabla_name = "tbl_productos_super_categoria";
$id_name = "id_productos_super_categoria";
$id_papa_name = "id_productos_super_categoria";
$nombre_campo_nombre = "nombre";//como se llama el campo de nombre de producto
$mostrar_nombre_pag_o_campo_nombre=2;//1=nombre_pag; 2=campo_nombre
break;
case "listar_productos_categoria.php" : //si esta mostrando los productos x categorias
$_nombre_pag = TIT_NAVEGADOR_PRODxCAT;
$_pagina_ant = "listar_categorias.php";
$tabla_name = "tbl_productos_categoria";
$id_name = "id_producto_categoria";
$id_papa_name = "id_producto_categoria";
$nombre_campo_nombre = "nombre";//como se llama el campo de nombre de producto
$mostrar_nombre_pag_o_campo_nombre=2;//1=nombre_pag; 2=campo_nombre
break;
case "detalle_productos.php" : //si esta esditando un producto
$_nombre_pag = TIT_NAVEGADOR_AGREGA_PROD;
$_pagina_ant = "listar_productos_categoria.php";
//no hace falta de buscar ya que esta editando el producto
//y la posicion anterior inmediata es ver los productos
//por super categorias y ese si se esta mostrando
$tabla_name = "tbl_productos";
$id_name = "id_producto";
$id_papa_name = "id_producto_categoria";
$nombre_campo_nombre = "nombre_producto";//como se llama el campo de nombre de producto
$mostrar_nombre_pag_o_campo_nombre=2;//1=nombre_pag; 2=campo_nombre
break;
case "listar_grupos.php" : //si esta esditando un producto
$_nombre_pag = TIT_NAVEGADOR_GRUPO;
$_pagina_ant = "listar_super_categorias.php";
//no hace falta de buscar ya que esta editando el producto
//y la posicion anterior inmediata es ver los productos
//por super categorias y ese si se esta mostrando
$tabla_name = "tbl_grupo_productos";
$id_name = "id_grupo_producto";
$id_papa_name = "activo";
$id = 0;
$nombre_campo_nombre = "nombre_grupo";//como se llama el campo de nombre de producto
$mostrar_nombre_pag_o_campo_nombre=2;//1=nombre_pag; 2=campo_nombre
break;
}
$col_mandar = str_replace ( '#', '', $color_oscuro );
$tamano_fuente = 10;
//$simb_mayor = "
";
$simb_mayor =" > ";
$vez_nav_prod ++; //inicializamos en 1 la variable de las veces que ha ejecutado la funcion
if ($vez_nav_prod > 1) {
//$simb_mayor = "
";
$simb_mayor =" > ";
} else {
$simb_mayor = "";
}
if ($_pagina_ant != "" && $_pagina_ant != "inicial.php") {
//echo $_nombre_pag."
";
$ob_navegador = new Conexion1 ( );
$ob_navegador->table = $tabla_name;
$ob_navegador->fields = array (array ('private', $id_name ), array ('private', $id_papa_name ), array ('private', $nombre_campo_nombre ) );
$res_navegador2 = $ob_navegador->getRecords ( "$id_name=$id", false, false, false, false );
if ($ob_navegador->fil != 0) {
$id_pad = $res_navegador2 [0] [$id_papa_name];
$id_actual = $res_navegador2 [0] [$id_name];
if ($mostrar_nombre_pag_o_campo_nombre==2){//2=campo_nombre
$texto_escribir = $res_navegador2 [0] [$nombre_campo_nombre];//el texto que se va a escribir en el navegador
}else{
$texto_escribir = $_nombre_pag;
}
} else {
$id_pad = "0";
$id_actual = "";
$texto_escribir = $_nombre_pag;//el texto que se va a escribir en el navegador
}
//echo "Tabla: ".$tabla_name."
Id actual '$id_name' -> $id: ".$id_actual."
Papa: '$id_papa_name' :".$id_pad."
";
if ($vez_nav_prod != 1) {
//se escribe el link para este boton
$abrir_vin_cat = "";
$cerrar_vin_cat = "";
} else {
// si es la primera vez que entra no le pone vinculo
$abrir_vin_cat = "";
$cerrar_vin_cat = "";
}
if ($texto_escribir_anterior!=$texto_escribir){
//echo $texto_escribir_anterior."!=".$texto_escribir."++";
$texto_escribir_anterior = $texto_escribir;
//$nombre = "
";
$nombre = strtolower ( $texto_escribir );
$navega = $navega = " ".$abrir_vin_cat . $nombre . $cerrar_vin_cat . $simb_mayor . $navega." "; // Vamos armando el navegador
}
orden_navegador_productos ( $_pagina_ant, $id_pad ); // Se inicializa nuevamente la funcion
} else {
//$navega = substr($navega, 0, -2);
//$nombre = "
";
$nombre = strtolower ( NOMBRE_HOME );
$navega = " ".ABRIR_VINC_HOME . $nombre . $u_CERRAR_VINC_HOME . $simb_mayor . $navega." "; // Se le agrega el home con su vinculo
}
$navega=str_replace("link_interno", "", $navega);
return $navega;
}
function generar_navegador_producto($id) {
global $u_CERRAR_VINC_HOME;
global $navega;
$pagina_actual = resolver_pagina_actual_corta ( resolver_url_actual () );
$navegacion = orden_navegador_productos ( $pagina_actual, $id );
$navegacion=str_replace("link_interno", "", $navegacion);
return $navegacion;
}
/**
* Es una funcion recurrente para armar en orden el navegador si se esta en la seccion de productos
*
* @param unknown_type $pagina Es la pagina donde se ejecuta la funcion
* @return regresa el navegador si se navega por las paginas del catalogo de productos
*/
function orden_navegador_compra($pagina) {
global $u_CERRAR_VINC_HOME;
global $navega;
global $vez_nav_prod; //son veces que ha ejecutado la funcion por defecto esta vacia
global $color_oscuro;
$_nombre_pag = "";
$_pagina_ant = "";
$tabla_name = "";
$id_name = "";
$id_papa_name = "";
switch ($pagina) {
case "ver_carrito.php" : //si esta mostrando el carrito
$_nombre_pag = TIT_NAVEGADOR_CARRITO;
$_pagina_ant = "ver_carrito";
//$pagina="ver_carrito.php";
break;
case "ver_detalle_orden.php" : //si esta mostrando ver_detalle_orden
$_nombre_pag = TIT_NAVEGADOR_DET_ORDEN;
$_pagina_ant = "ver_carrito.php";
break;
case "factura_generada.php" : //si esta mostrando los productos x categorias
$_nombre_pag = TIT_NAVEGADOR_DET_FACT;
$_pagina_ant = "ver_detalle_orden.php";
break;
}
$col_mandar = str_replace ( '#', '', $color_oscuro );
$tamano_fuente = 10;
//$simb_mayor = "
";
$simb_mayor =" > ";
$vez_nav_prod ++; //inicializamos en 1 la variable de las veces que ha ejecutado la funcion
if ($vez_nav_prod > 1) {
//$simb_mayor = "
";
$simb_mayor =" > ";
} else {
$simb_mayor = "";
}
if ($_pagina_ant != "") {
if ($vez_nav_prod != 1) {
//se escribe el link para este boton
$abrir_vin_cat = "";
;
$cerrar_vin_cat = "";
} else {
// si es la primera vez que entra no le pone vinculo
$abrir_vin_cat = "";
;
$cerrar_vin_cat = "";
}
//$nombre = "
";
$nombre = strtolower ( $_nombre_pag );
$navega = " ".$abrir_vin_cat . $nombre . $cerrar_vin_cat . $simb_mayor . $navega." "; // Vamos armando el navegador
orden_navegador_compra ( $_pagina_ant ); // VSe inicializa nuevamente la funcion
} else {
//$navega = substr($navega, 0, -2);
//$nombre = "
";
$nombre = strtolower ( NOMBRE_HOME );
$navega = " ".ABRIR_VINC_HOME . $nombre . $u_CERRAR_VINC_HOME . $simb_mayor . $navega." "; // Se le agrega elh2ome con su vinculo
}
$navega=str_replace("link_interno", "", $navega);
return $navega;
}
function generar_navegador_compra() {
global $navega;
$pagina_actual = resolver_pagina_actual_corta ( resolver_url_actual () );
$navegacion = orden_navegador_compra ( $pagina_actual );
$navegacion=str_replace("link_interno", "", $navegacion);
return $navegacion;
}
//
function generar_navegador_1nivel($pagina) {
global $u_CERRAR_VINC_HOME;
global $navega;
global $vez_nav_prod; //son veces que ha ejecutado la funcion por defecto esta vacia
global $color_oscuro;
$_nombre_pag = "";
$_pagina_ant = "";
$tabla_name = "";
$id_name = "";
$id_papa_name = "";
$col_mandar = str_replace ( '#', '', $color_oscuro );
$tamano_fuente = 10;
$_nombre_pag = "Seccion raiz";
if ($pagina!="index.php"){
switch ($pagina) {
case "complemento_buscador2.php" : //si esta mostrando el carrito
$_nombre_pag = "busqueda de productos";
break;
case "listar_super_categorias.php" : //si esta mostrando el carrito
$_nombre_pag = TIT_SUPER_CAT;
break;
case "olvido_contrasena.php" : //si esta mostrando el carrito
$_nombre_pag = OLVI_CONTRA;
break;
case "login.php" : //si esta mostrando el carrito
$_nombre_pag = TIT_LOGIN;
break;
case "editar_registro_usuario.php" : //si esta mostrando el carrito
$_nombre_pag = "Datos de registro";
break;
}
//link_interno
//$simb_mayor = "
";
$simb_mayor =" > ";
//$nombre = "
";
$nombre = strtolower ( $_nombre_pag ) ;
$navega = $nombre;
//$nombre = "
";
$nombre = strtolower ( NOMBRE_HOME );
$navega = " ".ABRIR_VINC_HOME . $nombre . $u_CERRAR_VINC_HOME . $simb_mayor . $navega." "; // Se le agrega el home con su vinculo
}
$navega=str_replace("link_interno", "", $navega);
return $navega;
}
?>
/**
* Asigna color a la pagina
*
* @return color
*/
function Colores() {
$color_asiganado = array ();
$color = 0;
$url = resolver_url_actual ();
//echo $url."
";
$pieces = explode ( "/", $url );
$l = count ( $pieces );
$pag = explode ( "?", $pieces [$l - 1] );
//echo $pag[0];
if (isset ( $_REQUEST ['id_seccion'] )) {
$id_ss = $_REQUEST ['id_seccion'];
$color = asignar_color ( $id_ss );
} else {
$id_ss = - 1;
$color = asignar_color ( $id_ss );
}
if ($pag [0] == "index.php" || $color == 1) {
$color_asiganado [0] = "morado"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#920180"; //color_hex_fondo_oscuro => morado
$color_asiganado [4] = "#C9B8CB"; //color_hex_fondo_oscuro => morado + oscuro
$color_asiganado [5] = "#FFFFFF"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#42003C"; //color_hex_link hover
$color_asiganado [7] = "#55044B"; //color_hex_link hover panel superior
} elseif ($pag [0] == "listar_categorias.php" || $pag [0] == "listar_super_categorias.php" || $pag [0] == "listar_productos_categoria.php" || $pag [0] == "detalle_productos.php" || $pag [0] == "login.php" || $pag [0] == "listar_grupos.php" || $pag [0] == "error_transaccion.php" || $color == 2) {
$color_asiganado [0] = "azul"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#2AAFBE"; //color_hex_fondo_oscuro => azul
$color_asiganado [4] = "#A7B8BC"; //color_hex_fondo_oscuro => azul + oscuro
$color_asiganado [5] = "#0D373C"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#FFFFFF"; //color_hex_link hover
$color_asiganado [7] = "#1C646C"; //color_hex_link hover panel superior
} elseif ($pag [0] == "ver_carrito.php" || $pag [0] == "ver_detalle_orden.php" || $pag [0] == "detalle_factura.php" || $color == 3) {
$color_asiganado [0] = "verde"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#96BC33"; //color_hex_fondo_oscuro => verde
$color_asiganado [4] = "#BED36B"; //color_hex_fondo_oscuro => azul + oscuro
$color_asiganado [5] = "#52661C"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#FFFFFF"; //color_hex_link hover
$color_asiganado [7] = "#5F7720"; //color_hex_link hover panel superior
} elseif ($color == 4) {
$color_asiganado [0] = "rojo"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#A91110"; //color_hex_fondo_oscuro => rojo
$color_asiganado [4] = "#C78181"; //color_hex_fondo_oscuro => rojo
$color_asiganado [5] = "#FFFFFF"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#4B0707"; //color_hex_link hover
$color_asiganado [7] = "#630E0E"; //color_hex_link hover panel superior
} elseif ($color == 5) {
$color_asiganado [0] = "naranja"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#FF9007"; //color_hex_fondo_oscuro => naranja
$color_asiganado [4] = "#EDBB78"; //color_hex_fondo_oscuro => naranja
$color_asiganado [5] = "#5E3300"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#FFFFFF"; //color_hex_link hover
$color_asiganado [7] = "#B06201"; //color_hex_link hover panel superior
} elseif ($color == 6) {
$color_asiganado [0] = "amarillo"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#DDD200"; //color_hex_fondo_oscuro => amarillo
$color_asiganado [4] = "#E3DBA8"; //color_hex_fondo_oscuro => amarillo
$color_asiganado [5] = "#403D00"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#FFFFFF"; //color_hex_link hover
$color_asiganado [7] = "#ADA618"; //color_hex_link hover panel superior
} else { //para toto el resto de paginas como login.php, etc
$color_asiganado [0] = "azul"; //nombre del color
$color_asiganado [1] = "#FFFFFF"; //color_fuente_sobre_oscuro
$color_asiganado [2] = "#000000"; //color_fuente_sobre_claro
$color_asiganado [3] = "#2AAFBE"; //color_hex_fondo_oscuro => azul
$color_asiganado [4] = "#A7B8BC"; //color_hex_fondo_oscuro => azul + oscuro
$color_asiganado [5] = "#0D373C"; //color_hex_link => morado + oscuro
$color_asiganado [6] = "#FFFFFF"; //color_hex_link hover
$color_asiganado [7] = "#1C646C"; //color_hex_link hover panel superior
}
//echo $color_asiganado;
return $color_asiganado;
}
?>
class plantilla {
function plantilla($template_file) {
$this->tpl_file = '../templates/' . $template_file . '.php';
}
function asigna_variables($vars) {
$this->vars = (empty ( $this->vars )) ? $vars : $this->vars . $vars;
}
function muestra() {
if (! ($this->fd = @fopen ( $this->tpl_file, 'r' ))) {
sostenedor_error ( 'error al abrir la plantilla ' . $this->tpl_file );
} else {
$this->template_file = fread ( $this->fd, filesize ( $this->tpl_file ) );
fclose ( $this->fd );
$this->mihtml = $this->template_file;
$this->mihtml = str_replace ( "'", "\'", $this->mihtml );
$this->mihtml = preg_replace ( '#\{{=>([a-z0-9\-_]*?)\<=}}#is', "' . $\\1 . '", $this->mihtml );
reset ( $this->vars );
while ( list ( $key, $val ) = each ( $this->vars ) ) {
$$key = $val;
}
eval ( "\$this->mihtml = '$this->mihtml';" );
reset ( $this->vars );
while ( list ( $key, $val ) = each ( $this->vars ) ) {
unset ( $$key );
}
$this->mihtml = str_replace ( "\'", "'", $this->mihtml );
return $this->mihtml;
}
}
}
function sostenedor_error($error) {
$miplantilla = new plantilla ( "error" );
$miplantilla->asigna_variables ( array ('ERROR' => $error ) );
return $miplantilla->muestra ();
}
?>
class carrito {
//atributos de la clase
public $num_productos;
public $array_id_prod;
public $array_cod_prod_categoria;
public $array_cod_producto;
public $array_nombre_prod;
public $array_precio_unit;
public $array_id_tamano;
public $array_medida;
public $array_acabado;
public $array_empaque;
public $array_peso;
public $array_desc;
public $array_cant;
public $array_id_almacenes;
public $array_precio_tot;
public $array_iva;
public $shipping;
public $type_shipping;
public $tipo_pago;
public $id_shopping_cart;
public $array_id_almacenes2;
public $array_nomb_almacenes;
public $num_almacenes;
public $desc_cliente;
public $desc_vol;
/*constructor. Realiza las tareas de inicializar los objetos cuando se instancian inicializa el numero de productos a 0*/
public function carrito() {
$this->num_productos = 0;
$this->id_shopping_cart = 0;
$this->num_almacenes = 0;
$this->desc_cliente = 0;
$this->desc_vol = 0;
}
/*Introduce un producto en el carrito. Recibe los datos del producto
Se encarga de introducir los datos en los arrays del objeto carrito
luego aumenta en 1 el numero de productos*/
public function introduce_producto($id_prod, $cod_prod_categoria, $cod_prod, $nombre_prod, $precio_unit, $precio_tot, $desc, $cant, $iva, $medida, $acabdo, $empaque, $peso, $id_tamano, $id_almacen) {
$this->array_id_prod [$this->num_productos] = $id_prod;
$this->array_cod_prod_categoria [$this->num_productos] = $cod_prod_categoria;
$this->array_cod_producto [$this->num_productos] = $cod_prod;
$this->array_nombre_prod [$this->num_productos] = $nombre_prod;
$this->array_precio_unit [$this->num_productos] = $precio_unit;
$this->array_precio_tot [$this->num_productos] = $precio_tot;
$this->array_desc [$this->num_productos] = $desc;
$this->array_cant [$this->num_productos] = $cant;
$this->array_iva [$this->num_productos] = $iva;
$this->array_medida [$this->num_productos] = $medida;
$this->array_acabado [$this->num_productos] = $acabdo;
$this->array_empaque [$this->num_productos] = $empaque;
$this->array_peso [$this->num_productos] = $peso;
$this->array_id_tamano [$this->num_productos] = $id_tamano;
$this->array_id_almacenes [$this->num_productos] = $id_almacen;
$this->num_productos ++;
}
public function introduce_array_almacenes($id_almacen, $nom_almacen) {
$this->array_id_almacenes2[$this->num_almacenes] = $id_almacen;
$this->array_nomb_almacenes[$this->num_almacenes] = $nom_almacen;
$this->num_almacenes ++;
}
public function introduce_desc_cliente($desc_cliente) {
$this->desc_cliente = $desc_cliente;
}
public function introduce_desc_vol($desc_vol) {
$this->desc_vol = $desc_vol;
}
public function introduce_shipping($shipp, $tip_pag, $type_ship) {
$this->shipping = $shipp;
$this->tipo_pago = $tip_pag;
$this->type_shipping = $type_ship;
}
public function introduce_shopping_cart($id_shopping) {
$this->id_shopping_cart = $id_shopping;
}
public function total() {
$suma_sin_desc = 0;
$suma = 0;
$iva_tot = 0;
$cont = 0;
$pro = 0;
for($i = 0; $i < count ( $_SESSION ["carrito"]->array_id_prod ); $i ++) {
if ($_SESSION ["carrito"]->array_id_prod [$i] != 0 ) {
$suma_sin_desc += $_SESSION ["carrito"]->array_precio_tot [$i];
$suma += $_SESSION ["carrito"]->array_precio_tot [$i];
//$iva_tot += $_SESSION ["carrito"]->array_precio_tot [$i] * ($_SESSION ["carrito"]->array_iva [$i] / 100);
$cont ++;
}
}
//echo "suma ".$suma."
";
if ($_SESSION ["carrito"]->desc_vol != 0) {
$desc_vol = $suma * ($_SESSION ["carrito"]->desc_vol/100);
$suma_desc_vol = $suma - $desc_vol;
$suma = $suma_desc_vol;
//echo "desc vol ".$_SESSION ["carrito"]->desc_vol."
";
}else {
$desc_vol = 0;
}
if ($_SESSION ["carrito"]->desc_cliente != 0) {
$desc_cliente = $suma * ($_SESSION ["carrito"]->desc_cliente/100);
//echo "desc cliente ".$_SESSION ["carrito"]->desc_cliente."
";
}else {
$desc_cliente = 0;
}
//echo "suma2 ".$suma."
";
$total_total = $suma - $desc_cliente;
$iva = $_SESSION ["carrito"]->array_iva[0];
//echo "suma3 ".$suma."
";
$total = array ();
$total [0] = $suma; //total de productos con todos los descuentos x items y por volumen d dinero si tiene
$total [1] = $suma_sin_desc; //total sin ningun descuento
//$total [1] = $iva_tot; //total de iva
$total [2] = $total_total; //total suma - descuentos x items - descuento cliente si tiene - descuento volumen si tiene
$total [3] = $cont; //cantidad de items
$total [4] = count($_SESSION ["carrito"]->array_id_prod);
$total [5] = $desc_cliente; // descuento del cliente
$total [6] = $iva; // iva en %
$total [7] = $desc_vol; // descuento del volumes en dinero
$total [8] = $suma_desc_vol;
//$total [5] = $suma_sin_desc;//Precio bruto sin descuento
//$total [6] = $total_total-$suma_sin_desc;//El descuento total
return $total;
}//fin funcion total
/*elimina un producto del carrito. recibe la linea del carrito que debe eliminar
no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado*/
public function elimina_producto($linea) {
$this->array_id_prod [$linea] = 0;
}
/**
* @return unknown
*/
public function getId_shopping_cart() {
return $this->id_shopping_cart;
}
/**
* @param unknown_type $id_shopping_cart
*/
public function setId_shopping_cart($id_shopping_cart) {
$this->id_shopping_cart = $id_shopping_cart;
}
/**
* @return unknown
*/
public function getArray_cant() {
return $this->array_cant;
}
/**
* @return unknown
*/
public function getArray_desc() {
return $this->array_desc;
}
/**
* @return unknown
*/
public function getArray_id_prod() {
return $this->array_id_prod;
}
/**
* @return unknown
*/
public function getArray_iva() {
return $this->array_iva;
}
/**
* @return unknown
*/
public function getArray_nombre_prod() {
return $this->array_nombre_prod;
}
/**
* @return unknown
*/
public function getArray_precio_tot() {
return $this->array_precio_tot;
}
/**
* @return unknown
*/
public function getArray_precio_unit() {
return $this->array_precio_unit;
}
/**
* @return unknown
*/
public function getNum_productos() {
return $this->num_productos;
}
/**
* @return unknown
*/
public function getShipping() {
return $this->shipping;
}
/**
* @return unknown
*/
public function getTipo_pago() {
return $this->tipo_pago;
}
/**
* @param unknown_type $array_cant
*/
public function setArray_cant($array_cant) {
$this->array_cant = $array_cant;
}
/**
* @param unknown_type $array_desc
*/
public function setArray_desc($array_desc) {
$this->array_desc = $array_desc;
}
/**
* @param unknown_type $array_id_prod
*/
public function setArray_id_prod($array_id_prod) {
$this->array_id_prod = $array_id_prod;
}
/**
* @param unknown_type $array_iva
*/
public function setArray_iva($array_iva) {
$this->array_iva = $array_iva;
}
/**
* @param unknown_type $array_nombre_prod
*/
public function setArray_nombre_prod($array_nombre_prod) {
$this->array_nombre_prod = $array_nombre_prod;
}
/**
* @param unknown_type $array_precio_tot
*/
public function setArray_precio_tot($array_precio_tot) {
$this->array_precio_tot = $array_precio_tot;
}
/**
* @param unknown_type $array_precio_unit
*/
public function setArray_precio_unit($array_precio_unit) {
$this->array_precio_unit = $array_precio_unit;
}
/**
* @param unknown_type $num_productos
*/
public function setNum_productos($num_productos) {
$this->num_productos = $num_productos;
}
/**
* @param unknown_type $shipping
*/
public function setShipping($shipping) {
$this->shipping = $shipping;
}
/**
* @param unknown_type $tipo_pago
*/
public function setTipo_pago($tipo_pago) {
$this->tipo_pago = $tipo_pago;
}
}
?>