示例#1
0
function CONTENIDO_INICIAR_SESION()
{
    if (isset($_POST['iniciar_proceder'])) {
        ob_start();
        $ret = _F_usuario_acceder($_POST['iniciar_campo_correo'], $_POST['iniciar_campo_clave']);
        $buffer = ob_get_clean();
        if ($ret != 1) {
            echo mensaje("Datos de acceso erroneos, por favor intente de nuevo", _M_ERROR);
            echo mensaje($buffer, _M_INFO);
        }
    }
    if (S_iniciado()) {
        if (!empty($_POST['iniciar_retornar'])) {
            header("location: " . $_POST['iniciar_retornar']);
        } else {
            header("location: ./");
        }
        return;
    }
    echo "¿Deseas comprar y vender pero aún no tienes una cuenta? " . ui_href("iniciar_sesion_crear_cuenta", "./registrar", "¡entonces registrate ahora!") . ", es gratis, fácil y rápido.<br />";
    echo "<span class=\"explicacion\">¡Puedes utilizar tu usuario (o el correo electronico) y contraseña de <b><a target=\"_blank\" href=\"http://svcommunity.org/constancias/constancia-yomachete.com.html\">SVCommunity.org</a></b>!</span>";
    $retorno = empty($_POST['iniciar_retornar']) ? "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] : $_POST['iniciar_retornar'];
    echo "<form action=\"iniciar\" method=\"POST\">";
    echo ui_input("iniciar_retornar", $retorno, "hidden");
    echo "<table>";
    echo ui_tr(ui_td("Correo electronico (e-mail) / Usuario") . ui_td(ui_input("iniciar_campo_correo")));
    echo ui_tr(ui_td("Constraseña") . ui_td(ui_input("iniciar_campo_clave", "", "password")));
    echo "</table>";
    echo ui_input("iniciar_proceder", "Iniciar sesión", "submit") . "<br />";
    echo "</form>";
}
示例#2
0
function modUser($id, $nombre_usuario, $nombre, $password)
{
    if (empty($id) || empty($nombre_usuario) || empty($nombre) || empty($password)) {
        mensaje("Debe ingresar todos los datos requeridos");
    } else {
        $password = md5(trim(htmlspecialchars($password)));
        include "conn.php";
        //conexion a postgresql
        $conn = pg_connect("host={$dbhost} port={$dbport} dbname={$dbname} user={$dbuser} password={$dbpass}") or die("Error al conectar la base de datos");
        $camb = "UPDATE usuario SET \n\t\t         nombre_usuario='{$nombre_usuario}',\n\t\t\t\t nombre='{$nombre}', \n\t\t\t\t pass='******'\n\t\t\t\t WHERE id= '{$id}'";
        //echo $camb;
        $result = pg_query($conn, $camb);
        if (!$result) {
            mensaje("No se pudo modificar");
        } else {
            mensaje("¡Exito!", "Los datos se actualizaron correctamente");
        }
        pg_close($conn);
    }
}
示例#3
0
            $_SESSION["Nombre_Empresa_Corto"] = $registro_parametros["nombre_empresa_corto"];
        }
        if (!isset($_SESSION["Nombre_Aplicacion"])) {
            $_SESSION["Nombre_Aplicacion"] = $registro_parametros["nombre_aplicacion"];
        }
        if (!isset($_SESSION["Version_Aplicacion"])) {
            $_SESSION["Version_Aplicacion"] = $registro_parametros["version"];
        }
        // Lleva a auditoria con query manual por la falta de $Login_Usuario
        auditar("Ingresa al sistema desde {$PCO_DireccionAuditoria}", $uid);
        // Actualiza fecha del ultimo ingreso para el usuario
        ejecutar_sql_unaria("UPDATE " . $TablasCore . "usuario SET ultimo_acceso=? WHERE login=? ", "{$PCO_FechaOperacion}{$_SeparadorCampos_}{$uid}");
    }
    // Si la clave es incorrecta muestra de nuevo la ventana de ingreso
    if (!$clave_correcta) {
        mensaje($MULTILANG_ErrorTitAuth, $MULTILANG_ErrorDesAuth, '', 'fa fa-ban fa-4x text-danger', 'alert alert-danger');
        ventana_login();
        @session_destroy();
    } else {
        echo '<form name="Acceso" action="' . $ArchivoCORE . '" method="POST"><input type="Hidden" name="PCO_Accion" value="Ver_menu"></form><script type="" language="JavaScript">	document.Acceso.submit();  </script>';
    }
}
/* ################################################################## */
/* ################################################################## */
/*
	Function: Terminar_sesion
	Lleva una auditoria sobre el cierre de sesion de cada usuario y redirecciona a la funcion <Mensaje_cierre_sesion>

	Ver tambien:
		<Mensaje_cierre_sesion>
*/
示例#4
0
<?php

// Buscamos los viajes segun la fecha y/o salidas
include_once "seguridad.php";
include_once "template.php";
include_once "conexion.php";
include_once "funciones.php";
$db = conectar_al_servidor();
// obtenemos los datos pasados por parametros por ajax
$id_pasaje = $_REQUEST["id_pasaje"];
$sql = "SELECT  \n            p.CODIGO,\n            p.NOMBRE_Y_APELLIDO,\n            p.DIRECCION_ORIGEN,\n            p.DIRECCION_DESTINO,\n            p.DNI,\n            p.TELEFONO_ORIGEN,\n            p.TELEFONO_DESTINO,\n            p.OBSERVACIONES,\n            p.FECHA,\n            p.NRO_ASIENTO,\n            p.PRECIO, \n            p.CELULAR_ORIGEN,\n            p.CELULAR_DESTINO,\n            p.POSEE_SEGURO,\n            p.VALOR_SEGURO,\n            p.NOMBRE_PERSONA_SEGURO,\n            p.DNI_PERSONA_SEGURO,\n            p.FECHA_NAC_PERSONA_SEGURO,            \n   \t    lo.localidad AS loc_o,\n   \t    ld.localidad AS loc_d,\n            s.hora, \n            s.fecha,\n            v.plataforma_salida,            \n            tp.campo_interno, \n            p.pagado,\n            p.usuario\n            \n        FROM\n            pasajes AS p\n            Inner Join tipo_pasajes AS tp ON p.id_tipo_pasaje=tp.codigo\n            Inner Join localidades AS lo ON p.ID_LOCALIDAD_ORIGEN = lo.codigo\n            Inner Join localidades AS ld ON p.ID_LOCALIDAD_DESTINO = ld.codigo\n            Inner Join viajes AS v ON p.ID_VIAJE = v.codigo\n            Inner Join salidas AS s ON v.id_salida = s.codigo            \n        WHERE p.CODIGO = " . $id_pasaje;
$res = ejecutar_sql($db, $sql);
if (!$res) {
    mensaje('Error accediendo a las salidas...');
} else {
    $pasajes = '';
    while (!$res->EOF) {
        // $pasaje = NRO_ASIENTO|(PAGADO+FORMA_VIAJE+POSEE_SEGURO)|
        $pasajes = $pasajes . $res->fields[0] . "|" . $pasajes . $res->fields[1] . "|" . $pasajes . $res->fields[2] . "|" . $pasajes . $res->fields[3] . "|" . $pasajes . $res->fields[4] . "|" . $pasajes . $res->fields[5] . "|" . $pasajes . $res->fields[6] . "|" . $pasajes . $res->fields[7] . "|" . $pasajes . $res->fields[8] . "|" . $pasajes . $res->fields[9] . "|" . $pasajes . $res->fields[10] . "|" . $pasajes . $res->fields[11] . "|" . $pasajes . $res->fields[12] . "|" . $pasajes . $res->fields[13] . "|" . $pasajes . $res->fields[14] . "|" . $pasajes . $res->fields[15] . "|" . $pasajes . $res->fields[16] . "|" . $pasajes . $res->fields[17] . "|" . $pasajes . $res->fields[18] . "|" . $pasajes . $res->fields[19] . "|" . $pasajes . $res->fields[20] . "|" . $pasajes . $res->fields[21] . "|" . $pasajes . $res->fields[22] . "|" . $pasajes . $res->fields[23] . "|" . $pasajes . $res->fields[24] . "|" . $pasajes . $res->fields[25];
        $res->MoveNext();
    }
}
echo $pasajes;
desconectar($db);
die;
示例#5
0
 public function index()
 {
     $this->session->set_flashdata("document_status", mensaje("Debes editar un documento", "warning"));
     redirect(base_url("facturar"));
 }
示例#6
0

    <div class="row">
        <?php 
        if ($PCODER_Mensajes == 1) {
            echo '<br><br>';
        }
        //Presenta mensajes de error o informacion
        if ($existencia_ok == 0) {
            mensaje('<i class="fa fa-warning text-info texto-blink"></i> ' . $MULTILANG_Error . ': ' . $MULTILANG_ErrorExistencia . '. ' . $MULTILANG_Cargando . '=' . $PCODER_archivo, '', '', '', 'alert alert-danger alert-dismissible');
        }
        if ($permisos_ok == 0) {
            mensaje('<i class="fa fa-warning text-info texto-blink"></i> ' . $MULTILANG_Error . ': ' . $MULTILANG_ErrorRW . '. ' . $MULTILANG_Estado . '=' . $permisos_encontrados, '', '', '', 'alert alert-warning alert-dismissible');
        }
        if ($editor_ok == 0) {
            mensaje('<i class="fa fa-warning text-info texto-blink"></i> ' . $MULTILANG_Error . ': ' . $MULTILANG_ErrorNoACE . ': ' . $PCODER_archivo, '', '', '', 'alert alert-danger alert-dismissible');
            die;
        }
        ?>
    </div>


    <!-- EXPLORADOR DE ARCHIVOS -->
    <?php 
        abrir_dialogo_modal("NavegadorArchivos", $MULTILANG_Explorar . ' - ' . $MULTILANG_CargarArchivo);
        ?>
        <i class="well well-sm btn-xs btn-block"><?php 
        echo $MULTILANG_AyudaExplorador;
        ?>
</i>
        <div id="marco_explorador" class="embed-responsive embed-responsive-4by3">
示例#7
0
$imagen7 = './imagenes/sinasientos.jpg';
$imagen8 = './imagenes/sinasientos.jpg';
$imagen9 = './imagenes/sinasientos.jpg';
$imagen10 = './imagenes/sinasientos.jpg';
set_var('v_patente', '');
set_var('v_nombre', '');
set_var('v_interno', '');
set_var('v_modelo', '');
set_var('v_nro_asientos', '');
set_var('v_fecha_tecnica', '');
//set_var('v_id_viaje',$id_viaje);
set_var("v_cant_asientos_ocupados", $c_ao);
set_var("v_cant_asientos_reservado", $c_ar);
set_var("v_destino", $destino);
if (!$res) {
    mensaje('Error accediendo al listado de vehiculos...');
} else {
    if ($id_vehiculo == 0) {
        $datos = "<option value=-1 selected=True >Seleccione un vehiculo</option>";
    }
    while (!$res->EOF) {
        if ($id_vehiculo == $res->fields[0]) {
            $datos = $datos . "<option value=" . $res->fields[0] . " selected=True >" . $res->fields[1] . "</option>";
            set_var('v_patente', $res->fields[0]);
            set_var('v_nombre', $res->fields[1]);
            set_var('v_interno', $res->fields[2]);
            set_var('v_modelo', $res->fields[3]);
            set_var('v_nro_asientos', $res->fields[4]);
            set_var('v_fecha_tecnica', cambiaf_a_normal($res->fields[5]));
            //--------------------------------------------------------------
            // Planta BAJA
        $datos['fecha_ingreso'] = mysql_date();
        $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('DUI', 'NIT', 'nombres', 'apellidos', 'conocido_por', 'op_fecha_nacimiento', 'op_lugar_nacimiento', 'op_direccion', 'op_correo', 'op_estado_civil', 'op_idioma', 'op_informatica', 'op_interes', 'op_referencias', 'op_telefono1', 'op_telefono2', 'op_movil1', 'op_movil2'))));
        $ID_empleado = db_agregar_datos(db_prefijo . 'empleado', $datos);
        // Su primer cargo laboral - aww :)
        unset($datos);
        $datos['ID_empresa'] = usuario_cache('ID_empresa');
        $datos['ID_usuario'] = usuario_cache('ID_usuario');
        $datos['ID_empleado'] = $ID_empleado;
        $datos['fecha_ingreso'] = mysql_date();
        $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('fecha_inicio', 'cargo', 'salario'))));
        $ID_historial = db_agregar_datos(db_prefijo . 'historial', $datos);
        echo '<h1>Resultado de solicitud de ingreso de nuevo registro de empleado</h1>';
        if ($ID_empleado && $ID_historial) {
            $mensaje['mensaje'] = 'El usuario <strong>' . usuario_cache('nombre') . '</strong>, añadió un nuevo empleado [<strong>' . $_POST['apellidos'] . ',' . $_POST['nombres'] . '</strong>] a su empresa.';
            $mensaje['tipo'] = 'info';
            mensaje(array(usuario_cache('ID_empresa')), array($mensaje));
            empleado_difundir_actualizaciones($_POST['DUI'], $_POST['NIT'], 'ha sido registrado en la empresa <strong>' . usuario_cache('razon_social') . '</strong>. Registrado con nombre <strong>' . $_POST['apellidos'] . ',' . $_POST['nombres'] . '</strong>.');
            echo '<p>Gracias, su solicitud de ingreso de datos a sido recibida y aceptada. El nuevo registro de empleado ya se encuentra disponible.</p>';
            echo '<p>Si desea añadir mas cargos laborales a su empleado dirijase a <a href="' . PROY_URL . '~empleado?cargo=' . $ID_empleado . '">cargos laborales para ' . $_POST['apellidos'] . ', ' . $_POST['nombres'] . '</a></p>';
            echo '<p>Tambien puede <a href="' . PROY_URL . '~empleado" alt="Empleados de su empresa">revisar sus registros de empleado</a>, <a href="' . PROY_URL . '~empleado?agregar" alt="Agregar empleado a su empresa">agregar otro empleado</a> o <a href="' . PROY_URL . '" title="Pagina de inicio de BCA">regresar a la pagina de inicio de BCA</a></p>';
            return;
        } else {
            $buffer = '<p class="error">Lo sentimos, sucedio un error desconocido y su solicitud no pudo ser procesada, puede intentarlo nuevamene si lo desea</p>';
        }
    }
}
$arrCSS[] = 'overcast/jquery-ui-1.8rc3.custom';
$arrJS[] = 'jquery-ui-1.8rc3.min';
$arrJS[] = 'jquery.ui.datepicker-es';
$arrHEAD[] = JS_onload('$(".datepicker").datepicker({inline: true, maxDate: "+0", dateFormat: "yy-mm-dd", changeMonth: true, changeYear: true});');
?>
示例#9
0
文件: upload.php 项目: jeldrex/BuscaF
        <tr>
          <td width="700" align="left" valign="top"bgcolor="#FFFFFF"> 
            <!-- InstanceBeginEditable name="contenido" --> 
            <table width="700" height="483" border="0" cellpadding="0" cellspacing="0">
              <tr>
                <td width="700" height="509" align="center" valign="top"> 
           	<?php 
    require "funciones.php";
    if (isset($HTTP_SESSION_VARS['usuario_registrado'])) {
        if ($_GET['accion'] == agregar) {
            //Agrega el catalogo
            //Bug, no tengo idea por que ingresa un catalogo vacio,
            //esto es una solucion muy pero muy chanta , evita que ingrese el catalogo fantasma ""
            if (!empty($_POST['id_catalogo'])) {
                if (agregarCatalogo2($HTTP_SESSION_VARS['id_usuario'], limpia($_POST['id_catalogo']), limpia($_POST['ubicacion']))) {
                    mensaje("¡Error!", "El cat&aacute;logo " . limpia($_POST['id_catalogo']) . " ya existe en la base de datos");
                } else {
                    //echo $_POST['id_ruta'];
                    //Agrega los archivos al catalogo
                    listar_directorios_ruta(limpia($_POST['id_catalogo']), $_POST['id_ruta']);
                    //mensaje( "¡Confirmado!","Cat&aacute;logo <b>".limpia( $_POST['id_catalogo'] )."</b> ingresado exitosamente" );
                    echo '<div class="exito mensajes">¡Confirmado! Cat&aacute;logo <b>' . limpia($_POST['id_catalogo']) . '</b> ingresado exitosamente</div>';
                }
            }
        }
    }
    FormularioCargarCatalogo();
    ?>
					<script type="text/javascript" language="javascript">
					<!--
					var uname = document.forms['FormularioCargarCatalogo'].elements['id_catalogo'];
示例#10
0
	Salida:
		Tabla eliminada

	Ver tambien:
		<administrar_tablas>
*/
if ($PCO_Accion == "eliminar_tabla") {
    $mensaje_error = "";
    if ($mensaje_error == "") {
        // Realiza la operacion
        ejecutar_sql_unaria("DROP TABLE {$nombre_tabla}");
        auditar("Elimina tabla {$nombre_tabla}");
        echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"><input type="Hidden" name="PCO_Accion" value="administrar_tablas"></form>
							<script type="" language="JavaScript"> document.cancelar.submit();  </script>';
    } else {
        mensaje('<blink>' . $MULTILANG_TblErrDel1 . '</blink>', $MULTILANG_TblErrDel2, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
        echo '<form action="' . $ArchivoCORE . '" method="POST" name="cancelar"><input type="Hidden" name="PCO_Accion" value="administrar_tablas"></form>
						<br /><input type="Button" onclick="document.cancelar.submit()" name="" value="Cerrar" class="Botones">';
    }
}
/* ################################################################## */
/* ################################################################## */
/*
	Function: guardar_crear_tabla
	Crea una nueva tabla de aplicacion

	Variables de entrada:

		nombre_tabla - Nombre de la tabla a ser creada

		(start code)
示例#11
0
function CONTENIDO_VENDER()
{
    global $arrJS, $arrHEAD;
    // Comprobamos que ya haya ingresado al sistema
    if (!S_iniciado()) {
        echo "Necesitas iniciar sesión para poder <b>publicar</b> y <b>vender</b>.<br />";
        require_once "PHP/inicio.php";
        CONTENIDO_INICIAR_SESION();
        return;
    }
    // --------------------------VARIABLES----------------------------
    $flag_op_y_saltar = false;
    $flag_enviar = isset($_POST['vender_enviar']);
    $flag_publicar = isset($_POST['vender_publicar']);
    $flag_modo_previsualizacion = isset($_POST['vender_previsualizar']);
    $flag_modo_escritura = (isset($_POST['vender_publicar']) || isset($_POST['vender_previsualizar'])) && !isset($_POST['vender_editar']);
    // --------------------------CATEGORIA-------------------------------
    if (!isset($_GET['op']) && !isset($_GET['ticket'])) {
        // Será que aún tiene ventas disponibles?
        if (ObtenerEstadisticasUsuario(_F_usuario_cache('id_usuario'), _EST_CANT_PUB_ACEPT) >= _F_usuario_cache('nPubMax')) {
            echo Mensaje("Ud. ha alcanzado su límite de publicaciones (" . _F_usuario_cache('nPubMax') . "), si desea agregar más publicaciones puede eliminar una publicación actual o adquirir una cuenta premium.");
        } else {
            // No ha escogido categoría, le mostramos las opciones.
            echo "<h1>Realizar una nueva publicación</h1>" . "Por favor seleccione la categoría mayor a la que pertenece su publicación. Esto es necesario para ofrecerle únicamente las opciones relevantes a su publicación, en el siguiente paso podrá definir la sub-categoría." . '<br />' . '<ul>' . '<li>' . ui_href("vender_ir_inmueble", "vender?op=inmueble", "Inmueble") . "<br /><span class='explicacion'>venta o alquiler de casas, apartamentos y demás bienes inmuebles</span></li>" . '<li>' . ui_href("vender_ir_inmueble", "vender?op=automotor", "Automotor") . "<br /><span class='explicacion'>venta o alquiler de automores (carros, vehículos, motocicletas y toda máquina propulsada por un motor)</span></li>" . '<li>' . ui_href("vender_ir_servicio", "vender?op=servicio", "Servicio") . " <br /><span class='explicacion'>servicios profesiales (electricista, programador, diseñador, albañil, constructor, arquitecto, etc.)</span></li>" . '<li>' . ui_href("vender_ir_articulo", "vender?op=articulo", "<strong>Artículo</strong>") . "<br /><span class='explicacion'>encontrarás sub categorías para todo lo que las anteriores 3 categorías mayores no cubren</span></li>" . '</ul>';
        }
        echo '<h1>Mis publicaciones</h1>';
        // Mostrar las ventas "vendidas":
        $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo=" . _A_vendido;
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Ventas realizadas y cerradas</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"vender?ticket=" . $f['id_publicacion'] . "\">publicar nuevamente</a></td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas publicadas:
        $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_aceptado . "' AND fecha_fin >='" . mysql_datetime() . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Ventas publicadas actualmente</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Expira</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . $f['fecha_fin'] . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=editar\">editar</a>|<a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=cerrar\">¡vendido!</a>|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas incompletas:
        $c = "SELECT id_publicacion, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_temporal . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Publicaciones que no ha enviado a aprobación</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td>" . ui_href("", "vender?ticket=" . $f['id_publicacion'], "continuar") . "|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas esperando aprobación
        $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_esp_activacion . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Publicaciones enviadas en espera de aprobación</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas caducadas
        $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo = '" . _A_aceptado . "' AND fecha_fin < CURDATE()";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<hr />";
            echo "<h2>Publicaciones que han caducado</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "\">" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "?se=republicar\">republicar</a></td></tr>";
            }
            echo "</table>";
        }
        return;
    } elseif (isset($_GET['op']) && !isset($_GET['ticket'])) {
        $op = $_GET['op'];
        if (!is_numeric($op)) {
            $c = "SELECT id_categoria FROM ventas_categorias WHERE rubro='" . db_codex($op) . "' LIMIT 1";
        } else {
            $c = "SELECT id_categoria FROM ventas_categorias WHERE id_categoria='" . db_codex($op) . "' LIMIT 1";
        }
        $r = db_consultar($c);
        $f = mysql_fetch_row($r);
        if (!empty($f[0])) {
            $_POST["id_categoria"] = $f[0];
            $flag_modo_escritura = true;
            $flag_op_y_saltar = true;
        }
    } elseif (isset($_GET['op']) && isset($_GET['ticket'])) {
        $flag_modo_escritura = false;
        $flag_op_y_saltar = true;
    }
    // --------------------------TICKET-------------------------------
    // Creamos el Ticket Temporal de venta si no lo tenemos o validamos el actual
    $ticket = empty($_GET['ticket']) ? ObtenerTicketTMP(_F_usuario_cache('id_usuario')) : $_GET['ticket'];
    if (!ComprobarTicket($ticket)) {
        echo "La validación de su Ticket ha fallado.<br />";
        echo "Esto podría bien ser una falla del sistema o un error en su navegador.<br />";
        echo "Lo sentimos, por seguridad esta operación no continuará.";
        return;
    }
    db_consultar(sprintf('UPDATE ventas_publicaciones SET tipo=%s WHERE id_publicacion=%s', _A_temporal, $ticket));
    // ---Si el ticket es valido entoces rescatemos lo que lleva hecho---
    $arrHEAD[] = '<script type="text/javascript" src="JS/tiny_mce/tiny_mce_gzip.js"></script>
    <script type="text/javascript">
    tinyMCE_GZ.init({
            plugins : \'style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,\'+
            \'searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras\',
            themes : \'advanced\',
            languages : \'es\',
            disk_cache : true,
            debug : false
    });
    </script>
    <script type="text/javascript">
    tinyMCE.init({
        language : "es",
	elements : "descripcion",
        theme : "advanced",
        mode : "exact",
        plugins : "safari,style,layer,table,advhr,advimage,advlink,media,paste,directionality,fullscreen,visualchars,nonbreaking,xhtmlxtras,template",
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect,cleanup,code",
        theme_advanced_buttons2 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,advhr,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        button_tile_map : true,
    });</script>
    ';
    if (isset($_GET['eliminar'])) {
        if (!empty($_GET['ticket'])) {
            DestruirTicket($_GET['ticket']);
        }
        echo "La publicación ha sido cancelada y eliminada.<br />";
        echo ui_href("", "./", "Regresar a la página principal") . " / " . ui_href("", "./vender", "Regresar a ventas");
        return;
    }
    if (isset($_POST['vender_eliminar'])) {
        header("location: ./");
        if (!empty($_GET['ticket'])) {
            DestruirTicket($_GET['ticket']);
        }
        echo "Cancelando venta...";
        return;
    }
    /* Advertencia:
         Hay que recargar los datos luego de la edición para evitar problemas de que los cambios anteriores queden "en cache"
       */
    $Publicacion = ObtenerDatos($ticket);
    if ($flag_modo_escritura) {
        DescargarArchivos("vender_deshabilitar", $ticket, $Publicacion['id_usuario']);
        CargarArchivos("vender_imagenes", $ticket, $Publicacion['id_usuario']);
        CargarDatos($ticket, $Publicacion['id_usuario']);
        // Refrescamos los datos de la publicación
        $Publicacion = ObtenerDatos($ticket);
    }
    $Vendedor = _F_usuario_datos($Publicacion['id_usuario']);
    $imagenes = ObtenerImagenesArr($ticket, "");
    if ($flag_op_y_saltar) {
        header("location: ./vender?ticket={$ticket}");
    }
    if ($flag_modo_previsualizacion || $flag_publicar || $flag_enviar) {
        if (in_array(@$Publicacion["rubro"], array('articulo', 'automotor', 'inmueble')) && !count($imagenes)) {
            $flag_enviar = false;
            echo Mensaje("necesita agregar al menos una foto de su producto", _M_ERROR);
        }
        if (strlen($Publicacion['titulo']) < 20) {
            $flag_enviar = false;
            echo Mensaje("el título debe contener más de 20 letras", _M_ERROR);
        }
        if (strlen($Publicacion['titulo']) > 50) {
            $flag_enviar = false;
            echo Mensaje("el título no debe contener más de 100 letras", _M_ERROR);
        }
        if (strlen($Publicacion['descripcion_corta']) < 10) {
            $flag_enviar = false;
            echo Mensaje("la descripción corta debe contener más de 10 letras", _M_ERROR);
        }
        if (strlen($Publicacion['descripcion_corta']) > 300) {
            $flag_enviar = false;
            echo Mensaje("la descripción corta no debe contener más de 300 letras", _M_ERROR);
        }
    }
    if ($flag_enviar) {
        // Al fin lo terminó de editar y lo esta enviando... Aleluya!
        //-
        // Si es Admin entonces aprobar automaticamente, si no pues mandarlo a esperar activacion
        $c = "UPDATE ventas_publicaciones SET tipo='" . _A_esp_activacion . "' WHERE id_publicacion={$ticket} LIMIT 1";
        $r = db_consultar($c);
        if (db_afectados() == 1) {
            if (_F_usuario_cache('nivel') == _N_administrador) {
                Publicacion_Aprobar($ticket);
                echo Mensaje("Su venta ha sido publicada", _M_INFO);
            } else {
                $vendedor = _F_usuario_datos($Publicacion['id_usuario']);
                email($vendedor['email'], PROY_NOMBRE . ' - Publicación "' . $Publicacion['titulo'] . '" ha sido recibida', 'Su publicación ha sido recibida en nuestro sistema y se encuentra en proceso de activación.<br />\\nEsta activación puede demorar entre <strong>1 minuto y 1 hora</strong> dependiendo de la disponibilidad de los administradores en línea.<br />Esta corta espera es necesaria para realizar una revisión de las publiciaciones y así poder ofrecer el mejor contenido a nuestros visitantes.<br />\\n!Gracias por preferir ' . PROY_NOMBRE . ' para realizar sus publicaciones!');
                email_x_nivel(_N_administrador, 'Nueva publicacion: ' . $Publicacion['titulo'] . ' ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay una nueva publicacion esperando aprobación: ' . $Publicacion['titulo'] . '.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_publicaciones_activacion">Administración: aprobacion de publicaciones</a>');
                echo Mensaje('Su venta ha sido exitosamente enviada para aprobación', _M_INFO);
            }
        } else {
            echo Mensaje("Su venta ha NO a sido enviada para aprobación, sucedió algún error", _M_ERROR);
        }
        echo "Continuar a: " . ui_href("", "vender", "publicar otra venta") . " / " . ui_href("", "./", "página principal") . "<br />";
        return;
    }
    if ($flag_modo_previsualizacion || $flag_publicar) {
        // Si es admin no verá el mensaje confuso.
        if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) {
            echo mensaje("esta es una previsualización.<br />Su publicacion no será visible al publico hasta que presione el botón \"Enviar\".<br />Por favor revise una ultima ves su publicacion antes de enviarla.", _M_INFO);
        }
        echo '<hr />';
        echo "<p>Esta publicando en la categoría <strong>" . get_path(db_codex(@$Publicacion['id_categoria']), false) . "</strong></p>";
        echo "<h2>Vista preliminar de su publicación en las listas</h2>";
        echo VISTA_ListaPubs("id_publicacion={$ticket}", "", "previsualizacion", "Woops!, ¡problemas intentando cargar la previsualización!");
        echo "<h2>Vista preliminar de su publicación al ser accedida</h2>";
        echo '<div id="prev_pub">';
        require_once "PHP/contenido.php";
        $_GET['publicacion'] = $ticket;
        CONTENIDO_PUBLICACION("previsualizacion");
        echo "</div>";
        echo '<hr style="margin-bottom:50px" />';
    }
    // -----------------------------------------------------------------
    // Inicio de formulario
    echo "<form action=\"vender?ticket={$ticket}\" method=\"POST\" enctype=\"multipart/form-data\">";
    if ($flag_publicar) {
        $Aprobacion = _F_usuario_cache('nivel') == _N_administrador ? "Ud. es administrador, su publicación será aprobada automaticamente" : "No podrá editar su publicación de nuevo hasta que esta sea esta sea revisada y aprobada.";
        echo "<span class='explicacion'>Esta a punto de enviar su publicación a revisión. Puede seguir editando su publicación presionando el botón <b>Editar</b> o finalizar presionando el botón <b>Enviar</b>.<br />{$Aprobacion}</span>";
        echo "<br />";
        echo "<center>";
        echo ui_input("vender_editar", "Editar", "submit");
        echo ui_input("vender_enviar", "Enviar", "submit");
        echo "</center>";
        return;
    }
    echo "<ol class=\"ventas\">";
    echo "<li>Selección de categoría</li>";
    echo "<span class='explicacion'>Ubique su árticulo en la categoría que consideres apropiada.</span>";
    echo "Mi árticulo corresponde a la siguiente categoría<br />" . ui_combobox("id_categoria", join("", ver_hijos("", @$Publicacion["rubro"])), @$Publicacion["id_categoria"]) . "<br />";
    echo "<li>Precio</li>";
    echo "<span class='explicacion'>Précio en dólares de Estados Unidos de America (\$ USA).</span>";
    echo "Précio " . ui_input("precio", @$Publicacion["precio"], "", "", "width:30ex", "MAXLENGTH='30'") . "<br />";
    echo "<li>Título de la publicación</li>";
    echo "<span class='explicacion'>Utilice un título corto, descriptivo y llamativo, máximo 50 carácteres. No se admite código HTML.</span>";
    echo "Titulo " . ui_input("titulo", @$Publicacion["titulo"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />";
    echo "<li>Tags (palabras clave) para publicación</li>";
    echo "<span class='explicacion'>Utilice 5 palabras (máximo) separadas por coma (,) que describan su producto. Para casos como 'El Salvador' ingreselo como 'El-Salvador'</span>";
    echo "Tags " . ui_input("tags", @$Publicacion["tags"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />";
    echo "<li>Descripción corta de la publicación</li>";
    echo "<span class='explicacion'>Describa brevemente su venta (o prestación de servicio), solo los detalles más importantes, máximo 300 carácteres. No se admite código HTML.</span>";
    echo "Descripción corta " . ui_input("descripcion_corta", @$Publicacion["descripcion_corta"], "text", "", "width:70ex", "MAXLENGTH='300'") . "<br />";
    echo "<li>Descripción del artículo</li>";
    echo "<span class='explicacion'>Describa en detalle tu artículo, incluye todos los datos relevantes que desees, máximo 5000 carácteres.<br />¡Puedes usar <a href=\"http://www.bbcode-to-html.com/\">bbcode-to-html</a> para convertir tus mensajes de SVCommunity.org a HTML!, si lo haces de esta forma utiliza el botón \"html\" para ingresar el texto resultante.</span>";
    echo "Descripción larga<br />" . ui_textarea("descripcion", @$Publicacion["descripcion"], "", "width:100%;height:20em;") . "<br />";
    if (in_array(@$Publicacion["rubro"], array("articulo", "automotor"))) {
        echo "<li>Características del artículo</li>";
        echo "<span class='explicacion'>Seleccione solo las opciones que ayuden a describir de forma precisa tu producto.</span>";
        echo db_ui_checkboxes("venta[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "venta"), "", "tipo='venta'");
    }
    echo "<li>Formas de pago admitidas</li>";
    echo "<span class='explicacion'>Selecione solo las opciones de pago que admitirá.</span>";
    echo db_ui_checkboxes("pago[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "pago"), "", "tipo='pago'");
    if (in_array(@$Publicacion["rubro"], array("articulo"))) {
        echo "<li>Formas de entrega admitidas</li>";
        echo "<span class='explicacion'>Selecione solo las opciones de tipos de entrega que admitirá.</span>";
        echo db_ui_checkboxes("entrega[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "entrega"), "", "tipo='entrega'");
    }
    switch (@$Publicacion["rubro"]) {
        case "articulo":
            echo "<li>Fotografías del artículo</li>";
            break;
        case "automotor":
            echo "<li>Fotografías del automotor</li>";
            break;
        case "inmueble":
            echo "<li>Fotografías del inmueble</li>";
            break;
        case "servicio":
            echo "<li>Imagen relacionada con su servicio (logotipo, etc.)</li>";
            break;
    }
    echo '<span class="explicacion">Cargue las fotografías reales de su artículo, <strong style="color:#F00">necesita al menos una foto para que su publicacion sea aprobada y publicada</strong>.<br />Imagenes tomadas de la página del fabricante o similires son permitidas con un máximo de dos imagenes.<br />En total se admiten cinco imagenes</span>';
    echo "<br />";
    if (isset($imagenes) && is_array($imagenes)) {
        foreach ($imagenes as $archivo) {
            echo "<div style='display:inline-block'><a href=\"./imagen_" . $archivo . "\" title=\"IMAGEN CARGADA\" target=\"_blank\"><img src=\"./imagen_" . $archivo . "m\" /></a><br />" . ui_input("vender_deshabilitar[]", $archivo, "checkbox") . "&nbsp;Eliminar</div>";
        }
        echo "<div style=\"clear:both\"></div>";
    }
    $NoMaxImg = in_array(@$Publicacion["rubro"], array("servicio")) ? 1 : $Vendedor['nImgMax'];
    $inicio = isset($imagenes) ? count($imagenes) : 0;
    for ($i = $inicio; $i < $NoMaxImg; $i++) {
        echo "Imagen " . ($i + 1) . ": Cargar " . ui_input("vender_imagenes[]", "", "file") . "<br />";
    }
    // Si es admin solo verá "Guardar".
    if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) {
        echo "<li>Previsualizar y Publicar</li>";
        echo "</li>";
        echo "<span class='explicacion'>Puede observar como quedaría su publicación utilizando el botón 'Previsualizar'.<br />Cuando este satisfecho con el resultado presione el botón 'Publicar'.</span>";
        echo "<br />";
        echo "<center>";
        echo ui_input("vender_previsualizar", "Vista previa", "submit");
        echo ui_input("vender_publicar", "Publicar", "submit");
    } else {
        echo ui_input("vender_previsualizar", "Guardar", "submit");
    }
    echo ui_input("vender_eliminar", "Eliminar", "submit");
    echo "</center>";
    echo "</form>";
}
<?php

// Buscamos los viajes segun la fecha y/o salidas
include_once "seguridad.php";
include_once "template.php";
include_once "conexion.php";
include_once "funciones.php";
$db = conectar_al_servidor();
// obtenemos los datos pasados por parametros por ajax
$id_viaje = $_REQUEST["id_viaje"];
$ord = $_REQUEST["ord"];
$sql = "SELECT\n            p.NRO_ASIENTO,\n            p.NOMBRE_Y_APELLIDO,\n            p.DIRECCION_ORIGEN,\n            p.TELEFONO_ORIGEN,\n            COALESCE(p.PRECIO,0) + COALESCE(p.valor_seguro,0) as precio,\n            p.codigo\n        FROM pasajes AS p\n        WHERE p.ID_VIAJE = " . $id_viaje . " ORDER BY " . $ord;
$res = ejecutar_sql($db, $sql);
if (!$res) {
    mensaje('Error accediendo a la tabla viaje...');
} else {
    $pasajes = '';
    while (!$res->EOF) {
        // $pasaje = NRO_ASIENTO|(PAGADO+FORMA_VIAJE+POSEE_SEGURO)|
        // Nro Asiento	Nombre	Dirección	Tel	Importe
        $pasajes = $pasajes . $res->fields[0] . "|" . $res->fields[1] . "|" . $res->fields[2] . "|" . $res->fields[3] . "|" . $res->fields[4] . "|" . $res->fields[5] . '@';
        $res->MoveNext();
    }
}
echo $pasajes;
desconectar($db);
die;
示例#13
0
function CONTENIDO_REGISTRAR()
{
    if (S_iniciado()) {
        header("location: ./");
        return;
    }
    if (isset($_POST['registrar_proceder'])) {
        $flag_registroExitoso = true;
        if (!empty($_POST['registrar_campo_email'])) {
            if (!validEmail($_POST['registrar_campo_email'])) {
                echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            if (_F_usuario_existe($_POST['registrar_campo_email'], "email")) {
                echo mensaje("Este correo electrónico ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['email'] = $_POST['registrar_campo_email'];
        } else {
            echo mensaje("Por favor ingrese su email e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_usuario'])) {
            if (_F_usuario_existe($_POST['registrar_campo_usuario'])) {
                echo mensaje("Este nombre de usuario ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            if (strpos(trim($_POST['registrar_campo_usuario']), " ")) {
                echo mensaje("Este nombre de usuario no es válido (contiene espacios), por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['usuario'] = trim($_POST['registrar_campo_usuario']);
        } else {
            echo mensaje("Por favor ingrese su usuario e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) {
            //Contraseñas iguales?
            if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) {
                //Tamaño adecuado?
                if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) {
                    $datos['clave'] = sha1(strtolower($datos['usuario']) . trim($_POST['registrar_campo_clave']));
                } else {
                    echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR);
                    $flag_registroExitoso = false;
                }
            } else {
                echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
        } else {
            echo mensaje("Por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_telefono'])) {
            if (_F_usuario_existe($_POST['registrar_campo_telefono'], "telefono1")) {
                echo mensaje("Este teléfono ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['telefono1'] = $_POST['registrar_campo_telefono'];
        } else {
            echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if ($flag_registroExitoso) {
            $datos["estado"] = _N_esp_activacion;
            $datos["nivel"] = _N_vendedor;
            $datos["ultimo_acceso"] = mysql_datetime();
            $datos["registro"] = mysql_datetime();
            db_agregar_datos("ventas_usuarios", $datos);
            echo "¡Su solicitud de registro ha sido procesada!<br />Sin embargo su cuenta estará activa cuando un Administrador apruebe su nueva cuenta.<br />Un mensaje será enviado su correo electrónico en el que se le confirmará que su cuenta esta activa.<br />Este proceso puede tardar entre 10 minutos y 2 horas en llevarse a cabo, gracias por su espera.<br />";
            echo "Le invitamos a seguir navegando en nuestro sitio mientras su cuenta es activada. " . ui_href("registrar_continuar", "./", "Continuar") . "<br />";
            email($datos['email'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario  en " . PROY_NOMBRE . " ha sido exitoso, sin embargo los Administradores deberán activar manualmente su cuenta para que Ud. puede acceder.<br />\nSe le notificará por esta vía cuando la activación sea realizada.<br />\n\n<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['email'] . "</strong><br />\nUsuario: <strong>" . $datos['usuario'] . "</strong><br />\n<br /><br />Gracias por su amable espera.<br />" . PROY_NOMBRE . "<br />" . PROY_URL);
            email_x_nivel(_N_administrador, "Aprobación de nuevo usuario pendiente: " . $_POST['registrar_campo_usuario'] . ' ~ ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay un nuevo usuario esperando aprobación.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_usuarios_activacion">Administración: activación de usuarios</a>');
            return;
        }
    }
    echo "¡Bienvenido!, ¿deseas formar parte del comercio electrónico?<br />Si ya posees una cuenta puedes " . ui_href("registrar_iniciar_sesion", "./iniciar", "iniciar sesión") . ".<br />Todos los campos son requeridos<br />";
    echo "<form action=\"registrar\" method=\"POST\">";
    echo "<table>";
    echo ui_tr(ui_td("<acronym title='Ud. ingresará a nuestro sistema usando esta dirección de correo electronico. Asegurese que la dirección exista, puesto que será necesaria en caso de que desee recuperar su contraseña.'>Correo electronico (e-mail)</acronym>") . ui_td(ui_input("registrar_campo_email", _F_form_cache("registrar_campo_email"))) . ui_td('<span id="registrar_respuesta_email"></span>'));
    echo ui_tr(ui_td("<acronym title='Este es el nombre que se le mostrará a los usuarios del sitio. Puede utilizar su código de vendedor o el apodo que Ud. prefiera'>Nombre de Usuario</acronym>") . ui_td(ui_input("registrar_campo_usuario", _F_form_cache("registrar_campo_usuario"))) . ui_td('<span id="registrar_respuesta_usuario"></span>'));
    echo ui_tr(ui_td("<acronym title='Le permitirá validar su identidad en nuestro sistema. Deberá ser mayor a 6 carácteres'>Contraseña</acronym>") . ui_td(ui_input("registrar_campo_clave", "", "password")));
    echo ui_tr(ui_td("<acronym title='Por favor ingrese nuevamente su contraseña (verificación)'>Contraseña (verificación)</acronym>") . ui_td(ui_input("registrar_campo_clave_2", "", "password")));
    echo ui_tr(ui_td("<acronym title='Número de contacto principal. Le llamaremos a este número si es necesario esclarecer datos sobre una venta'>Teléfono de contacto</acronym>") . ui_td(ui_input("registrar_campo_telefono", _F_form_cache("registrar_campo_telefono"))));
    echo "</table>";
    echo ui_input("registrar_proceder", "Proceder", "submit") . "<br />";
    echo "</form>";
    echo "<strong>Su correo electrónico y teléfono no serán revelados al público ni vendidos a terceras personas.</strong>";
    echo JS_onload('
$("#registrar_campo_email").blur(function(){$("#registrar_respuesta_email").load("./registro_correo_existe:"+$("#registrar_campo_email").val());});
$("#registrar_campo_usuario").blur(function(){$("#registrar_respuesta_usuario").load("./registro_usuario_existe:"+$("#registrar_campo_usuario").val());});
');
}
示例#14
0
文件: inicio.php 项目: vlad88sv/360
<?php

if (isset($_POST['iniciar_proceder'])) {
    ob_start();
    $ret = _F_usuario_acceder($_POST['iniciar_campo_correo'], $_POST['iniciar_campo_clave']);
    $buffer = ob_get_clean();
    if ($ret != 1) {
        echo mensaje("Datos de acceso erroneos, por favor intente de nuevo", _M_ERROR);
        echo mensaje($buffer, _M_INFO);
    }
}
if (S_iniciado()) {
    if (!empty($_POST['iniciar_retornar'])) {
        header("location: " . $_POST['iniciar_retornar']);
    } else {
        header("location: ./");
    }
    return;
}
$HEAD_titulo = PROY_NOMBRE . ' - Iniciar sesion';
if (isset($_GET['ref'])) {
    $_POST['iniciar_retornar'] = $_GET['ref'];
}
/* echo "Estimado usuario, si no posee una cuenta y desea registrar una... ". ui_href("","./registrar","¡entonces registrese ahora!") . ", es gratis, fácil y rápido.<br />"; */
$retorno = empty($_POST['iniciar_retornar']) ? PROY_URL : $_POST['iniciar_retornar'];
echo '<form action="iniciar" method="POST">';
echo ui_input("iniciar_retornar", $retorno, "hidden");
echo "<table>";
echo ui_tr(ui_td("Correo electronico (e-mail)") . ui_td(ui_input("iniciar_campo_correo")));
echo ui_tr(ui_td("Constraseña") . ui_td(ui_input("iniciar_campo_clave", "", "password")));
echo "</table>";
示例#15
0
                    <p>&nbsp;</p>
                </div>
                <div class="rightcol">
                    <h3>Login de Administrador <span id="loginbutton"><a href="#" title="Log In">&nbsp;</a></span></h3>
                    <form name="login" id="login" action="ccontrol/control/control.php" method="post" >
                        <p style="color:#000000">
                            <img src="../imagen/icono/password.png" alt="Image" class="image" />
                            Usuario&nbsp;&nbsp;&nbsp;: &nbsp;<input name="p2" id="p2" type="text" maxlength="20" class="search" /> <br />
                            Password: &nbsp;<input name="p3" id="p3" type="password" maxlength="20" class="search" />
                            <input type="hidden" name="p1" id="p1" value="valida_usuario"/>
                            <input type="hidden" name="p4" id="p4" value="1"/>
                            <input type="submit" value="Ingresar" class="ingresar"/>
                        </p>
                        <p class="red"><?php 
if (isset($msn)) {
    echo mensaje($msn);
} else {
    echo "Ingrese sus Datos de Usuario.";
}
?>
</p>
                    </form>
                </div>
                <div class="rightcol">
                    <h3>Gobierno Electr&oacute;nico</h3>
                    <p><img src="../imagen/icono/agt_web.png" alt="Image" class="image" /> El sistema integrado para el sector p&uacute;blico establece los principios y acciones para modernizar la gesti&oacute;n p&uacute;blica y propiciar la descentralizaci&oacute;n del Estado mediante el uso intensivo de las tecnolog&iacute;as de informaci&oacute;n, en este caso el uso de herramientas de gesti&oacute;n intgradas las cuales promueven el incremento de capacidades competitivas en la Administraci&oacute;n P&uacute;blica, empresas y ciudadanos por medio del uso intensivo de las TI, entre otros.</p>
                </div>

                <div class="special">
                    <p>&nbsp;</p>
                </div>
示例#16
0
    
                        "From: ". $emailaddress . "\r\n" . "Content-Type: text/html; charset=utf-8"/*,
    
                        "*****@*****.**");*/
    // Guardar en archivo.txt
    doLog("Datos de la persona: " . $firstname . " " . $surname . " Teléfono: " . $tlf . " Correo: " . $emailaddress . " Mensaje: " . $mensaje . "", "logs/mensajes.txt");
    // Guardar en archivo CSV
    doLog("" . $firstname . ";" . $surname . ";" . $tlf . ";" . $emailaddress . ";" . $mensaje . "", "logs/mensajes.csv");
    echo json_encode(["code" => 1, "mensaje" => "Listo, tu mensaje ya fue recibido, te contactaremos."]);
    //return  "Listo, tu mensaje ya fue recibido, te contactaremos.";
}
function doLog($text, $filename)
{
    // Abrir archivo log
    $filename = $filename;
    $fh = fopen($filename, "a") or die("No se pudo abrir el archivo de mensajes..");
    fwrite($fh, date("d-m-Y, H:i") . " - {$text}\n") or die("No se pudo guardar el mensaje en el log!");
    fclose($fh);
}
if (@$_POST) {
    // subscripción
    if (@$_POST['scenario'] == 1) {
        $aux = correo(@$_POST['email']);
        return $aux;
        // Mensajes
    } elseif (@$_POST['scenario'] == 2) {
        parse_str(@$_POST['datos'], $datos);
        $aux = mensaje($datos);
        return $aux;
    }
}
示例#17
0
<?php

if (Login::getLoginSession()) {
    print_r($_POST);
    $action = req($_GET['action']);
    switch ($action) {
        case 'check':
            $_SESSION['action'] = 'check_connection';
            //comprobar la conexion al sitio ftp
            $username = req('username_ftp');
            $password = req('password_ftp');
            $server = req('server_ftp');
            $remotedir = req('remotedir');
            //if($obj_ftp=new FTP($server,$username,$password,$remotedir))
            //$server=null,$user=null,$passw=null
            if (FTP::check_connection($server, $username, $password)) {
                mensaje("Conexi\\u00F3n al servidor con \\u00E9xito.", "Comprobar conexión");
            } else {
                mensaje("ERROR! Revise los datos de la conexi\\u00F3n al servidor", "", "error");
            }
            break;
    }
}
示例#18
0
function PCO_NuevaConexionBD($PCOConnMotorBD, $PCOConnPuertoBD, $PCOConnBaseDatos, $PCOConnServidorBD, $PCOConnUsuarioBD, $PCOConnPasswordBD)
{
    try {
        // Crea la conexion de acuerdo al tipo de motor
        if ($PCOConnMotorBD == "mysql") {
            // Si no se ha definido un numero de puerto
            if ($PCOConnPuertoBD == "") {
                $ConexionPDO = new PDO("mysql:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
            } else {
                $ConexionPDO = new PDO("mysql:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD};port={$PCOConnPuertoBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
            }
        }
        if ($PCOConnMotorBD == "pgsql") {
            // Si no se ha definido un numero de puerto
            if ($PCOConnPuertoBD == "") {
                $ConexionPDO = new PDO("pgsql:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
            } else {
                $ConexionPDO = new PDO("pgsql:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD};port={$PCOConnPuertoBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
            }
        }
        if ($PCOConnMotorBD == "sqlite") {
            //Si se encuentra en tiempo de instalacion añade prefijo para guardar BD en nivel superior
            if (@$tiempo_instalacion_activa == 1) {
                $PCOConnBaseDatos = "../" . $PCOConnBaseDatos;
            }
            $ConexionPDO = new PDO("sqlite:{$PCOConnBaseDatos}");
            // SQLite 3??? $ConexionPDO = new PDO("sqlite::memory");
        }
        if ($PCOConnMotorBD == "fbd") {
            $ConexionPDO = new PDO("firebird:dbname={$PCOConnServidorBD}" . ":" . "{$PCOConnBaseDatos}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "oracle") {
            $ConexionPDO = new PDO("OCI:dbname={$PCOConnBaseDatos};charset=UTF-8", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "mssql") {
            $ConexionPDO = new PDO("mssql:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "sqlsrv") {
            $ConexionPDO = new PDO("sqlsrv:database={$PCOConnBaseDatos};server={$PCOConnServidorBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "ibm") {
            $ConexionPDO = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE={$PCOConnBaseDatos}; HOSTNAME={$PCOConnServidorBD}; PORT={$PCOConnPuertoBD}; PROTOCOL=TCPIP;", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "dblib") {
            $ConexionPDO = new PDO("dblib:dbname={$PCOConnBaseDatos};host={$PCOConnServidorBD}" . ":" . "{$PCOConnPuertoBD}", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        if ($PCOConnMotorBD == "odbc") {
            $ConexionPDO = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\accounts.mdb;Uid={$PCOConnUsuarioBD}");
        }
        if ($PCOConnMotorBD == "ifmx") {
            $ConexionPDO = new PDO("informix:DSN=InformixDB", "{$PCOConnUsuarioBD}", "{$PCOConnPasswordBD}");
        }
        // Evita el SQLSTATE[HY000]: General error. presentado por PostgreSQL.  Se habilita solo para MySQL
        if ($PCOConnMotorBD == "mysql" || $PCOConnMotorBD == "sqlite") {
            // Establece parametros para la conexion
            $ConexionPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        if ($PCOConnMotorBD == "mysql") {
            $ConexionPDO->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
            $ConexionPDO->exec("SET NAMES 'utf8';");
            $ConexionPDO->exec("SET NAMES utf8;");
            //Forzado UTF8 - Collation recomendada: utf8_general_ci
            //Evita el "General error: 2014 Cannot execute queries while other unbuffered queries are active"
            $ConexionPDO->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
        }
        //$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
        //$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
        //$this->con->setAttribute(PDO::SQLSRV_ATTR_DIRECT_QUERY => true);
        //Retorna la variable de conexion creada
        return $ConexionPDO;
    } catch (PDOException $ErrorPDO) {
        include_once "core/comunes.php";
        //Incluye la libreria de base al menos para presentar mensaje de error
        $mensaje_final = "Error de conexion con la base de datos. <hr>Verifique los valores existentes en el archivo <b>configuracion.php</b> y la disponibilidad de PDO y modulos asociados a su motor de bases de datos en su <b>php.ini</b>.";
        mensaje('<i class="fa fa-warning fa-3x text-danger texto-blink"></i> ' . $mensaje_final, "<li><b>Detalles:</b> " . $ErrorPDO->getMessage(), '', '', 'alert alert-danger alert-dismissible');
        $hay_error = 1;
        //usada globalmente durante el proceso de instalacion
    }
}
示例#19
0
                            if (!file_exists("core/ws_funciones.php")) {
                                mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr03, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
                            } else {
                                @ob_clean();
                                //Limpia salida antes de llamar los WS
                                include_once "core/ws_funciones.php";
                                include_once "mod/personalizadas_ws.php";
                            }
                            // Lleva a auditoria
                            auditar("{$PCO_WSId}", "API." . $nombre_cliente);
                        } else {
                            mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr08 . $_SERVER['REMOTE_HOST'], '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
                        }
                    } else {
                        mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr07 . $_SERVER['REMOTE_ADDR'], '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
                    }
                } else {
                    mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr06 . $PCO_WSId, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
                }
            } else {
                mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr01, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
            }
        } else {
            mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr05, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
        }
    } else {
        mensaje($MULTILANG_WSErrTitulo, $MULTILANG_WSErr04, '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
    }
    die;
    // Finaliza script para presentar solo el resultado del WebService ejecutado
}
示例#20
0
    echo $MULTILANG_ErrorEscribirConfig;
} else {
    fwrite($archivo_config, $salida, strlen($salida));
    fclose($archivo_config);
}
//Si no hay errores creando el archvio continua con la BD
if (!$hay_error) {
    include "../core/configuracion.php";
    include "../core/conexiones.php";
    if ($hay_error) {
        echo $MULTILANG_ErrorConexBD;
    }
}
// Si no se encontro ningun error muestra mensaje OK
if (!$hay_error) {
    mensaje('<i class="fa fa-check-circle-o fa-4x text-info"></i> ', $MULTILANG_InfoPaso3, '', '', 'alert alert-info alert-dismissible');
}
?>

<br><br>
</div>

<?php 
abrir_barra_estado();
$anterior = $paso - 1;
$siguiente = $paso + 1;
echo '<form name="regresar" action="" method="POST" style="display:inline; height: 0px; border-width: 0px; width: 0px; padding: 0; margin: 0;">
			<input type="Hidden" name="paso" value="' . $anterior . '">
			<input type="Hidden" name="Idioma" value="' . $Idioma . '">
			<input type="Button" class="btn btn-danger" value=" <<< ' . $MULTILANG_Anterior . ' " onclick="document.regresar.submit();">
		  </form>';
示例#21
0
}
/* ################################################################## */
/* ################################################################## */
if ($PCO_Accion == "agregar_usuario") {
    /*
        Function: agregar_usuario
        Presenta el formulario base para la adicion de usuarios al sistema.
    
        Salida de la funcion:
            * Llamada al proceso <guardar_usuario> para almacenar la informacion correspondiente al nuevo usuario.
    
        Ver tambien:
            <listar_usuarios> | <permisos_usuario> | <eliminar_usuario> | <cambiar_estado_usuario> | <muestra_seguridad_clave> | <seguridad_clave>
    */
    abrir_ventana($MULTILANG_UsrAdicion, 'panel-info');
    mensaje($MULTILANG_Importante, $MULTILANG_UsrDesPW, '', 'fa fa-info-circle fa-5x texto-azul', 'alert alert-default alert-dismissible');
    ?>

		<!-- VALOR MD5 PARA VACIO:  d41d8cd98f00b204e9800998ecf8427e-->
				<form name="datos" action="<?php 
    echo $ArchivoCORE;
    ?>
" method="POST">
					<input type="hidden" name="PCO_Accion" value="guardar_usuario">

                    <div class="form-group input-group">
                        <input name="login" maxlength="250" type="text" class="form-control" placeholder="<?php 
    echo $MULTILANG_UsrLogin;
    ?>
">
                        <span class="input-group-addon">
示例#22
0
function error_oauth($client, $OAuth_servicio)
{
    global $MULTILANG_WSErrTitulo;
    mensaje($MULTILANG_WSErrTitulo, 'OAuth ' . $OAuth_servicio . ' error: ' . HtmlSpecialChars($client->error), '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
}
示例#23
0
<?php

function mensaje()
{
    return "Esto es un mensaje de una funcion";
}
echo mensaje();
echo '<br/>';
echo '<br/>';
function sumar($a = 11, $b = 10)
{
    return $a + $b;
}
echo sumar(3);
echo '<br/>';
echo '<br/>';
function condition($x = -1)
{
    if ($x > 0) {
        $c = "X es mayor que 0";
    } else {
        $c = "X es menor que 0";
    }
    return $c;
}
echo condition();
示例#24
0
$chofer = '';
$guarda = '';
set_var('v_id_chofer', $id_chofer);
set_var('v_nombre_chofer', '');
set_var('v_apellido_chofer', '');
set_var('v_fecha_tecnica_chofer', '');
set_var('v_dni_chofer', '');
set_var('v_fecha_tecnica_chofer_sel', '  /  /    ');
set_var('v_fecha_tecnica_guarda_sel', '  /  /    ');
set_var('v_id_guarda', $id_guarda);
set_var('v_nombre_guarda', '');
set_var('v_apellido_guarda', '');
set_var('v_fecha_tecnica_guarda', '');
set_var('v_dni_guarda', '');
if (!$res) {
    mensaje('Error accediendo al listado del personal...');
} else {
    if ($id_chofer == 0) {
        $datos = "<option value=-1 selected=True >Seleccione un chofer</option>";
    }
    if ($id_guarda == 0) {
        $datos2 = "<option value=-1 selected=True >Seleccione un guarda</option>";
    }
    while (!$res->EOF) {
        // RESOLUCION de CHOFER
        if ($id_chofer == $res->fields[0]) {
            $datos = $datos . "<option value=" . $res->fields[0] . " selected=True >" . $res->fields[3] . " " . $res->fields[2] . "</option>";
            set_var('v_id_chofer', $res->fields[0]);
            set_var('v_nombre_chofer', $res->fields[2]);
            set_var('v_apellido_chofer', $res->fields[3]);
            set_var('v_dni_chofer', $res->fields[4]);
示例#25
0
$hay_error = 0;
//informar_prueba_escritura("..");
@informar_prueba_escritura("../bkp", 1);
@informar_prueba_escritura("../core", 1);
//informar_prueba_escritura("../core/configuracion.php",2);
@informar_prueba_escritura("../tmp", 1);
@informar_prueba_escritura("../ins", 1);
?>

		</td>
	</tr>
</table>

<?php 
if ($hay_error) {
    mensaje('<i class="fa fa-warning fa-2x text-danger texto-blink"></i> ', $MULTILANG_ErrorEscritura, '', '', 'alert alert-danger alert-dismissible');
}
?>
</div>

<?php 
abrir_barra_estado();
$anterior = $paso - 1;
$siguiente = $paso + 1;
echo '<form name="regresar" action="" method="POST" style="display:inline; height: 0px; border-width: 0px; width: 0px; padding: 0; margin: 0;">
			<input type="Hidden" name="paso" value="' . $anterior . '">
			<input type="Hidden" name="Idioma" value="' . $Idioma . '">
            <button onclick="document.regresar.submit();" type="button" class="btn btn-primary navbar-btn"><i class="fa fa-caret-square-o-left texto-amarillo"></i> ' . $MULTILANG_Anterior . '</button>
		  </form>';
echo '<form name="continuar" action="" method="POST" style="display:inline; height: 0px; border-width: 0px; width: 0px; padding: 0; margin: 0;">';
if ($hay_error) {
示例#26
0
// Provincia de origen para localizar las localidades de las misma.
$orig_dest = $_GET["es_origen"];
// indica si estamos cargando las localidades TRUE =  origen o FALSE = Destino
$loc_orig = $_SESSION['id_loc_orig_encom'];
// valor obtenido en LOGIN.php
$loc_dest = $_SESSION['id_loc_dest_encom'];
// valor obtenido en LOGIN.php
/*
$sql = "select  cu.id_loc_destinatario_encomienda, cu.id_loc_remitente_encomienda, cu.id_provincia_origen_encomienda
        from conf_usuario cu where cu.codigo=".$id_conf_usuario;// $usu;
$aux = ejecutar_sql($db,$sql);
*/
$sql = "select codigo, codigo_postal, localidad from localidades l where l.id_provincia=" . $prov;
$res = ejecutar_sql($db, $sql);
if (!$res) {
    mensaje('Error accediendo a las localidades...');
} else {
    echo "<option value=0>Seleccione Uno...</option>";
    while (!$res->EOF) {
        if ($orig_dest == True) {
            if ($loc_dest == $res->fields[0]) {
                echo "<option value=" . $res->fields[0] . " selected=True >" . $res->fields[2] . " (" . $res->fields[1] . ") " . "</option>";
            } else {
                echo "<option value=" . $res->fields[0] . ">" . $res->fields[2] . " (" . $res->fields[1] . ") " . "</option>";
            }
        } else {
            if ($loc_orig == $res->fields[0]) {
                echo "<option value=" . $res->fields[0] . " selected=True >" . $res->fields[2] . " (" . $res->fields[1] . ") " . "</option>";
            } else {
                echo "<option value=" . $res->fields[0] . ">" . $res->fields[2] . " (" . $res->fields[1] . ") " . "</option>";
            }
示例#27
0
     if ($idOficina == "none") {
         $error[errorOficina] = "Falta especificar la oficina del usuario.(importante para cobranza)";
     }
     if (count($error) > 0) {
         frmUsuarioCaptura("nuevo", "", $arr_request, $error);
         $t->set_var(array("SUBMIT1" => "<input type=\"submit\" name=\"guardar\" value=\"Guardar\">", "HIDDEN1" => "guardar"));
     } else {
         // Transforma el arreglo a cadena.
         $permCadena = implode(",", $permisos);
         // Cambia a mayusculas.
         $oficinaT = strtoupper($oficinaT);
         $sql = "insert into USUARIO (usuario,login,password,perms,id_oficina)";
         $sql .= " values ('{$nombre}','{$login}','{$password}','{$permCadena}','{$idOficina}')";
         $db->query($sql);
         frmUsuarioConsulta("Registro guardado!.");
         mensaje("Registro guardado...", "green");
     }
 } elseif ($actionActualizar) {
     // Transforma el arreglo a cadena.
     $permCadena = implode(",", $permisos);
     // Cambia a mayusculas.
     $oficina = strtoupper($oficina);
     $sql = "update USUARIO set usuario='{$nombre}',login='******', password='******', ";
     $sql .= "perms='{$permCadena}', id_oficina='{$idOficina}' where id_usuario={$idUsuario} ";
     $db->query($sql);
     frmUsuarioConsulta("Registro actualizado del usuario:<br> {$nombre}");
     // -------------------------------------------------------------
     // Actualizar los permisos para el requerimiento de autorizacion
     // en la tabla FOLLOW_USR_REQ_AUT.
     // eliminar todos los conceptos del usuario para evitar duplicidad.
     // Nota: idFollowConcepto es la var en HTML que almacena los ids seleccionados.
示例#28
0
function mensaje()
{
    return "Soy una funcion que retorna un mensaje<br>";
}
#funcion que recibe dos parametros
function sumar($n1, $n2)
{
    return $n1 + $n2;
}
#funcion con parametr opcional, este parametro opcional es la variable n2
function multiplicar($n1, $n2 = 1)
{
    return $n1 * $n2;
}
#funcion que reciba un array como parametro
#NOTA: la clave : valor de un array al que no le definimos una clave personalizada, es igual al indice comun
#y corriente de un array
function nombres(array $nombres)
{
    $resultado = "";
    foreach ($nombres as $clave => $valor) {
        $resultado .= "{$clave} : {$valor}<br>";
    }
    return $resultado;
}
#se llama a las funciones
print mensaje();
print "soy la funcion sumar " . sumar(10, 5) . "<br>";
print "soy la funcion multiplicar " . multiplicar(10, 5) . "<br>";
print "soy la funcion multiplicar, con parametro opcional " . multiplicar(5) . "<br>";
print "Soy la funcion nombres, y recibo un array como argumento " . nombres(array("Carlos", "Ana", "Isabella", "Juan", "Andrés"));
示例#29
0
$iva = 0;
$Total = 0;
// obtenemos los datos pasados por parametros por ajax
$te = $_GET["code"];
$id_com = $_GET["id_com"];
$sql = "select te.precio\n        from  tipos_de_encomiendas te \n        where te.codigo = " . $te;
$res = ejecutar_sql($db, $sql);
$precio = $res->fields[0];
// precio
$sql = "select tu.activo, tu.comision, tu.comision_reserva, s.porcentaje_comicion, s.porcentaje_comision_reserva \n        from usuarios u inner join conf_usuario cu on (u.id_configuracion_usuario=cu.codigo)and(u.id=" . $id_com . ")\n\t\t\tinner join tipos_de_usuarios tu on (cu.id_tipo_usuario=tu.codigo)\n\t\t\tinner join sucursales s on (cu.id_sucursal=s.codigo)";
$res2 = ejecutar_sql($db, $sql);
$porc_comisionista = $res2->fields[1];
// comision del comisionista
$porc_sucursal = $res2->fields[3];
// comision de la sucursal
if (!$res and !$res2) {
    mensaje('Error accediendo a tipo de encomienda...');
} else {
    //$precio = $res[0]; // Precio neto de la encomienda.
    while (!$res->EOF) {
        $comision_misionista = $precio * $porc_comisionista / 100;
        $comision_sucursal = $precio * $porc_sucursal / 100;
        $sub_total = $precio + $comision_misionista + $comision_sucursal;
        $res->MoveNext();
    }
    $iva = $sub_total * PORCENTAJE_IVA_ENCOMIENDA / 100;
    $Total = $sub_total + $iva;
}
desconectar($db);
echo $porc_comisionista . '|' . $comision_misionista . '|' . $porc_sucursal . '|' . $comision_sucursal . '|' . $sub_total . '|' . $iva . '|' . $Total . '|' . $precio;
die;
示例#30
0
function cargar_informe($informe, $en_ventana = 1, $formato = "htm", $estilo = "Informes", $embebido = 0)
{
    global $ConexionPDO, $ArchivoCORE, $TablasCore, $Nombre_Aplicacion, $PCO_ValorBusquedaBD, $PCO_CampoBusquedaBD;
    // Carga variables de sesion por si son comparadas en alguna condicion.  De todas formas pueden ser cargadas por el usuario en el diseno del informe
    global $PCOSESS_LoginUsuario, $Nombre_usuario, $Descripcion_usuario, $Nivel_usuario, $Correo_usuario, $LlaveDePasoUsuario, $PCO_FechaOperacion;
    // Carga variables de definicion de tablas
    global $ListaCamposSinID_informe, $ListaCamposSinID_informe_campos, $ListaCamposSinID_informe_tablas, $ListaCamposSinID_informe_condiciones, $ListaCamposSinID_informe_boton;
    global $MULTILANG_TotalRegistros, $MULTILANG_ContacteAdmin, $MULTILANG_ObjetoNoExiste, $MULTILANG_ErrorTiempoEjecucion, $MULTILANG_Informes, $MULTILANG_IrEscritorio, $MULTILANG_ErrorDatos, $MULTILANG_InfErrTamano, $MULTILANG_MonCommSQL;
    global $IdiomaPredeterminado;
    global $PCO_InformesDataTable;
    global $ModoDepuracion;
    // Busca datos del informe
    $consulta_informe = ejecutar_sql("SELECT id," . $ListaCamposSinID_informe . " FROM " . $TablasCore . "informe WHERE id=? ", "{$informe}");
    $registro_informe = $consulta_informe->fetch();
    $Identificador_informe = $registro_informe["id"];
    //Si no encuentra informe presenta error
    if ($registro_informe["id"] == "") {
        mensaje($MULTILANG_ErrorTiempoEjecucion, $MULTILANG_ObjetoNoExiste . " " . $MULTILANG_ContacteAdmin . "<br>(" . $MULTILANG_Informes . " {$informe})", '', 'fa fa-times fa-5x icon-red texto-blink', 'alert alert-danger alert-dismissible');
    }
    //Identifica si el informe requiere un formulario de filtrado previo
    if ($registro_informe["formulario_filtrado"] != "") {
        //Determina si solicita el informe desde el formulario de filtrado apropiado, sino redirecciona a este
        global $PCO_FormularioActivo;
        if ($registro_informe["formulario_filtrado"] != $PCO_FormularioActivo) {
            echo '<form name="precarga_form_filtro" action="' . $ArchivoCORE . '" method="POST">
							<input type="Hidden" name="PCO_Accion" value="cargar_objeto">
							<input type="Hidden" name="PCO_InformeFiltro" value="' . $registro_informe["id"] . '">
							<input type="Hidden" name="objeto" value="frm:' . $registro_informe["formulario_filtrado"] . ':1">
							<input type="Hidden" name="Presentar_FullScreen" value="' . @$Presentar_FullScreen . '">
							<input type="Hidden" name="Precarga_EstilosBS" value="' . @$Precarga_EstilosBS . '">
						<script type="" language="JavaScript"> document.precarga_form_filtro.submit();  </script>';
            die;
        }
    }
    //Si hay variables de filtro definidas busca su valor en el contexto global
    if ($registro_informe["variables_filtro"] != "") {
        $arreglo_variables_filtro = @explode(",", $registro_informe["variables_filtro"]);
        //Busca y convierte cada variable recibida en global
        foreach ($arreglo_variables_filtro as $nombre_variable_filtro) {
            //if (isset($$nombre_variable_filtro))  // {Deprecated}
            global ${$nombre_variable_filtro};
        }
    }
    // Inicia CONSTRUCCION DE CONSULTA DINAMICA
    $numero_columnas = 0;
    //Busca los CAMPOS definidos para el informe
    $consulta = "SELECT ";
    $consulta_campos = ejecutar_sql("SELECT id," . $ListaCamposSinID_informe_campos . " FROM " . $TablasCore . "informe_campos WHERE informe=? ORDER BY peso", "{$informe}");
    $PCO_ColumnasOcultas[] = "ArregloDeCamposOcultos";
    while ($registro_campos = $consulta_campos->fetch()) {
        //Si tiene alias definido lo agrega
        $posfijo_campo = "";
        if ($registro_campos["valor_alias"] != "") {
            $posfijo_campo = " as " . $registro_campos["valor_alias"];
        }
        //Agrega el campo a la consulta
        $consulta .= $registro_campos["valor_campo"] . $posfijo_campo . ",";
        //Crea un arreglo con los campos marcados como ocultos para filtrarlos luego
        if ($registro_campos["visible"] == 0) {
            $PCO_ColumnasOcultas[] = $registro_campos["valor_campo"] . $posfijo_campo;
            //Lleva el campo oculto despues del punto
            $PCO_PartesCampo = explode(".", $registro_campos["valor_campo"] . $posfijo_campo);
            $PCO_ColumnasOcultas[] = $PCO_PartesCampo[1];
            //Lleva el campo oculto si es un alias
            $PCO_PartesCampo = explode(" as ", $registro_campos["valor_campo"] . $posfijo_campo);
            $PCO_ColumnasOcultas[] = $PCO_PartesCampo[1];
        }
    }
    // Elimina la ultima coma en el listado de campos
    $consulta = substr($consulta, 0, strlen($consulta) - 1);
    //Busca las TABLAS definidas para el informe
    $consulta .= " FROM ";
    $consulta_tablas = ejecutar_sql("SELECT id," . $ListaCamposSinID_informe_tablas . " FROM " . $TablasCore . "informe_tablas WHERE informe=? ", "{$informe}");
    while ($registro_tablas = $consulta_tablas->fetch()) {
        //Si tiene alias definido lo agrega
        $posfijo_tabla = "";
        if ($registro_tablas["valor_alias"] != "") {
            $posfijo_tabla = " as " . $registro_tablas["valor_alias"];
        }
        //Agrega tabla a la consulta
        $consulta .= $registro_tablas["valor_tabla"] . $posfijo_tabla . ",";
    }
    // Elimina la ultima coma en el listado de tablas
    $consulta = substr($consulta, 0, strlen($consulta) - 1);
    // Busca las CONDICIONES para el informe
    $consulta .= " WHERE ";
    $consulta_condiciones = ejecutar_sql("SELECT id," . $ListaCamposSinID_informe_condiciones . " FROM " . $TablasCore . "informe_condiciones WHERE informe=? ORDER BY peso", "{$informe}");
    $hay_condiciones = 0;
    while ($registro_condiciones = $consulta_condiciones->fetch()) {
        //Agrega condicion a la consulta
        $valor_izquierdo = $registro_condiciones["valor_izq"];
        $valor_derecho = $registro_condiciones["valor_der"];
        // CONVIERTE VARIABLES DE SESION PHP A VALORES PARA EL QUERY Cuando el primer simbolos es un PESOS ($), es decir, solo se ingreso una variable
        //LADO IZQUIERDO DE LA CONDICION
        //Si el valor Izquierdo a comparar inicia por signo pesos y es una variable PHP la usa como tal
        if (@$valor_izquierdo[0] == "\$") {
            //Quita el signo pesos inicial para buscar la variable
            $variable_a_buscar = substr($valor_izquierdo, 1, strlen($valor_izquierdo));
            // Si la variable esta definida toma su valor encerrado entre comillas para el query y evitar conflictos de variables con espacios y demas.
            if (@isset($variable_a_buscar)) {
                $valor_izquierdo = "'" . ${$variable_a_buscar} . "'";
            }
        }
        //Evalua casos donde se tienen variables PHP escapadas por llaves.  Ej  "%{$Variable}%" si fuera para un LIKE, por ejemplo.
        if (strpos($valor_izquierdo, "{") !== FALSE && strrpos($valor_izquierdo, "}") !== FALSE) {
            //Determina las posiciones de las llaves en la cadena
            $PosLlaveIzquierda = strpos($valor_izquierdo, "{");
            $PosLlaveDerecha = strrpos($valor_izquierdo, "}");
            //Toma solo el pedazo entre llaves para intentar ubicar el valor de la variable por su nombre
            $NombreVariable = substr($valor_izquierdo, $PosLlaveIzquierda + 2, $PosLlaveDerecha - $PosLlaveIzquierda - 2);
            //Si la variable no esta definida la busca en el entorno global
            global ${$NombreVariable};
            if (@isset($NombreVariable)) {
                $ValorVariable = ${$NombreVariable};
                //Reemplaza el valor encontrado en la cadena de valor original
                $valor_izquierdo = str_replace('{$' . $NombreVariable . '}', $ValorVariable, $valor_izquierdo);
            }
        }
        //LADO DERECHO DE LA CONDICION
        //Si el valor Derecho a comparar inicia por signo pesos y es una variable PHP la usa como tal
        if (@$valor_derecho[0] == "\$") {
            //Quita el signo pesos inicial para buscar la variable
            $variable_a_buscar = substr($valor_derecho, 1, strlen($valor_derecho));
            // Si la variable esta definida toma su valor encerrado entre comillas para el query y evitar conflictos de variables con espacios y demas.
            if (@isset($variable_a_buscar)) {
                $valor_derecho = "'" . ${$variable_a_buscar} . "'";
            }
        }
        //Evalua casos donde se tienen variables PHP escapadas por llaves.  Ej  "%{$Variable}%" si fuera para un LIKE, por ejemplo.
        if (strpos($valor_derecho, "{") !== FALSE && strrpos($valor_derecho, "}") !== FALSE) {
            //Determina las posiciones de las llaves en la cadena
            $PosLlaveIzquierda = strpos($valor_derecho, "{");
            $PosLlaveDerecha = strrpos($valor_derecho, "}");
            //Toma solo el pedazo entre llaves para intentar ubicar el valor de la variable por su nombre
            $NombreVariable = substr($valor_derecho, $PosLlaveIzquierda + 2, $PosLlaveDerecha - $PosLlaveIzquierda - 2);
            //Si la variable no esta definida la busca en el entorno global
            global ${$NombreVariable};
            if (@isset($NombreVariable)) {
                $ValorVariable = ${$NombreVariable};
                //Reemplaza el valor encontrado en la cadena de valor original
                $valor_derecho = str_replace('{$' . $NombreVariable . '}', $ValorVariable, $valor_derecho);
            }
        }
        $consulta .= " " . $valor_izquierdo . " " . $registro_condiciones["operador"] . " " . $valor_derecho . " ";
        $hay_condiciones = 1;
    }
    if (!$hay_condiciones) {
        $consulta .= " 1 ";
    }
    if (@$registro_informe["agrupamiento"] != "") {
        $campoagrupa = $registro_informe["agrupamiento"];
        $consulta .= " GROUP BY {$campoagrupa}";
    }
    if (@$registro_informe["ordenamiento"] != "") {
        $campoorden = $registro_informe["ordenamiento"];
        $consulta .= " ORDER BY {$campoorden}";
    }
    // Si el informe tiene formato_final = T (tabla de datos)
    if ($registro_informe["formato_final"] == "T") {
        $SalidaFinalInforme = '';
        $SalidaFinalInformePDF = '';
        if ($en_ventana) {
            //Cuando es embebido (=1) no imprime el boton de retorno pues se asume dentro de un formulario
            if (!$embebido) {
                echo '<div align=center><button type="Button" onclick="document.core_ver_menu.submit()" class="btn btn-warning"><i class="fa fa-home fa-fw"></i> ' . $MULTILANG_IrEscritorio . '</button></div><br>';
            }
            //Carga la ventana con el informe
            abrir_ventana($Nombre_Aplicacion . ' - ' . $registro_informe["titulo"], 'panel panel-info', $registro_informe["ancho"]);
        }
        // Si se ha definido un tamano fijo entonces crea el marco
        if ($registro_informe["ancho"] != "" && $registro_informe["alto"] != "") {
            echo '<DIV style="DISPLAY: block; OVERFLOW: auto; POSITION: relative; WIDTH: ' . $registro_informe["ancho"] . '; HEIGHT: ' . $registro_informe["alto"] . '">';
        }
        //Genera enlace al PDF cuando se detecta el modulo y ademas el informe lo tiene activado
        if (@file_exists("mod/pdf") && $registro_informe["genera_pdf"] == 'S') {
            echo '<div align=right><a href="tmp/Inf_' . $Identificador_informe . '-' . $PCOSESS_LoginUsuario . '.pdf" target="_BLANK"><i class="fa fa-file-pdf-o"></i> PDF&nbsp;</a></div>';
        }
        // Crea encabezado por tipo de formato:  1=html   2=Excel
        if ($formato == "htm") {
            echo '
								<html>
								<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" style="font-size: 12px; font-family: Arial, Verdana, Tahoma;">';
        }
        if ($formato == "xls") {
            $fecha = date("d-m-Y");
            $tituloinforme = trim($registro_informe["titulo"]);
            $tituloinforme = "Informe";
            $nombrearchivo = $tituloinforme . "_" . $fecha;
            header('Content-type: application/vnd.ms-excel');
            header("Content-Disposition: attachment; filename={$nombrearchivo}.xls");
            header("Pragma: no-cache");
            header("Expires: 0");
        }
        if ($formato == "htm") {
            //Si el informe va a soportar datatable entonces lo agrega a las tablas que deben ser convertidas en el pageonload
            if ($registro_informe["soporte_datatable"] == "S") {
                @($PCO_InformesDataTable .= "TablaInforme_" . $registro_informe["id"] . "|");
            }
            $SalidaFinalInforme .= '<table class="table table-condensed table-hover table-striped table-unbordered ' . $estilo . '" id="TablaInforme_' . $registro_informe["id"] . '"><thead><tr>';
            $SalidaFinalInformePDF .= '<table class="' . $estilo . '"><thead><tr>';
        }
        if ($formato == "xls") {
            $SalidaFinalInforme .= '<table class="font-size: 11px; font-family: Verdana, Tahoma, Arial;"><thead><tr>';
            $SalidaFinalInformePDF .= '<table class="font-size: 11px; font-family: Verdana, Tahoma, Arial;"><thead><tr>';
        }
        // Busca si el informe tiene acciones (botones), los cuenta y prepara dentro de un arreglo para repetir en cada registro
        $consulta_botones = ejecutar_sql("SELECT id," . $ListaCamposSinID_informe_boton . " FROM " . $TablasCore . "informe_boton WHERE informe=? AND visible=1 ORDER BY peso", "{$informe}");
        $total_botones = 0;
        while ($registro_botones = $consulta_botones->fetch()) {
            //Construye una cadena generica con todos los botones para ser reemplazada luego con valores
            if ($registro_botones["tipo_accion"] == "interna_eliminar") {
                $valores = explode(".", $registro_botones["accion_usuario"]);
                $tabla_vinculada = @$valores[0];
                $campo_vinculado = @$valores[1];
                //Si solo se indico el campo, sin la tabla, intenta usar solo el campo
                if ($campo_vinculado == "" && $tabla_vinculada != "") {
                    $campo_vinculado = $valores[0];
                    $tabla_vinculada = "";
                }
                $comando_javascript = "\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.PCO_Accion.value='eliminar_registro_informe';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.tabla.value='" . @$tabla_vinculada . "';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.campo.value='" . @$campo_vinculado . "';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.valor.value='DELFRMVALVALOR';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.submit()";
            }
            if ($registro_botones["tipo_accion"] == "interna_cargar") {
                $comando_javascript = "\r\n                                        document.FRMBASEINFORME.PCO_Accion.value='cargar_objeto';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.objeto.value='frm:" . $registro_botones["accion_usuario"] . ":DETFRMVALBASE';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.submit()";
            }
            if ($registro_botones["tipo_accion"] == "externa_formulario") {
                $comando_javascript = "\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.PCO_Tabla.value='" . @$tabla_vinculada . "';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.PCO_Campo.value='" . @$campo_vinculado . "';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.PCO_Valor.value='DELFRMVALVALOR';\r\n                                        document.FRMBASEINFORME.PCO_Accion.value='" . $registro_botones["accion_usuario"] . "';\r\n\t\t\t\t\t\t\t\t\t\tdocument.FRMBASEINFORME.submit()";
            }
            if ($registro_botones["tipo_accion"] == "externa_javascript") {
                $comando_javascript = $registro_botones["accion_usuario"];
            }
            //Verifica si el registro de botones presenta algun texto de confirmacion y lo antepone al script
            $cadena_confirmacion_accion_pre = "";
            $cadena_confirmacion_accion_pos = "";
            if ($registro_botones["confirmacion_texto"] != "") {
                $cadena_confirmacion_accion_pre = " if (confirm('" . $registro_botones["confirmacion_texto"] . "')) {";
                $cadena_confirmacion_accion_pos = " } else {} ";
            }
            //Genera la cadena del enlace
            $cadena_javascript = 'onclick="' . $cadena_confirmacion_accion_pre . '  ' . @$comando_javascript . '  ' . $cadena_confirmacion_accion_pos . ' "';
            @($cadena_generica_botones .= '<input type="Button"  class="' . $registro_botones["estilo"] . '" value="' . $registro_botones["titulo"] . '" ' . $cadena_javascript . ' >&nbsp;');
            $total_botones++;
        }
        // Imprime encabezados de columna
        $resultado_columnas = @ejecutar_sql($consulta);
        $ConteoColumnas = $resultado_columnas->rowCount();
        //Si se tienen registros para mirar las columnas las agrega
        if ($ConteoColumnas > 0) {
            $numero_columnas = 0;
            foreach ($resultado_columnas->fetch(PDO::FETCH_ASSOC) as $key => $val) {
                //Imprime el encabezado siempre y cuando no se trate de un campo que se desea ocultar
                if (!in_array($key, $PCO_ColumnasOcultas)) {
                    $SalidaFinalInforme .= '<th>' . $key . '</th>';
                    $SalidaFinalInformePDF .= '<th>' . $key . '</th>';
                } else {
                    //Agrega la columna al indice de columnas ocultas para no mostrarla luego
                    $PCO_NumerosColumnasOcultas[] = $numero_columnas;
                }
                $numero_columnas++;
            }
        }
        //Si el informe tiene botones entonces agrega columna adicional
        if ($total_botones > 0) {
            $SalidaFinalInforme .= '<th></th>';
            $SalidaFinalInformePDF .= '<th></th>';
        }
        $SalidaFinalInforme .= '</tr></thead><tbody>';
        $SalidaFinalInformePDF .= '</tr></thead><tbody>';
        // Imprime registros del resultado
        $numero_filas = 0;
        $consulta_ejecucion = ejecutar_sql($consulta);
        while ($registro_informe = $consulta_ejecucion->fetch()) {
            $SalidaFinalInforme .= '<tr>';
            $SalidaFinalInformePDF .= '<tr>';
            for ($i = 0; $i < $numero_columnas; $i++) {
                //Muestra la columna solo si no se trata de una de las ocultas
                if (!in_array($i, $PCO_NumerosColumnasOcultas)) {
                    $SalidaFinalInforme .= '<td>' . $registro_informe[$i] . '</td>';
                    $SalidaFinalInformePDF .= '<td>' . $registro_informe[$i] . '</td>';
                }
            }
            //Si el informe tiene botones los agrega
            if ($total_botones > 0) {
                //Transforma la cadena generica con los datos especificos del registro, toma por ahora el primer campo
                $cadena_botones_registro = str_replace("DELFRMVALVALOR", $registro_informe[0], $cadena_generica_botones);
                $cadena_botones_registro = str_replace("DETFRMVALBASE", $registro_informe[0], $cadena_botones_registro);
                //Muestra los botones preparados para el registro
                $SalidaFinalInforme .= '<th>' . $cadena_botones_registro . '</th>';
                $SalidaFinalInformePDF .= '<th>' . $cadena_botones_registro . '</th>';
            }
            $SalidaFinalInforme .= '</tr>';
            $SalidaFinalInformePDF .= '</tr>';
            $numero_filas++;
        }
        $SalidaFinalInforme .= '</tbody>';
        $SalidaFinalInformePDF .= '</tbody>';
        if ($formato == "htm") {
            //Cuando es embebido (=1) no agrega los totales de registro
            if (!$embebido) {
                $SalidaFinalInforme .= '<tfoot>
                                        <tr><td colspan=' . $numero_columnas . '>
                                            <b>' . $MULTILANG_TotalRegistros . ': </b>' . $numero_filas . '
                                        </td></tr>';
                $SalidaFinalInformePDF .= '<tfoot>
                                        <tr><td colspan=' . $numero_columnas . '>
                                            <b>' . $MULTILANG_TotalRegistros . ': </b>' . $numero_filas . '
                                        </td></tr>';
            }
            echo '</tfoot>';
        }
        $SalidaFinalInforme .= '</table>';
        $SalidaFinalInformePDF .= '</table>';
        if ($formato == "htm") {
            echo '</body></html>';
        }
        //Imprime el HTML generado para el informe
        echo $SalidaFinalInforme;
        //Genera el PDF cuando se encuentra el modulo y el informe lo tiene activado
        if (@file_exists("mod/pdf") && $registro_informe["genera_pdf"] == 'S') {
            require_once 'mod/pdf/html2pdf/html2pdf.class.php';
            try {
                //Define parametros para generar el PDF
                $IdiomaPDF = $IdiomaPredeterminado;
                // Acepta solo ca|cs|da|de|en|es|fr|it|nl|pt|tr
                $OrientacionPDF = 'P';
                // P|ortrait  L|andscape
                $TamanoPaginaPDF = 'A4';
                // A4|A5|LETTER|LEGAL|100×200...|
                $MargenPaginaMM = '10';
                // Como Entero o arreglo (Izq,Der,Arr,Aba) ej:  10  o  array(1, 25, 25, 5)
                $ModoVistaPDF = 'fullpage';
                // fullpage|fullwidth|real|default
                $FuentePredeterminadaPDF = 'Arial';
                // Arial|Courier|Courier-Bold|Courier-BoldOblique|Courier-Oblique|Helvetica|Helvetica-Bold|Helvetica-BoldOblique|Helvetica-Oblique|Symbol|Times-Roman|Times-Bold|Times-BoldItalic|Times-Italic|ZapfDingbats
                $ContrasenaLecturaPDF = '';
                // Si se asigna un valor pedira contrasena para poderlo leer
                $JavaScriptPDF = '';
                // Ej.  print(true);
                // Inicia la generacion del PDF
                $html2pdf = new HTML2PDF($OrientacionPDF, $TamanoPaginaPDF, $IdiomaPDF, true, 'UTF-8', $MargenPaginaMM);
                if ($ContrasenaLecturaPDF != "") {
                    $html2pdf->pdf->SetProtection(array('print'), $ContrasenaLecturaPDF);
                }
                if ($JavaScriptPDF != "") {
                    $html2pdf->pdf->IncludeJS($JavaScriptPDF);
                }
                $html2pdf->pdf->SetDisplayMode($ModoVistaPDF);
                $html2pdf->setDefaultFont($FuentePredeterminadaPDF);
                $html2pdf->WriteHTML($SalidaFinalInformePDF);
                $html2pdf->Output('tmp/Inf_' . $Identificador_informe . '-' . $PCOSESS_LoginUsuario . '.pdf', 'F');
                // Antes: $html2pdf->Output('tmp/exemple.pdf'); enviaba salida al navegador directamente
            } catch (HTML2PDF_exception $e) {
                echo $e;
                exit;
            }
        }
        // Si se ha definido un tamano fijo entonces cierra el marco
        if ($registro_informe["ancho"] != "" && $registro_informe["alto"] != "") {
            echo '</DIV>';
        }
    }
    // Fin si informe es T (tabla)
    //Verifica si es un informe grafico sin dimensiones
    if ($registro_informe["formato_final"] == "G" && ($registro_informe["ancho"] == "" || $registro_informe["alto"] == "")) {
        echo '<form name="cancelarXTamano" action="' . $ArchivoCORE . '" method="POST">
					<input type="Hidden" name="PCO_Accion" value="Ver_menu">
					<input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '">
					<input type="Hidden" name="PCO_ErrorDescripcion" value="' . $MULTILANG_InfErrTamano . '">
					</form>
					<script type="" language="JavaScript"> document.cancelarXTamano.submit();  </script>';
    }
    // Si el informe tiene formato_final = G (grafico)
    if ($registro_informe["formato_final"] == "G" && $registro_informe["ancho"] != "" && $registro_informe["alto"] != "") {
        //Consulta el formato de grafico y datos de series para ponerlo en los campos
        //Dado por: Tipo|Nombre1!NombreN|Etiqueta1!EtiquetaN|Valor1!ValorN|
        $formato_base = explode("|", $registro_informe["formato_grafico"]);
        $tipo_grafico = $formato_base[0];
        $lista_nombre_series = explode("!", $formato_base[1]);
        $lista_etiqueta_series = explode("!", $formato_base[2]);
        $lista_valor_series = explode("!", $formato_base[3]);
        //Elimina los nombres de tabla en caso de tener punto y usa los alias si los tiene
        for ($i = 0; $i < 5; $i++) {
            //Elimina nombres de tabla encontrando el punto y seleccionando siguiente palabra
            if (strpos($lista_etiqueta_series[$i], ".")) {
                $tmp = explode(".", $lista_etiqueta_series[$i]);
                $lista_etiqueta_series[$i] = $tmp[1];
            }
            if (strpos($lista_valor_series[$i], ".")) {
                $tmp = explode(".", $lista_valor_series[$i]);
                $lista_valor_series[$i] = $tmp[1];
            }
            // Prefiere los alias sobre los nombres de campo cuando encuentra un AS
            if (strpos($lista_etiqueta_series[$i], " AS ")) {
                $tmp = explode(" AS ", $lista_etiqueta_series[$i]);
                $lista_etiqueta_series[$i] = $tmp[1];
            }
            if (strpos($lista_valor_series[$i], " AS ")) {
                $tmp = explode(" AS ", $lista_valor_series[$i]);
                $lista_valor_series[$i] = $tmp[1];
            }
        }
        $nombre_serie_1 = $lista_nombre_series[0];
        $nombre_serie_2 = $lista_nombre_series[1];
        $nombre_serie_3 = $lista_nombre_series[2];
        $nombre_serie_4 = $lista_nombre_series[3];
        $nombre_serie_5 = $lista_nombre_series[4];
        $campo_etiqueta_serie_1 = $lista_etiqueta_series[0];
        $campo_etiqueta_serie_2 = $lista_etiqueta_series[1];
        $campo_etiqueta_serie_3 = $lista_etiqueta_series[2];
        $campo_etiqueta_serie_4 = $lista_etiqueta_series[3];
        $campo_etiqueta_serie_5 = $lista_etiqueta_series[4];
        $campo_valor_serie_1 = $lista_valor_series[0];
        $campo_valor_serie_2 = $lista_valor_series[1];
        $campo_valor_serie_3 = $lista_valor_series[2];
        $campo_valor_serie_4 = $lista_valor_series[3];
        $campo_valor_serie_5 = $lista_valor_series[4];
        // Libreria para graficos
        include "inc/libchart/classes/libchart.php";
        //Crea las series para el grafico, dependiendo si es torta (una serie) o cualquier otro (multiples series)
        if ($tipo_grafico == "torta") {
            $dataSet = new XYDataSet();
            // GENERA DATOS DEL GRAFICO
            $consulta_ejecucion = ejecutar_sql($consulta);
            while ($registro = $consulta_ejecucion->fetch()) {
                if ($nombre_serie_1 != "") {
                    $dataSet->addPoint(new Point($registro[$campo_etiqueta_serie_1], $registro[$campo_valor_serie_1]));
                }
            }
        } else {
            $dataSet = new XYSeriesDataSet();
            if ($nombre_serie_1 != "") {
                $serie1 = new XYDataSet();
                $dataSet->addSerie($nombre_serie_1, $serie1);
            }
            if ($nombre_serie_2 != "") {
                $serie2 = new XYDataSet();
                $dataSet->addSerie($nombre_serie_2, $serie2);
            }
            if ($nombre_serie_3 != "") {
                $serie3 = new XYDataSet();
                $dataSet->addSerie($nombre_serie_3, $serie3);
            }
            if ($nombre_serie_4 != "") {
                $serie4 = new XYDataSet();
                $dataSet->addSerie($nombre_serie_4, $serie4);
            }
            if ($nombre_serie_5 != "") {
                $serie5 = new XYDataSet();
                $dataSet->addSerie($nombre_serie_5, $serie5);
            }
            // GENERA DATOS DEL GRAFICO
            $consulta_ejecucion = ejecutar_sql($consulta);
            while ($registro = $consulta_ejecucion->fetch()) {
                if ($nombre_serie_1 != "") {
                    $serie1->addPoint(new Point($registro[$campo_etiqueta_serie_1], $registro[$campo_valor_serie_1]));
                }
                if ($nombre_serie_2 != "") {
                    $serie2->addPoint(new Point($registro[$campo_etiqueta_serie_2], $registro[$campo_valor_serie_2]));
                }
                if ($nombre_serie_3 != "") {
                    $serie3->addPoint(new Point($registro[$campo_etiqueta_serie_3], $registro[$campo_valor_serie_3]));
                }
                if ($nombre_serie_4 != "") {
                    $serie4->addPoint(new Point($registro[$campo_etiqueta_serie_4], $registro[$campo_valor_serie_4]));
                }
                if ($nombre_serie_5 != "") {
                    $serie5->addPoint(new Point($registro[$campo_etiqueta_serie_5], $registro[$campo_valor_serie_5]));
                }
            }
        }
        // CREA OBJETO SEGUN TIPO DE GRAFICO
        if ($tipo_grafico == "linea" || $tipo_grafico == "linea_multiples") {
            $chart = new LineChart($registro_informe["ancho"], $registro_informe["alto"]);
        }
        if ($tipo_grafico == "barrah" || $tipo_grafico == "barrah_multiples") {
            $chart = new HorizontalBarChart($registro_informe["ancho"], $registro_informe["alto"]);
        }
        if ($tipo_grafico == "barrav" || $tipo_grafico == "barrav_multiples") {
            $chart = new VerticalBarChart($registro_informe["ancho"], $registro_informe["alto"]);
        }
        if ($tipo_grafico == "torta") {
            $chart = new PieChart($registro_informe["ancho"], $registro_informe["alto"]);
        }
        // PRESENTA EL GRAFICO EN PANTALLA
        $chart->setDataSet($dataSet);
        //$chart->getPlot()->setGraphCaptionRatio(0.75);
        $chart->setTitle($registro_informe["titulo"]);
        $chart->render("tmp/Inf_" . $registro_informe["id"] . "-" . $PCOSESS_LoginUsuario . ".png");
        echo '<img alt="Grafico" src="tmp/Inf_' . $Identificador_informe . '-' . $PCOSESS_LoginUsuario . '.png" style="border: 1px solid gray;">';
    }
    // Fin si informe es G (grafico)
    if ($en_ventana) {
        cerrar_ventana();
    }
    //Si el usuario es admin le muestra el query generador.
    if (@$PCOSESS_LoginUsuario == "admin" && $ModoDepuracion) {
        mensaje($MULTILANG_MonCommSQL, $consulta, '', 'fa fa-fw fa-2x fa-database', 'alert alert-info alert-dismissible ');
    }
}