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>"; }
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); } }
$_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> */
<?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;
public function index() { $this->session->set_flashdata("document_status", mensaje("Debes editar un documento", "warning")); redirect(base_url("facturar")); }
<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">
$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});'); ?>
<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á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álogo <b>".limpia( $_POST['id_catalogo'] )."</b> ingresado exitosamente" ); echo '<div class="exito mensajes">¡Confirmado! Catá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'];
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)
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") . " 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;
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());}); '); }
<?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>";
<p> </p> </div> <div class="rightcol"> <h3>Login de Administrador <span id="loginbutton"><a href="#" title="Log In"> </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 : <input name="p2" id="p2" type="text" maxlength="20" class="search" /> <br /> Password: <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ónico</h3> <p><img src="../imagen/icono/agt_web.png" alt="Image" class="image" /> El sistema integrado para el sector público establece los principios y acciones para modernizar la gestión pública y propiciar la descentralización del Estado mediante el uso intensivo de las tecnologías de información, en este caso el uso de herramientas de gestión intgradas las cuales promueven el incremento de capacidades competitivas en la Administración Pública, empresas y ciudadanos por medio del uso intensivo de las TI, entre otros.</p> </div> <div class="special"> <p> </p> </div>
"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; } }
<?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; } }
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 } }
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 }
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>';
} /* ################################################################## */ /* ################################################################## */ 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">
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'); }
<?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();
$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]);
$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) {
// 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>"; }
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.
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"));
$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;
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 </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 . ' > '); $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 '); } }