function SSL_COMPRA_FACTURA($transaccion, $salida = 'enlinea') { $c = sprintf('SELECT procon.`codigo_producto`, procon.`titulo` AS "titulo_contenedor", provar.`descripcion` AS "titulo_variedad", provar.foto, comcon.`codigo_compra`, comcon.`codigo_usuario`, comcon.`codigo_variedad`, FORMAT(comcon.`precio_grabado`,2) AS precio_grabado, FORMAT(comcon.`precio_envio`,2) AS precio_envio, comcon.`direccion_entrega`, comcon.`fecha_entrega`, comcon.`tarjeta_de`, comcon.`tarjeta_para`, comcon.`tarjeta_cuerpo`, comcon.`usuario_notas`, comcon.`transaccion`, comcon.`fecha`, `estado`, `correo_contacto`, `telefono_remitente`, `usuario_notas`, `nombre_t_credito`,`estado_notas` FROM `flores_SSL_compra_contenedor` AS comcon LEFT JOIN `flores_producto_variedad` AS provar USING(codigo_variedad) LEFT JOIN `flores_producto_contenedor` AS procon USING(codigo_producto) WHERE transaccion="%s"', db_codex($transaccion)); $r = db_consultar($c); if (!mysql_num_rows($r)) { echo '<p>Lo sentimos, tal factura no existe</p>'; return; } $f = mysql_fetch_assoc($r); $buffer = '<style>'; $buffer .= 'table {border-collapse:collapse;}'; $buffer .= 'table th{border-top:thin solid #c0c0c0;border-left:thin solid #c0c0c0;border-right:thin solid #c0c0c0;background-color:#eee;}'; $buffer .= 'table td{border-top:thin solid #c0c0c0;border:1px solid #c0c0c0;}'; $buffer .= '</style>'; $buffer .= '<table style="width:100%">'; $campo = array('Factura' => $f['transaccion'], 'F360' => $f['codigo_producto'] . ':' . $f['codigo_variedad'], 'Producto' => $f['titulo_contenedor'], 'Variedad' => $f['titulo_variedad'], 'Precio' => '$' . $f['precio_grabado'], 'Recargo de envio' => '$' . $f['precio_envio'], 'Total' => '$' . number_format($f['precio_grabado'] + $f['precio_envio'], 2, '.', ','), 'Remitente' => $f['tarjeta_de'], 'Destinatario' => $f['tarjeta_para'], 'Tarjeta' => $f['tarjeta_cuerpo'], 'Enviar a' => $f['direccion_entrega'], 'Fecha pedido' => date('d/m/Y'), 'Fecha de entrega' => date('d/m/Y', strtotime($f['fecha_entrega'])), 'Correo contacto' => $f['correo_contacto'], 'Teléfono remitente' => $f['telefono_remitente'], 'Notas adicionales del comprador' => $f['usuario_notas'] ? $f['usuario_notas'] : '[No especificó nada en especial]'); foreach ($campo as $clave => $valor) { $buffer .= sprintf('<tr><td>%s</td><td style="font-weight:bold">%s</td></tr>', $clave, $valor); } $buffer .= '</table>'; switch ($salida) { case 'enlinea': return array($buffer, $f); break; case 'pdf': $buffer = '<html><body>' . $buffer . '</body></html>'; require_once 'PHP/dompdf/dompdf_config.inc.php'; $dompdf = new DOMPDF(); $dompdf->load_html($buffer); //$dompdf->render(); //$dompdf->stream("factura-$transaccion.pdf"); } }
function _prospecto_guardar_encuesta() { $arrDB = array_flip(array('generales_fecha_compra', 'generales_sabe_cuanto_cuesta', 'generales_cuanto_cuesta', 'generales_bancarrota_12_meses', 'generales_tipo_bancarrota_7', 'generales_tipo_bancarrota_11', 'generales_tipo_bancarrota_13', 'generales_modificacion_anterior', 'generales_modificacion_hace_cuanto', 'generales_nuevos_terminos_de_modificacion', 'generales_proceso_modificacion', 'generales_fecha_proceso_modificacion', 'generales_modificacion_pago', 'generales_hizo_auditoria', 'generales_hubo_notario', 'generales_tenia_licencia', 'generales_explicaron_terminos_prestamo', 'generales_hizo_npv', 'generales_cuantas_propiedades', 'tarjeta_tiene', 'tarjeta_cuantas', 'tarjeta_7500', 'tarjeta_fecha_fin_deudas', 'tarjeta_pago_mensual', 'tarjeta_cuanto', 'tarjeta_meta', 'empleo_tipo', 'empleo_compania', 'empleo_tiempo', 'hipoteca_banco', 'hipoteca_interes', 'hipoteca_pago_mensual', 'hipoteca_balance')); $DATOS = array_intersect_key($_POST, $arrDB); $DATOS['ID_prospecto'] = db_codex($_POST['ID_prospecto']); db_reemplazar_datos(db_prefijo . 'prospectos_encuesta', $DATOS); }
function enviar_prospecto($ID_aplicacion, $ID_prospecto, $lote = false) { db_actualizar_datos(db_prefijo . 'prospectos_aplicados', array('enviado' => mysql_datetime()), 'ID_aplicacion="' . $ID_aplicacion . '"'); $c = sprintf('SELECT `ID_prospecto`, `situacion`, `ultima_presentacion`, `intentos`, `apellido`, `nombre`, `direccion1`, `direccion2`, `especial1`, `ciudad`, `estado`, `zip`, `telefono`, `especial2`, `especial3`, `especial4`, `especial5`, `especial6`, `especial7`, `especial8`, `especial9`, `especial10`, `especial11`, `especial13`, `especial14`, `especial15`, `especial16`, `especial17`, `especial18`, `especial19`, `especial20`, `especial21`, `ID_aplicacion`, `ID_agente_sv`, `ID_agente_us`, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_sv`) AS nombre_agente_sv, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_us`) AS nombre_agente_us, `fecha_ingresada`, `fecha_cerrada`, `comision_agente_sv`, `comision_agente_us`, `comsion_ufs_sv`, `comision_ufs_us`, `enviado`, `notas` FROM %s LEFT JOIN %s USING (ID_prospecto) WHERE ID_prospecto="%s" ORDER BY fecha_ingresada ASC', db_prefijo . 'prospectos_aplicados', db_prefijo . 'prospectos', db_codex($ID_prospecto)); $r = db_consultar($c); $f = mysql_fetch_assoc($r); if ($lote) { $buffer = ' <table> <tr><th style="text-align:right;border-right:1px solid #000;">Agent SV</th><td>' . $f['nombre_agente_sv'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Agent US</th><td>' . $f['nombre_agente_us'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Prospect ID</th><td>' . $f['ID_prospecto'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Application date</th><td>' . $f['fecha_ingresada'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Name</th><td>' . $f['apellido'] . ', ' . $f['nombre'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Phone</th><td>' . $f['telefono'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Address</th><td>' . $f['direccion2'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">City</th><td>' . $f['ciudad'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Zip Code</th><td>' . $f['zip'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Date</th><td>' . $f['especial2'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Amount</th><td>$' . @number_format(preg_replace('/[^\\d]/', '', $f['especial5']), 2, '.', ',') . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage rate</th><td>' . $f['especial7'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Sales Price</th><td>' . $f['especial3'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Lender</th><td>' . $f['especial6'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Notas</th><td>' . $f['notas'] . '</td></tr> </table> <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a> '; } else { $buffer = ' <p>El agente <b>' . $f['nombre_agente_sv'] . '</b> ha ingresado una nueva aplicación.</p> <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a> <hr /> <p> <small> Ud. ha recibido esta notificación por una de las siguientes causas: <ul> <li>Ud. es un agente US registrado en el sistema UFS Online Network</li> <li>Ud. esta en la lista de administradores/supervisores</li> </ul> <hr /> <span style="color:#F00;"> NO RESPONDA A ESTE CORREO, LOS CORREOS ENVIADOS A ' . htmlentities(PROY_MAIL_POSTMASTER) . ' NO SON REVISADOS.<br /> En su lugar puede comentar en la aplicación mencionada. </span> </small> </p> '; } if ($lote) { return $buffer; } else { require_once 'php/mensajitos.us.php'; $c = 'SELECT usuario, nombre, correo, telefono, carrier FROM ' . db_prefijo . 'usuarios WHERE nivel="agente_us"'; $r = db_consultar($c); while (mysql_num_rows($r) && ($f = mysql_fetch_assoc($r))) { EnviarMensajitosUS($f['telefono'], $f['carrier'], 'Nueva aplicacion disponible en el sistema'); } correoSMTP('*****@*****.**', 'Nueva aplicación - ' . $ID_aplicacion . '+' . $ID_prospecto, $buffer); } }
function AJAX_cambio_en_estado_de_orden() { protegerme(true); $DATOS['estado'] = $_POST['estado']; $DATOS['estado_notas'] = $_POST['estado_notas']; db_actualizar_datos(db_prefijo . 'SSL_compra_contenedor', $DATOS, 'codigo_compra="' . db_codex($_POST['codigo_compra']) . '"'); }
function _F_usuario_acceder($usuario, $clave, $enlazar = true) { global $tablausuarios; $usuario = db_codex(trim($usuario)); $clave = db_codex(trim($clave)); $c = "SELECT " . SQL_CAMPOS_USUARIO . " FROM {$tablausuarios} LEFT JOIN empresa USING (ID_empresa) WHERE LOWER(usuario)=LOWER('{$usuario}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado); $c = "UPDATE {$tablausuarios} SET fecha_acceso=NOW() WHERE ID_usuario=" . usuario_cache('ID_usuario'); $resultado = db_consultar($c); db_agregar_datos(db_prefijo . 'acceso', array('ID_empresa' => usuario_cache('ID_empresa'), 'ID_usuario' => usuario_cache('ID_usuario'), 'tiempo' => mysql_datetime())); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['cache_datos_usuario']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function IMPRIMIR_pedido() { if (!isset($_GET['transaccion'])) { die; } $c = sprintf('SELECT provar.foto, provar.descripcion AS "variedad_titulo", provar.receta, procon.codigo_producto, procon.titulo AS "contenedor_titulo",`codigo_compra`, `codigo_usuario`, `codigo_variedad`, `precio_grabado`, `precio_envio`, `tipo_t_credito`, `fecha_exp_t_credito`, `nombre_t_credito`, `pin_4_reverso_t_credito`, `correo_contacto`, `direccion_entrega`, `fecha`, `fecha_entrega`, DATE_FORMAT(fecha,"%%e de %%M de %%Y [%%r]") fecha_formato, DATE_FORMAT(fecha_entrega,"%%e de %%M de %%Y") fecha_entrega_formato, `telefono_destinatario`, `telefono_remitente`, `tarjeta_de`, `tarjeta_para`, `tarjeta_cuerpo`, `estado`, `estado_notas`, `usuario_notas`, `transaccion` FROM `flores_SSL_compra_contenedor` AS comcon LEFT JOIN flores_producto_variedad AS provar USING(codigo_variedad) LEFT JOIN flores_producto_contenedor AS procon USING(codigo_producto) WHERE transaccion="%s" ORDER BY `fecha` DESC, `estado` DESC', db_codex($_GET['transaccion'])); $r = db_consultar($c); $f = mysql_fetch_assoc($r); $buffer = ''; $info_producto_foto = '<a href="' . PROY_URL . 'arreglos-florales-floristerias-en-el-salvador-' . SEO($f['contenedor_titulo'] . '-' . $f['codigo_producto']) . '">' . '<img style="width:133px;height:200px" src="' . imagen_URL($f['foto'], 133, 200) . '" /></a>' . '<p class="medio-oculto"> <strong>Cod. Producto: </strong>' . $f['codigo_producto'] . BR . '<strong>Nombre producto</strong>' . BR . $f['contenedor_titulo'] . BR . '<strong>Nombre variedad</strong>' . BR . $f['variedad_titulo'] . BR . '</p>'; $info_importante = '<table class="tabla-estandar" style="height:55px;width:99%">' . '<tr>' . '<td>' . '<p class="medio-oculto">' . '<strong>Fecha entrega:</strong><br />' . $f['fecha_entrega_formato'] . BR . '<strong>Fecha pedido:</strong><br />' . $f['fecha_formato'] . BR . '<strong>Correo contacto</strong><br />' . $f['correo_contacto'] . '</p>' . '</td>' . '<td>' . '<p class="medio-oculto">' . '<strong>Tarjeta De</strong><br />' . $f['tarjeta_de'] . BR . '<strong>Telefono remitente</strong><br />' . $f['telefono_remitente'] . BR . '</p>' . '</td>' . '<td>' . '<p class="medio-oculto">' . '<strong>Tarjeta Para </strong><br />' . $f['tarjeta_para'] . BR . '<strong>Telefono destinatario</strong><br />' . $f['telefono_destinatario'] . '</p>' . '</td>' . '</tr>' . '</table>' . '<p class="medio-oculto">' . '<strong>Tarjeta Cuerpo</strong>' . BR . ui_textarea('', $f['tarjeta_cuerpo'], '', 'width:98%;height:110px;') . BR . '<strong>Dirección entrega</strong>' . BR . ui_textarea('', $f['direccion_entrega'], '', 'width:98%;height:110px;') . BR . '<strong>Notas del comprador</strong>' . BR . ui_textarea('', $f['usuario_notas'], '', 'width:98%;height:110px;') . BR . '<strong>Elementos para preparación</strong>' . BR . ui_textarea('', $f['receta'], '', 'width:98%;height:55px;') . '</p>'; echo '<style>*{background-color:#FFF !important;color:#000 !important}</style>'; echo sprintf(' <table style="height:350px;"> <tr> <td style="border-right:1px solid #CCC;padding:0 0.1em;vertical-align:top;"> %s </td> <td style="width:800px;"> %s </td> </tr> </table> <hr /><br /> <center><img src="IMG/portada/logo.jpg" alt="Logotipo Flor360.com"/></center> <p>Yo <strong>' . $f['tarjeta_para'] . '</strong>, firmo en constancia que he recibido un arreglo floral de <i>' . PROY_NOMBRE . '</i> el día <strong>' . strftime('%A %e de %B de %Y') . '</strong>.</p> <br /><br /> _______________________<br /> <strong>' . $f['tarjeta_para'] . '</strong> ', $info_producto_foto, $info_importante); }
function _F_usuario_acceder($email, $clave, $enlazar = true) { global $tablaUsuarios; $email = db_codex(trim($email)); $clave = db_codex(trim($clave)); $c = "SELECT * FROM {$tablaUsuarios} WHERE (LOWER(email)=LOWER('{$email}') OR LOWER(usuario)=LOWER('{$email}')) AND clave=SHA1(CONCAT(LOWER(usuario),'{$clave}')) AND estado!=" . _N_esp_activacion; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado); $c = "UPDATE {$tablaUsuarios} SET ultimo_acceso=NOW() WHERE id_usuario=" . _F_usuario_cache('id_usuario'); $resultado = db_consultar($c); return 1; } else { if ($enlazar) { // 30/09/2009 /* Con la integración de enlace.php en svcommunity.org, intentaremos verificar si el usuario existe ahí y crear la cuenta acá. Si no existe ni en SVC entonces fallar silenciosamente. */ $url = "http://www.svcommunity.org/forum/enlace.php?m={$email}&p={$clave}"; $SVC = @file_get_contents($url); if (strstr($SVC, '<?xml version="1.0" encoding="UTF-8"?>')) { $XML = new SimpleXMLElement($SVC); $datos["estado"] = _N_activo; $datos["nivel"] = _N_vendedor; $datos["ultimo_acceso"] = mysql_datetime(); $datos["registro"] = date('Y-m-d H:i:s', (double) $XML->date_registered); $datos["usuario"] = $XML->member_name; $datos["nombre"] = $XML->real_name; $datos["email"] = $XML->email_address; $datos["clave"] = $XML->passwd; db_agregar_datos("ventas_usuarios", $datos); echo "DATOS IMPORTADOS<br />"; return _F_usuario_acceder($email, $clave, false); } else { echo $SVC; } } unset($_SESSION['autenticado']); unset($_SESSION['id_usuario']); return -1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['id_usuario']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function flores_db_ui_obtener_categorias_chkbox($id_gui = 'chk_categorias', $no_en = '') { if (!empty($no_en) && is_numeric($no_en)) { $no_en = sprintf('WHERE codigo_categoria NOT IN (SELECT codigo_categoria FROM %s WHERE codigo_producto=%s)', db_prefijo . 'productos_categoria', db_codex($no_en)); } $c = sprintf('SELECT codigo_categoria, titulo FROM %s %s ORDER BY titulo ASC', db_prefijo . 'categorias', $no_en); $r = db_consultar($c); $buffer = ''; while ($f = mysql_fetch_assoc($r)) { $buffer .= ui_input($id_gui . '[]', $f['codigo_categoria'], 'checkbox') . ' ' . $f['titulo'] . BR; } return $buffer; }
function db_codex($datos) { global $db_link; if (!$db_link) { db_conectar(); } if (is_array($datos)) { foreach ($datos as $valor) { $arr[] = db_codex($valor); } return $arr; } else { return mysql_real_escape_string($datos, $db_link); } }
function cargo_obtener_para($ID_empresa, $ID_empleado, $DUI = '', $NIT = '', $funcion = 'cargo_obtener_para__vista_estandar', $ORDEN = 'ASC', $arrRango = NULL) { $rango = ''; if (is_array($arrRango) && isset($arrRango['fecha_inicio']) && isset($arrRango['fecha_final'])) { $rango = sprintf('AND h1.fecha_inicio BETWEEN "%s" AND "%s"', date('Y-m-d', $arrRango['fecha_inicio']), date('Y-m-d', $arrRango['fecha_final'])); } $fecha_cese = '(SELECT `fecha_cese` FROM cese WHERE cese.ID_empleado=h1.ID_empleado AND fecha_cese > h1.fecha_inicio ORDER BY cese.`fecha_cese` ASC LIMIT 1)'; $fecha_fin = '(SELECT DATE_SUB(h2.`fecha_inicio`, INTERVAL 1 DAY) FROM historial AS h2 WHERE h2.ID_empleado=h1.ID_empleado AND h2.`fecha_inicio` > h1.`fecha_inicio` ORDER BY h2.`fecha_inicio` LIMIT 1)'; $PARAMS = ''; //$ID_empresa = $ID_empresa ? $ID_empresa : usuario_cache('ID_empresa'); //$PARAMS = 'AND empleado.ID_empresa="'.$ID_empresa.'"'; if ($DUI && $NIT) { $PARAMS = sprintf(' AND h1.ID_empleado IN (SELECT empleado.ID_empleado FROM empleado WHERE empleado.`DUI` = "%s" AND empleado.`NIT` = "%s")', $DUI, $NIT); } else { $PARAMS = ' AND h1.ID_empleado="' . db_codex($ID_empleado) . '"'; } $c = 'SELECT COALESCE(`siglas`,`razon_social`) AS razon_social, `ID_historial`, h1.`ID_empresa`, `ID_empleado`, h1.`fecha_ingreso`, `fecha_inicio`, DATE_FORMAT(`fecha_inicio`,"%e de %M de %Y") AS fecha_inicio_formato, @fecha_fin := LEAST( COALESCE(' . $fecha_fin . ', DATE(NOW())),COALESCE(@cese := ' . $fecha_cese . ', DATE(NOW())) ) AS fecha_fin, DATE_FORMAT(@fecha_fin,"%e de %M de %Y") AS "fecha_fin_formato", IF(@cese,1,0) AS "flag_cese", (TO_DAYS(@fecha_fin) - TO_DAYS(fecha_inicio)) AS "dias_laborados", IF(`ID_cargo`, CONCAT(`titulo_categoria`, "::" , `titulo_cargo`), `cargo`) AS cargo, empleado.`nombres`, empleado.`apellidos`, empleado.`DUI`, empleado.`NIT`, empresa.`telefono_rrhh`, empresa.`contacto_rrhh` FROM `historial` AS h1 LEFT JOIN `empresa` USING(ID_empresa) LEFT JOIN `cargo` USING(`ID_cargo`) LEFT JOIN `categoria` USING(`ID_categoria`) LEFT JOIN `empleado` USING(ID_empleado) WHERE 1 ' . $PARAMS . ' ' . $rango . ' ORDER BY h1.`fecha_inicio` ' . $ORDEN; $r = db_consultar($c); //echo $c.'<br><br>'; return call_user_func($funcion, $r); }
function _F_usuario_acceder($correo, $clave, $enlazar = true) { global $tablausuarios; $correo = db_codex(trim($correo)); $clave = db_codex(trim($clave)); $c = "SELECT * FROM {$tablausuarios} WHERE LOWER(usuario)=LOWER('{$correo}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_nombre_completo'] = db_fila_a_array($resultado); db_agregar_datos(db_prefijo . 'asistencia', array('fecha' => mysql_datetime(), 'ID_usuario' => $_SESSION['cache_datos_nombre_completo']['ID_usuario'])); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['codigo_nombre_completo']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function _F_usuario_acceder($correo, $clave, $enlazar = true) { global $tablausuarios; $correo = db_codex(trim($correo)); $clave = db_codex(trim($clave)); $c = "SELECT * FROM {$tablausuarios} WHERE LOWER(correo)=LOWER('{$correo}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_nombre_completo'] = db_fila_a_array($resultado); $c = "UPDATE {$tablausuarios} SET ultimo_acceso=NOW() WHERE codigo_nombre_completo=" . _F_usuario_cache('codigo_nombre_completo'); $resultado = db_consultar($c); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['codigo_nombre_completo']); echo "Error general al autenticar!" . "<br />"; return 0; } }
<?php $c = sprintf('SELECT `ID_prospecto`, `generales_fecha_compra`, `generales_sabe_cuanto_cuesta`, `generales_cuanto_cuesta`, `generales_bancarrota_12_meses`, `generales_tipo_bancarrota_7`, `generales_tipo_bancarrota_11`, `generales_tipo_bancarrota_13`, `generales_modificacion_anterior`, `generales_modificacion_hace_cuanto`, `generales_nuevos_terminos_de_modificacion`, `generales_proceso_modificacion`, `generales_fecha_proceso_modificacion`, `generales_modificacion_pago`, `generales_hizo_auditoria`, `generales_hubo_notario`, `generales_tenia_licencia`, `generales_explicaron_terminos_prestamo`, `generales_hizo_npv`, `generales_cuantas_propiedades`, `tarjeta_tiene`, `tarjeta_cuantas`, `tarjeta_7500`, `tarjeta_fecha_fin_deudas`, `tarjeta_pago_mensual`, `tarjeta_cuanto`, `tarjeta_meta`, `empleo_tipo`, `empleo_compania`, `empleo_tiempo`, `hipoteca_banco`, `hipoteca_interes`, `hipoteca_pago_mensual`, `hipoteca_balance` FROM `%s` WHERE ID_prospecto=%s', db_prefijo . 'prospectos_encuesta', db_codex($ID_prospecto)); $rrr = db_consultar($c); if (mysql_num_rows($rrr)) { $fEncuesta = mysql_fetch_assoc($rrr); } ?> <ol id="ol-encuesta"> <fieldset> <legend>Preguntas generales</legend> <li>¿En que año compro su propiedad? <?php echo ui_input('generales_fecha_compra', @$fEncuesta['generales_fecha_compra'], 'text'); ?> </li> <li>¿Tiene idea de lo que actualmente cuesta? <?php echo ui_optionbox_nosi('generales_sabe_cuanto_cuesta', 'no', 'si', 'Si', 'No', @$fEncuesta['generales_sabe_cuanto_cuesta']); ?> </li> <ul> <li>¿Cuanto cuesta aproximadamente? <?php echo ui_input('generales_cuanto_cuesta', @$fEncuesta['generales_cuanto_cuesta'], 'text'); ?> </li> </ul> <li>¿Ha hecho bancarrota en los pasados 12 meses? <?php echo ui_optionbox_nosi('generales_bancarrota_12_meses', 'no', 'si', 'Si', 'No', @$fEncuesta['generales_bancarrota_12_meses']); ?> </li> <ul>
if (strlen($_POST['nombre']) < 3 || preg_match('/^\\w*$/', $_POST['nombre'])) { $error[] = 'El nombre ingresado no parece válido o es muy corto.'; } if (!validcorreo($_POST['email'])) { $error[] = 'Su correo electrónico no parece válido.'; } if (isset($error) && count($error)) { echo '<h1>Su consulta no pudo ser enviada porque se encontraron los siguientes errores</h1>'; echo '<p style="color:#F00">' . implode('</p><p style="color:#F00">', $error) . '</p>'; } else { $to = PROY_MAIL_BROADCAST_NOMBRE . PROY_MAIL_BROADCAST; $subject = 'Nueva consulta a ' . PROY_NOMBRE . ' - ' . dechex(crc32(microtime())); $message = '<style>li{font-weight:bold;}</style>' . "<p>La siguiente consulta ha sido recibida a travez de " . PROY_URL_ACTUAL . "</p>" . '<ul>' . "<li>Teléfono:</li><p>" . $_POST['tel'] . '</p>' . "<li>Correo electrónico:</li><p>" . $_POST['email'] . '</p>' . "<li>Nombre:</li><p>" . $_POST['nombre'] . '</p>' . "<li>Consulta:</li><p>" . $_POST['mensaje'] . '</p>' . '</ul>'; $headers = 'Reply-To: ' . $_POST['nombre'] . ' <' . $_POST['email'] . '>' . "\r\n"; @correo($to, $subject, $message, $headers); $c = sprintf('INSERT INTO %s (id_consulta, nombre, telefono, correo, interes, fecha) VALUES (NULL, "%s", "%s", "%s", "%s", NOW())', db_prefijo . 'consultas', db_codex($_POST['nombre']), db_codex($_POST['tel']), db_codex($_POST['email']), db_codex($_POST['mensaje'])); @db_consultar($c); echo '<p>'; echo '¡Muchas gracias por su consulta!<br />'; echo 'Lo invitamos a seguir navegando en nuestro sitio web. <a href="' . PROY_URL . '">Ir a la página principal</a>.<br />'; echo 'Recuerde que nuestro número telefonico es: ' . PROY_TELEFONO . '<br />'; echo '</p>'; return; } } ?> <h1>Contacto</h1> <div> <?php cargar_editable('contacto'); ?>
function INTERFAZ__ADMIN_TIENDAS_AGREGAR() { if (isset($_POST['crear'])) { $flag_valido = true; $usuario = _F_usuario_datos($_POST['email'], 'email'); if (!is_array($usuario)) { $flag_valido = false; echo Mensaje("abortado porque el usuario no existe"); } if ($flag_valido) { $datos['id_usuario'] = $usuario['id_usuario']; $datos['tiendaURL'] = db_codex(@$_POST['url']); $datos['tiendaTitulo'] = db_codex(@$_POST['titulo']); $datos['tiendaSubtitulo'] = db_codex(@$_POST['subtitulo']); $datos['tiendaCSS'] = db_codex(@$_POST['css']); $r = db_agregar_datos('ventas_tienda', $datos); if ($r) { echo Mensaje("Agregado correctamente"); } } } ?> <form action="./admin_tienda_agregar" method="post"> <table class="semi-ancha limpio"> <tr><td class="fDer">Correo Usuario</td><td class="fInput"><input name="email" type="text" value=""/></td><tr> <tr><td class="fDer">URL</td><td class="fInput"><input name="url" type="text" value=""/></td><tr> <tr><td class="fDer">Titulo</td><td class="fInput"><input name="titulo" type="text" value=""/></td><tr> <tr><td class="fDer">Subtitulo</td><td class="fInput"><input name="subitulo" type="text" value=""/></td><tr> <tr><td class="fDer">CSS</td><td class="fInput"><textarea name="css"></textarea></td><tr> </table> <input type="submit" name="crear" value="Crear"> </form> <?php }
<?php //cv = codigo confirmación //ce = correo electronico if (!empty($_GET['cc']) && !empty($_GET['ce']) && strlen($_GET['cc']) == 40 && validcorreo($_GET['ce'])) { $c = sprintf('UPDATE %s SET confirmado=1 WHERE correo="%s" AND codigo_confirmacion="%s"', db_prefijo . 'correo_oferta', db_codex($_GET['ce']), db_codex($_GET['cc'])); db_consultar($c); if (db_afectados()) { echo '<p>Su correo electrónico ha sido confirmado y activado.</p>'; echo '<p>De ahora en adelante Ud. recibirá nuestras promociones especiales en su correo, Ud. podra remover su correo de esta lista de envío automática en el momento que desee</p>'; } else { echo '<p>Error general al verificar su correo</p>'; } echo '<br /><p><a href="' . PROY_URL . '">Regresar a página principal</a></p>'; return; } if (empty($_POST['ce']) || !isset($_POST['inscribir'])) { header('Location: ' . PROY_URL); } if (!validcorreo($_POST['ce'])) { echo '<p>El correo ingresado es invalido.<br /><a href="' . PROY_URL . '">Regresar a página principal</a></p>'; return; } if (db_contar(db_prefijo . 'correo_oferta', 'correo="' . $_POST['ce'] . '"') > 0) { echo '<p>El correo ingresado ya fue registrado.<br /><a href="' . PROY_URL . '">Regresar a página principal</a></p>'; return; } $CodigoConfirmacion = sha1(microtime()); $mensaje = ' <p> Estimado usuario,
function CONTENIDO_TIENDA() { $data = ''; $c = sprintf("SELECT * FROM ventas_tienda WHERE tiendaURL='%s' LIMIT 1", db_codex($_GET['tienda'])); $r = db_consultar($c); if (mysql_num_rows($r) != 1) { echo Mensaje("La tienda solicitada [" . $_GET['tienda'] . "] no existe"); return; } $Tienda = db_fila_a_array($r); $Vendedor = _F_usuario_datos($Tienda['id_usuario']); echo "Viendo tienda de: <b>" . $Vendedor['usuario'] . "</b><hr /><br />"; $nivel = !empty($_GET['categoria']) ? "padre='" . db_codex($_GET['categoria']) . "' AND " : ""; $c = "SELECT id_categoria, nombre FROM ventas_categorias WHERE {$nivel} id_categoria IN (SELECT padre FROM ventas_categorias WHERE id_categoria IN (SELECT id_categoria FROM ventas_publicaciones WHERE id_usuario='" . $Vendedor['id_usuario'] . "')) ORDER BY nombre"; $resultado = db_consultar($c); $n_campos = mysql_num_rows($resultado); $data = ' <div id="secc_categorias">'; $data .= !empty($_GET['categoria']) ? '<div class="item_cat item_cat_todos"><a href="./+' . $Tienda['tiendaURL'] . '">Ver todas las categorías</a><div style="clear:both"></div></div>' : "<h1>Categorías</h1>"; $data .= "<div id=\"contenedor_categorias\">"; for ($i = 0; $i < $n_campos; $i++) { $r = mysql_fetch_row($resultado); $data .= "<div class=\"item_cat\">" . ('<a title="' . $r[1] . '" href="+' . $Tienda['tiendaURL'] . '_dpt-' . $r[0] . '-' . SEO($r[1]) . '">' . $r[1] . '</a>') . "</div> "; //Importante!, no quitar el espacio despues del </div>!!! } $data .= '</div></div>'; $categoria = !empty($_GET['categoria']) ? db_codex($_GET['categoria']) : 0; if ($categoria) { $c = "SELECT * FROM ventas_categorias WHERE id_categoria='{$categoria}'"; $resultado = db_consultar($c); if (db_resultado($resultado, 'padre') > 0) { $data .= "<hr />"; $data .= "Deseo publicar una <a href=\"./vender?op={$categoria}\">venta</a> en esta categoría<br />"; $data .= "<hr />"; $WHERE = "z.id_categoria='{$categoria}'"; } else { $WHERE = "(SELECT padre FROM ventas_categorias AS b where b.id_categoria=z.id_categoria)='{$categoria}' AND tipo IN (" . _A_aceptado . "," . _A_promocionado . ")"; } } else { $data .= "<h1>Artículos mas recientes</h1>"; // Mostrar todos los articulos en la categoría $WHERE = "tipo IN (" . _A_aceptado . "," . _A_promocionado . ")"; } $WHERE .= " AND id_usuario = " . $Tienda['id_usuario']; $data .= VISTA_ListaPubs($WHERE, "", "tienda", "", $Tienda['tiendaURL']); echo $data; }
exit; } if (isset($_POST['enviar']) && $editable) { //Validemos $valido = true; if (!isset($_POST['paso1'])) { echo '<p class="error">Error: debe establecer el motivo del cese laboral del empleado.</p>'; $valido = false; } elseif (!in_array($_POST['paso1'], array('Renuncia', 'Despido', 'Recorte de Personal'))) { echo '<p class="error">Error: intento de violacion al sistema #1</p>'; $valido = false; } elseif ($_POST['paso1'] == 'Despido' && empty($_POST['paso4'])) { $_POST['paso4'] = 'No especificado.'; } elseif ($_POST['paso1'] == 'Despido') { // Si era un numero, veamos que exista. $articulo_codigo_laboral = db_obtener('codigo_laboral_despido', 'contenido', 'ID_articulo=' . db_codex($_POST['paso4'])); if (!$articulo_codigo_laboral) { echo '<p class="error">Error: intento de violacion al sistema #4.2</p>'; $valido = false; } } if (!isset($_POST['paso2'])) { echo '<p class="error">Error: debe establecer su valoración del empleado.</p>'; $valido = false; } elseif (!in_array($_POST['paso2'], array('volveria a contratarlo', 'no volveria a contratarlo'))) { echo '<p class="error">Error: intento de violacion al sistema #2</p>'; $valido = false; } if (!isset($_POST['paso3'])) { echo '<p class="error">Error: debe establecer la fecha del cese laboral del empleado.</p>'; $valido = false;
function PROCESAR_CATEGORIAS() { global $contenedor; if (isset($_POST['btn_agregar_categoria']) && isset($_POST['cmb_agregar_categoria']) && is_numeric($_POST['cmb_agregar_categoria'])) { $datos['codigo_producto'] = $contenedor['codigo_producto']; $datos['codigo_categoria'] = $_POST['cmb_agregar_categoria']; db_agregar_datos(db_prefijo . 'productos_categoria', $datos); unset($datos); } if (isset($_POST['btn_agregar_categoria_v2'])) { $join = join('),(' . $contenedor['codigo_producto'] . ',', array_values($_POST['chk_agregar_categoria'])); $c = sprintf('INSERT INTO %s (codigo_producto, codigo_categoria) VALUES (%s,%s)', db_prefijo . 'productos_categoria', $contenedor['codigo_producto'], $join); //echo $c; db_consultar($c); } if (isset($_POST['btn_eliminar_categoria']) && isset($_POST['codigo_categoria'])) { $c = sprintf("DELETE FROM %s WHERE codigo_categoria=%s AND codigo_producto=%s", db_prefijo . 'productos_categoria', db_codex($_POST['codigo_categoria']), $contenedor['codigo_producto']); $r = db_consultar($c); } }
header('ETag: "' . $ETag . '"'); } header("Content-Type: " . $TipoContenido); header("Content-Length: " . filesize($archivo)); header('Cache-Control: private'); header('Pragma: '); header('Expires: '); header('Last-Modified: ' . gmstrftime("%a, %d %b %Y %T %Z", $mtime)); header('ETag: "' . $ETag . '"'); readfile($archivo); } break; case "correo": if (!empty($_GET['op'])) { header("Content-type: image/png"); // Encontramos el correo respectivo $c = "SELECT email FROM ventas_usuarios WHERE id_usuario = '" . db_codex($_GET['op']) . "' LIMIT 1"; $r = mysql_query($c); $f = mysql_fetch_array($r); $string = $f['email']; $im = ImageCreate((int) (strlen($string) * 6.25), 12); $background_color = ImageColorAllocate($im, 224, 230, 255); $text_color = ImageColorAllocate($im, 0, 0, 0); ImageString($im, 2, 0, 0, "{$string}", $text_color); ImagePNG($im); ImageDestroy($im); } break; default: echo "Petición erronea: " . $_GET['peticion'] . ". Abortando"; }
function mensaje($arrID_empresa = array(), $mensajes = array()) { foreach ($mensajes as $mensaje) { foreach ($arrID_empresa as $ID_empresa) { $c = sprintf('INSERT INTO %s (ID_empresa, tipo, mensaje, leido, fecha) VALUES("%s", "%s", "%s", 0, NOW())', db_prefijo . 'mensaje', $ID_empresa, $mensaje['tipo'], db_codex($mensaje['mensaje'])); $r = db_consultar($c); } } }
<?php $ID_prospecto = $_GET['p']; if (isset($_POST['guardar'])) { $arrDB = array_flip(array('generales_fecha_compra', 'generales_sabe_cuanto_cuesta', 'generales_cuanto_cuesta', 'generales_bancarrota_12_meses', 'generales_tipo_bancarrota_7', 'generales_tipo_bancarrota_11', 'generales_tipo_bancarrota_13', 'generales_modificacion_anterior', 'generales_modificacion_hace_cuanto', 'generales_nuevos_terminos_de_modificacion', 'generales_proceso_modificacion', 'generales_fecha_proceso_modificacion', 'generales_modificacion_pago', 'generales_hizo_auditoria', 'generales_hubo_notario', 'generales_tenia_licencia', 'generales_explicaron_terminos_prestamo', 'generales_hizo_npv', 'generales_cuantas_propiedades', 'tarjeta_tiene', 'tarjeta_cuantas', 'tarjeta_7500', 'tarjeta_fecha_fin_deudas', 'tarjeta_pago_mensual', 'tarjeta_cuanto', 'tarjeta_meta', 'empleo_tipo', 'empleo_compania', 'empleo_tiempo', 'hipoteca_banco', 'hipoteca_interes', 'hipoteca_pago_mensual', 'hipoteca_balance')); $DATOS = array_intersect_key($_POST, $arrDB); $DATOS['ID_prospecto'] = db_codex($_POST['ID_prospecto']); db_reemplazar_datos(db_prefijo . 'prospectos_encuesta', $DATOS); } $_GET['aplicaciones_mostrar_incrustada'] = true; require_once 'php/_aplicaciones.php'; ?> <form action="<?php echo PROY_URL_ACTUAL_DINAMICA; ?> " method="post"> <input type="hidden" name="ID_prospecto" value="<?php echo $_GET['p']; ?> " /> <div class="encuesta"><?php require_once 'php/_prospecto_encuesta.php'; ?> </div> <input type="submit" name="guardar" value="Guardar aplicacion preliminar" /> </form> <p class="mini">Nota: solo guarda las modificaciones a los datos de la aplicación preliminar</p>
case 'mes': if (!isset($_POST['anio']) || !isset($_POST['mes'])) { return; } $andAnio = $_POST['anio'] ? "AND YEAR(txtFechaEntrega)='" . db_codex($_POST['anio']) . "'" : ""; $andMes = $_POST['mes'] ? "AND MONTH(txtFechaEntrega)='" . db_codex($_POST['mes']) . "'" : ""; $onClick = "onclick=\\'\$(\"#resultado_historial\").load(\"data/historial+ajax.php\",{opcion:\"dia\",anio:\"', YEAR(txtFechaEntrega), '\",mes:\"', MONTH(txtFechaEntrega), '\",dia:\"', DAY(txtFechaEntrega), '\"})\\'"; $c = "SELECT DISTINCT YEAR(txtFechaEntrega) AS 'Año', MONTHNAME(txtFechaEntrega) AS 'Mes', CONCAT('<a {$onClick}>',DAY(txtFechaEntrega),'</a>') AS 'Día', CONCAT('\$', SUM(lblCosto)) AS 'Precio costo del día', CONCAT('\$', SUM(lblCosto) * 0.10) AS 'Ahorro del día' FROM ahm_ordenes AS a WHERE 1 {$andAnio} {$andMes} {$andUsuario} GROUP BY DAY(txtFechaEntrega)"; break; case 'dia': if (!isset($_POST['anio']) || !isset($_POST['mes']) || !isset($_POST['dia'])) { return; } $andAnio = $_POST['anio'] ? "AND YEAR(txtFechaEntrega)='" . db_codex($_POST['anio']) . "'" : ""; $andMes = $_POST['mes'] ? "AND MONTH(txtFechaEntrega)='" . db_codex($_POST['mes']) . "'" : ""; $andDia = $_POST['dia'] ? "AND DAY(txtFechaEntrega)='" . db_codex($_POST['dia']) . "'" : ""; $onClick = "onclick=\\'\$(\"#resultado_historial\").load(\"data/historial+ajax.php\",{opcion:\"orden\",id_orden:\"', id_orden, '\"})\\'"; $c = "SELECT CONCAT('<a {$onClick}>',id_orden,'</a>') AS 'N° orden', validacion AS 'N° Validación', CONCAT('\$', lblCosto) AS 'Precio costo de orden', CONCAT('\$', lblCosto * 0.10) AS 'Ahorro de la orden' FROM ahm_ordenes AS a WHERE 1 {$andAnio} {$andMes} {$andDia} {$andUsuario}"; break; case 'orden': if (!isset($_POST['id_orden'])) { return; } $c = "SELECT id_orden AS 'N° orden Global', id_orden_indv AS 'N° orden', validacion AS 'N° Validación', lblCosto AS 'Costo', CONCAT('\$', lblCosto * 0.10) AS 'Ahorro', cmbListaMateriales AS 'Material', txtOtroMaterial AS 'Detalle Material', txtCantidad AS 'Número de copias', CONCAT(txtMedidaImpresionAncho,cmbSisMetricoAncho,'x',txtMedidaImpresionLargo,cmbSisMetricoLargo) as 'Medidas', optNoSi AS 'Escala', txtFechaOrden AS 'Fecha Orden', txtFechaEntrega AS 'Fecha Entrega', txtFechaEntregado AS 'Fecha Entregado', txtNotas AS 'Notas', CONCAT('<a target=\"_blank\" href=\"+',flArchivo, '\">', flArchivo, '</a>') AS 'Archivo', estado AS 'Estado' FROM ahm_ordenes AS a WHERE 1 {$andUsuario}"; } $resultado = db_consultar($c); if ($resultado && $_POST['opcion'] != 'orden') { echo db_ui_tabla($resultado, 'style="width:100%" class="historial"'); } else { echo db_ui_tabla_vertical($resultado); }
db_consultar('UPDATE ' . db_prefijo . 'prospectos_aplicados_recordatorio SET fecha_visto=NOW() WHERE ID_recordatorio="' . db_codex($_GET['r']) . '" AND ID_aplicacion="' . db_codex($_GET['a']) . '"'); // Un historial para decir que vió su recordatorio $nota = "Recordatorio fue visto"; db_agregar_datos(db_prefijo . 'historial', array('tipo' => _T_historial_sistema, 'fecha' => mysql_datetime(), 'cambio' => $nota, 'ID_aplicacion' => $_GET['a'], 'ID_usuario' => _F_usuario_cache('ID_usuario'))); // Para evitar loops header('Location: ' . PROY_URL . 'aplicaciones?a=' . db_codex($_GET['a'])); return; } if (isset($_GET['positivas'])) { $WHERE .= sprintf(' AND (aplicacion_valida="desconocido" OR aplicacion_valida="valida" OR aplicacion_valida="vendida")'); } if (isset($_GET['asv'])) { $WHERE .= sprintf(' AND ID_agente_sv="%s"', db_codex($_GET['asv'])); } if (isset($_GET['aus'])) { $WHERE .= sprintf(' AND ID_agente_us="%s"', db_codex($_GET['aus'])); } if (isset($_GET['asignadas'])) { $WHERE .= sprintf(' AND ID_agente_us="%s"', _F_usuario_cache('ID_usuario')); } if (isset($_GET['vigiladas'])) { $WHERE = 'AND pav.ID'; } if (isset($_GET['desactualizadas'])) { $WHERE .= ' AND aplicacion_valida="desconocido" AND fecha_ingresada < (DATE(NOW()) - INTERVAL 3 DAY) AND pa.ID_aplicacion NOT IN (SELECT h.ID_aplicacion FROM ' . db_prefijo . 'historial AS h LEFT JOIN ' . db_prefijo . 'usuarios USING (ID_usuario) WHERE fecha > (DATE(NOW()) - INTERVAL 3 DAY) AND nivel="' . _N_agente_us . '" )'; } if (isset($_GET['validas'])) { $WHERE .= ' AND aplicacion_valida="valida"'; } if (isset($_GET['invalidas'])) { $WHERE .= ' AND aplicacion_valida="invalida"';
<?php if (isset($_GET['tema'])) { $c = sprintf('SELECT ID_contenido, titulo_contenido, contenido, meta_descripcion FROM %s WHERE enlace_seo="%s"', db_prefijo . 'contenido', db_codex($_GET['tema'])); $r = db_consultar($c); if (!mysql_num_rows($r)) { echo sprintf('<h1>Error</h1><p> el tema requerido no existe. %s</p>', $_GET['tema']); } $f = mysql_fetch_assoc($r); echo '<h1>' . $f['titulo_contenido'] . '</h1>'; eval('?>' . $f["contenido"] . '<?'); }
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>"; }
function CONTENIDO_BUSCAR() { //Será que ya envío la búsqueda? $flag_busq_valida = isset($_GET['b']); // Será que es una búsqueda avanzada? $flag_busq_adv = isset($_GET['ba']); if ($flag_busq_valida) { /* La busqueda se prioritiza en el siguiente orden: 1. Tags 2. Titulo 3. Sub-Titulo / Descripcion corta 4. Descripcion 5. Todo lo demas / x orden */ // Construimos el Query de la búsqueda $AND_categoria = !empty($_POST['c']) ? sprintf("AND id_categoria='%s'", db_codex($_GET['c'])) : ""; $cadenaBusq = db_codex($_GET['b']); // Construimos la parte avanzada si fué solicitada if ($flag_busq_adv) { $ANDs = array(); $LUGARES = array(); // Lugares if (!empty($_GET['inc_titulo'])) { $LUGARES[] = 'z.titulo'; } if (!empty($_GET['inc_sub'])) { $LUGARES[] = 'z.descripcion_corta'; } if (!empty($_GET['inc_desc'])) { $LUGARES[] = 'z.descripcion'; } $AND_match1 = count($LUGARES) > 0 ? sprintf("AND MATCH (%s) AGAINST ('%s' IN BOOLEAN MODE)", implode(",", $LUGARES), $cadenaBusq) : ""; // Tags $AND_match2 = !empty($_GET['inc_etiq']) ? sprintf("AND id_publicacion IN (SELECT id_publicacion FROM ventas_tag_uso WHERE id_tag IN (SELECT ventas_tag.id FROM ventas_tag WHERE MATCH(ventas_tag.tag) AGAINST('%s' IN BOOLEAN MODE)))", $cadenaBusq) : ""; // Precios if (!empty($_GET['pmin']) && is_numeric($_GET['pmin'])) { $ANDs[] = sprintf("AND precio>='%s'", db_codex($_GET['pmin'])); } if (!empty($_GET['pmax']) && is_numeric($_GET['pmax'])) { $ANDs[] = sprintf("AND precio<='%s'", db_codex($_GET['pmax'])); } // Horas if (!empty($_GET['inc_tiempo']) && isset($_GET['tp']) && isset($_GET['tpv']) && is_numeric($_GET['tp']) && is_numeric($_GET['tpv'])) { // Determinamos el operador switch ($_GET['tp']) { case 3: $operacion = "((DATEDIFF(fecha_fin,CURDATE())) * 24) > '%s'"; break; case 2: $operacion = "((DATEDIFF(fecha_fin,CURDATE())) * 24) < '%s'"; break; case 1: $operacion = "((DATEDIFF(CURDATE(),fecha_ini)) * 24) < '%s'"; break; case 0: default: $operacion = "((DATEDIFF(CURDATE(),fecha_ini)) * 24) > '%s'"; break; } $ANDs[] = sprintf("AND {$operacion}", db_codex($_GET['tpv'])); } // Opciones //-Características del artículo if (isset($_GET['f']) && is_array($_GET['f']) && isset($_GET['mf'])) { sort($_GET['f']); switch ($_GET['mf']) { // Cualquier coincidencia case 2: $ANDs[] = sprintf("AND id_publicacion IN (SELECT id_publicacion FROM ventas_flags_pub WHERE id_flag IN ('%s'))", implode("','", db_codex($_GET['f']))); break; // Coincidencia parcial // Coincidencia parcial case 1: $ANDs[] = sprintf("AND id_publicacion IN (SELECT id_publicacion FROM ventas_flags_pub WHERE id_flag IN ('%s') GROUP BY id_publicacion HAVING COUNT(DISTINCT id_flag) = %s)", implode("','", db_codex($_GET['f'])), count($_GET['f'])); break; // Coincidencia exacta // Coincidencia exacta case 0: default: $ANDs[] = sprintf("AND id_publicacion IN (SELECT id_publicacion FROM ventas_flags_pub group BY id_publicacion HAVING GROUP_CONCAT(id_flag ORDER BY id_flag ASC) ='%s');", implode(",", db_codex($_GET['f']))); } } $WHERE = sprintf("fecha_fin >= CURDATE() {$AND_match1} {$AND_match2} {$AND_categoria} %s", implode(" ", $ANDs)); } else { // Búsqueda simple $WHERE = sprintf("fecha_fin >= CURDATE() AND (MATCH (z.titulo,z.descripcion_corta,z.descripcion) AGAINST ('%s' IN BOOLEAN MODE) {$AND_categoria} OR id_publicacion IN (SELECT id_publicacion FROM ventas_tag_uso WHERE id_tag IN (SELECT ventas_tag.id FROM ventas_tag WHERE MATCH(ventas_tag.tag) AGAINST('%s' IN BOOLEAN MODE))))", $cadenaBusq, $cadenaBusq); } $WHERE .= " AND z.tipo IN (" . _A_aceptado . "," . _A_promocionado . ") AND fecha_fin >= CURDATE()"; echo '<h1>Resultados</h1>'; echo VISTA_ListaPubs($WHERE); } //Le mostramos la "busqueda avanzada" ?> <h1>Refinar búsqueda</h1> <div id="buscador"> <form action="buscar" method="get"> <fieldset> <legend>Texto a búscar y campos de búsqueda</legend> <input id="busqueda" name="b" type="text" value="<?php echo @$_GET["b"]; ?> " /> <?php echo ui_combobox("c", '<option value="">Todas las categorias</option>' . join("", ver_hijos("", "")), @$_GET["c"]); ?> <br /> Incluir <input type="checkbox" name="inc_titulo" value="1" <?php echo isset($_GET['inc_titulo']) || !$flag_busq_adv ? 'checked="checked"' : ""; ?> /> Título <input type="checkbox" name="inc_sub" value="1" <?php echo isset($_GET['inc_sub']) || !$flag_busq_adv ? 'checked="checked"' : ""; ?> /> Sub-título <input type="checkbox" name="inc_desc" value="1" <?php echo isset($_GET['inc_desc']) ? 'checked="checked"' : ""; ?> /> Descripción <input type="checkbox" name="inc_etiq" value="1" <?php echo isset($_GET['inc_etiq']) || !$flag_busq_adv ? 'checked="checked"' : ""; ?> /> Etiquetas </fieldset> <fieldset> <legend>Opciones de la publicación</legend> <table class="ancha limpio marginado-y col1-3"> <tr><th><h2>Características del artículo</h2></th><th><h2>Formas de pago admitidas</h2></th><th><h2>Formas de entrega admitidas</h2><th></tr> <tr> <td> <?php echo db_ui_checkboxes("f[]", "ventas_flags", "id_flag", "nombrep", "descripcion", @$_GET['f'], "", "tipo='venta'"); ?> </td> <td> <?php echo db_ui_checkboxes("f[]", "ventas_flags", "id_flag", "nombrep", "descripcion", @$_GET['f'], "", "tipo='entrega'"); ?> </td> <td> <?php echo db_ui_checkboxes("f[]", "ventas_flags", "id_flag", "nombrep", "descripcion", @$_GET['f'], "", "tipo='pago'"); ?> </td> </tr> </table> Método: <input title="las publicaciones encontradas cumplen exactamente con todos los criterios y ninguna más o ninguno menos" name="mf" type="radio" value="0" <?php echo isset($_GET['mf']) && $_GET['mf'] == 0 ? 'checked="checked"' : ""; ?> > Coincidencia exacta <input title="las publicaciones encontradas contienen al menos todos los criterios seleccionados" name="mf" type="radio" value="1" <?php echo !isset($_GET['mf']) || $_GET['mf'] == 1 || !$flag_busq_adv ? 'checked="checked"' : ""; ?> > Coincidencia parcial <input title="las publicaciones encontradas cumplen con al menos 1 criterio" name="mf" type="radio" value="2" <?php echo isset($_GET['mf']) && $_GET['mf'] == 2 ? 'checked="checked"' : ""; ?> > Cualquier coincidencia </fieldset> <fieldset> <legend>Restricciones de precio y tiempo de publicación</legend> Precio entre $<input type="text" name="pmin" value="<?php echo isset($_GET['pmin']) ? @$_GET['pmin'] : '0.00'; ?> "> y $<input type="text" name="pmax" value="<?php echo isset($_GET['pmax']) ? @$_GET['pmax'] : '99999.00'; ?> "> (dolares USA | USD).<br /> <input type="checkbox" name="inc_tiempo" value="1" <?php echo isset($_GET['inc_tiempo']) ? 'checked="checked"' : ""; ?> /> <?php echo ui_combobox("tp", '<option value="0">Publicado hace no menos de</option><option value="1">Publicado hace no más de</option><option value="2">Terminando en menos de</option><option value="3">Terminando en más de</option>', @$_GET['tp']); echo ui_combobox("tpv", '<option value="1">1 hora</option><option value="2">2 horas</option><option value="6">6 horas</option><option value="12">12 horas</option><option value="24">1 día</option><option value="48">2 días</option><option value="72">3 días</option><option value="96">4 días</option><option value="120">5 días</option><option value="144">6 días</option><option value="168">7 días</option>', @$_GET['tpv']); ?> <br /> </input> </fieldset> <input name="ba" type="hidden" value="1" /> <br /> <input type="submit" value="Realizar búsqueda refinada" /> </form> </div> <h1>Opciones</h1> <a href="./">Retornar a pagina principal</a> <?php }
echo BUSCAR_mostrar_resultados($r); } // Totalmente refinado -- Si hubieron colores entonces tratar de super refinar if (count($colores) && $nResultadosPorTexto) { $WHERE .= ' AND pc.color LIKE "' . join('" OR pc.color LIKE "', $colores) . '"'; $ORDER_BY = 'ORDER BY pc.color ASC'; $r = buscar(); if (mysql_num_rows($r)) { echo '<h1>Encontrados por [titulo ó descripción] y color</h1>'; echo '<p>Se detectaron los colores "' . join(', ', $colores) . '" en su texto de búsqueda, a continuación se muestran los resultados de los productos que sean del color escogido.</p>'; echo BUSCAR_mostrar_resultados($r); } } // Registremos la búsqueda y fin! /* INET_ATON = Adress 2 Number; INET_NTOA = Number 2 Adress */ @($c = sprintf('INSERT INTO %s (codigo_busqueda,ip,texto_buscado,texto_buscado_regexed,texto_buscado_regexed_fase_2,fecha,referencia) VALUES (NULL,INET_ATON("%s"),"%s","%s","%s",NOW(),"%s")', db_prefijo . 'busquedas', $_SERVER['REMOTE_ADDR'], $busqueda, $busqueda_regexed, $busqueda_regexed_fase_2, db_codex(@$_SERVER['HTTP_REFERER']))); @db_consultar($c); function buscar() { global $COMUN, $WHERE, $GROUP, $ORDER_BY; $c = sprintf('%s FROM flores_producto_variedad AS pv LEFT JOIN flores_producto_contenedor AS pc USING(codigo_producto) WHERE %s %s %s', $COMUN, $WHERE, $GROUP, $ORDER_BY); return db_consultar($c); } function BUSCAR_mostrar_resultados($r) { global $modo; if ($modo == 'iconos') { $nElementos = mysql_num_rows($r); $nFilas = ceil($nElementos / opcion('categoria_articulos_por_fila', 4)); $bELEMENTOS = '<table style="width:100%;table-layout:fixed;border-collapse:collapse;margin:0;border:none;padding:0">'; for ($i = 0; $i < $nFilas; $i++) {
function SSL_COMPRA_PROCESAR() { global $variedad; if (isset($_POST['btn_cancelar'])) { if (isset($_POST['variedad'])) { $c = 'SELECT titulo, descripcion FROM flores_producto_contenedor LEFT JOIN flores_producto_variedad USING (codigo_producto) WHERE codigo_variedad="' . db_codex($_POST['variedad']) . '"'; $r = mysql_fetch_assoc(db_consultar($c)); $location = PROY_URL . 'arreglos-florales-floristerias-en-el-salvador-' . SEO($f['titulo'] . '-' . $f['codigo_producto']); } else { $location = PROY_URL; } header("Location: " . $location); ob_end_clean; exit; } if (!isset($_POST['btn_comprar']) || !isset($_POST['variedad'])) { return false; } // Revisamos si ya envió la compra, no vaya a ser doble compra. if (db_contar(db_prefijo . 'SSL_compra_contenedor', 'transaccion="' . db_codex($_POST['transaccion']) . '"')) { header("Location: " . PROY_URL); exit; } // Verificamos que todos los datos sean válidos $ERRORES = array(); require_once 'PHP/ssl.vericard.php'; $_POST['txt_numero_t_credito'] = preg_replace('/[^\\d]/', '', $_POST['txt_numero_t_credito']); if (!checkCreditCard($_POST['txt_numero_t_credito'], $_POST['cmb_tipo_t_credito'], $ccerror, $ccerrortext)) { $ERRORES[] = $ccerrortext; } // Tratamos de ver si la direccion de entrega es valida if (strlen(preg_replace('[^\\w]', '', $_POST['txt_direccion_entrega'])) < 10) { $ERRORES[] = 'Por favor revise que la dirección de entrega sea correcta y suficimientemente detallada.'; } // Tratamos de ver si la direccion de entrega es valida if (!preg_match('/^\\d{4}-\\d{2}-\\d{2}$/', $_POST['txt_fecha_entrega'])) { $ERRORES[] = 'Por favor revise que la fecha de entrega sea en este formato: año-mes-dia.'; } if (!preg_match('/^\\d{2}\\/\\d{2}$/', $_POST['txt_fecha_expiracion'])) { $ERRORES[] = 'Por favor revise que la fecha de expiración de la tarjeta de crédito sea en el formato MES/AÑO incluyendo la pleca (/).'; } if (!preg_match('/^\\d{3,4}$/', $_POST['txt_ccv'])) { $ERRORES[] = 'Por favor revise que el número de verificación de la tarjeta de crédito sean tres (3) números. Sirvase de las instrucciones para encontrar este número en su tarjeta de crédito.'; } if (strlen($_POST['txt_nombre_t_credito']) < 10) { $ERRORES[] = 'El nombre del acreedor de la tarjeta de crédito parece inválido'; } /* if (!validcorreo($_POST['txt_correo_contacto'])) { $ERRORES[] = 'El correo ingresado no parece valido, por favor compruebelo.'; } */ if (count($ERRORES) > 0) { echo '<h1>Lo sentimos, hay errores en los datos ingresados</h1>'; echo '<p>Hemos detectado los siguientes errores en los datos introducidos y no podremos procesar su compra a menos que sean corregidos:</p>'; echo '<p class="error">' . join('</p><p class="error">', $ERRORES) . '</p>'; return; } // Encriptamos la tarjeta de credito $t_credito = db_codex(preg_replace('/[^\\d]/', '', trim($_POST['txt_numero_t_credito']))); $c = sprintf('SELECT AES_ENCRYPT("%s","%s") AS t_credito_AES', $t_credito, db__key_str); $r = db_consultar($c); $f = mysql_fetch_assoc($r); $DATOS['codigo_compra'] = '0'; $DATOS['codigo_usuario'] = '0'; $DATOS['estado'] = 'nuevo'; $DATOS['fecha'] = mysql_datetime(); $DATOS['codigo_variedad'] = @$variedad['codigo_variedad']; $DATOS['precio_grabado'] = @$variedad['precio']; $DATOS['n_credito'] = @$f['t_credito_AES']; $DATOS['tipo_t_credito'] = @$_POST['cmb_tipo_t_credito']; $DATOS['telefono_destinatario'] = @$_POST['txt_telefono_destinatario']; $DATOS['telefono_remitente'] = @$_POST['txt_telefono_remitente']; $DATOS['fecha_exp_t_credito'] = @$_POST['txt_fecha_expiracion']; $DATOS['nombre_t_credito'] = @$_POST['txt_nombre_t_credito']; $DATOS['pin_4_reverso_t_credito'] = @$_POST['txt_ccv']; $DATOS['direccion_entrega'] = @$_POST['txt_direccion_entrega']; $DATOS['fecha_entrega'] = @$_POST['txt_fecha_entrega']; $DATOS['tarjeta_de'] = @$_POST['txt_tarjeta_de']; $DATOS['tarjeta_para'] = @$_POST['txt_tarjeta_para']; $DATOS['tarjeta_cuerpo'] = @$_POST['txt_tarjeta_cuerpo']; $DATOS['usuario_notas'] = @$_POST['txt_usuario_notas']; $DATOS['correo_contacto'] = @$_POST['txt_correo_contacto']; $DATOS['transaccion'] = @$_POST['transaccion']; $DATOS['precio_envio'] = @(double) $_POST['destino']; if ($_POST['txt_numero_t_credito'] == str_repeat('1', 16)) { return '<p>ERROR</p>'; } return db_agregar_datos(db_prefijo . 'SSL_compra_contenedor', $DATOS); }
function CONTENIDO_MP($opciones = array()) { // Comprobamos que ya haya ingresado al sistema if (!S_iniciado()) { echo "Necesitas iniciar sesión para poder <b>enviar Mensajes Privados</b>.<br />"; require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } // Será que quiere eliminar un MP que recibio?. if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes_dst SET eliminado=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje eliminado"); } else { echo Mensaje("Mensaje no eliminado"); } } // Será que quiere eliminar un MP que envió?. if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar2' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes SET eliminado=1 WHERE id='" . db_codex($_GET['id_msj']) . "' AND id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje eliminado"); } else { echo Mensaje("Mensaje no eliminado"); } } // Será que quiere marcar un MP como leido?. if (!empty($_GET['ae']) && $_GET['ae'] == 'leido' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes_dst SET leido=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje marcado como leído"); } else { echo Mensaje("Mensaje no pudo ser marcado como leído"); } } // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- // Si hay un id entonces quiere enviar un MP a ese ID if (!empty($_GET['id'])) { $id_usuario = db_codex($_GET['id']); // No se estará enviando el mensaje a el mismo verdad? XD if ($id_usuario == _F_usuario_cache('id_usuario')) { echo Mensaje("auto-enviarse mensajes privados no es permitido", _M_ERROR); return; } //Existe el usuario al cual quiere enviar el mensaje? if (!_F_usuario_existe($id_usuario, 'id_usuario')) { echo Mensaje("ha especificado un usuario de destino no existente en el sitema", _M_ERROR); return; } // Hay envío de MP? if (isset($_POST['enviar_mp']) && isset($_POST['mensaje'])) { // Será que quiere enviar una respuesta a otro MP if (!empty($_GET['id_msj'])) { $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' LIMIT 1"; $r = db_consultar($c); // Será que se quiere pasar de vivo cambiando el id_msj if (mysql_num_rows($r) == 0) { echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR); return; } $f = mysql_fetch_array($r); $_POST['asunto'] .= '[RESPUESTA A] ' . $f['asunto']; $_POST['mensaje'] .= '<br />' . htmlentities("-En respuesta a:\n" . $f['mensaje']); } //Agregamos el mensaje $datos["id_usuario_rmt"] = _F_usuario_cache('id_usuario'); $datos["mensaje"] = $_POST['mensaje']; $datos["asunto"] = $_POST['asunto']; $datos["tipo"] = _M_NOTA; $datos["contexto"] = _MC_privado; $datos["fecha"] = mysql_datetime(); $id_msj = db_agregar_datos("ventas_mensajes", $datos); unset($datos); //Agregamos el destinatario $datos["id_msj"] = $id_msj; $datos["id_usuario_dst"] = $id_usuario; $datos["leido"] = 0; $datos["eliminado"] = 0; $id_msj = db_agregar_datos("ventas_mensajes_dst", $datos); unset($datos); // Notificación por email del MP al destinatario: $usuario_destino = _F_usuario_datos($id_usuario); $mensaje = 'Acaban de enviarte un mensaje privado de parte de ' . _F_usuario_cache('usuario') . ' en ' . PROY_NOMBRE . ".<br /><br />\n\n"; $mensaje .= 'IMPORTANTE: Recuerda, esto es solamente una notificación. Por favor, no respondas a este email.' . "<br /><br />\n\n"; $mensaje .= 'El mensaje que te enviaron fue:' . "<br /><br />\n\n"; $mensaje .= $_POST['mensaje'] . ".<br /><br />\n\n"; $mensaje .= 'Responda a este mensaje privado aquí: ' . PROY_URL . 'perfil?op=mp'; @email($usuario_destino['email'], 'Nuevo Mensaje Privado: ' . $_POST['asunto'], $mensaje); //Notificación visual al usuario que envió el MP echo Mensaje("¡Su mensaje privado ha sido enviado!"); echo '<h1>Opciones</h1>'; echo '<ul>'; echo '<li><a href="' . PROY_URL . '">Ir pagina de inicio</a></li>'; echo '<li><a href="' . curPageURL(true) . '">Ir a mi perfil</a></li>'; echo '</ul>'; return; } // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- // No ha enviado el MP aún, mostrar el formulario de envío. if (!empty($_GET['id_msj'])) { $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); // Será que se quiere pasar de vivo cambiando el id_msj if (mysql_num_rows($r) == 0) { echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR); return; } $f = mysql_fetch_array($r); $Asunto = 'RESPUESTA A: ' . $f['asunto']; $EnRespuestaA = htmlentities("---En respuesta a:\n" . $f['mensaje'], ENT_QUOTES, 'UTF-8'); } $usuario_destino = _F_usuario_datos($id_usuario); echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">'; echo 'Este mensaje será enviado al usuario <b>' . $usuario_destino['usuario'] . '</b><br />'; echo '<table>'; echo ui_tr(ui_td('Asunto: ') . ui_td(ui_input('asunto', @$Asunto, "text", '', 'width:100%'))); echo ui_tr(ui_td('Mensaje: ') . ui_td(ui_textarea('mensaje', '', '', 'width:100%'))); echo '</table>'; if (!empty($_GET['id_msj'])) { echo "<p><b>Se anexará automaticamente a su mensaje el siguiente texto:</b><br />", @$EnRespuestaA, "</p>"; } echo ui_input("enviar_mp", "Enviar", "submit") . '<br />'; echo '</form>'; } else { echo '<h1>Mensajes privados</h1>'; echo '<h2>Categorías</h2>'; echo '<p><a class="btnlnk" href="', PROY_URL, 'perfil?op=mp">Nuevos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpl">Leidos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpe">Enviados</a></p>'; echo '<h2>Mensajes</h2>'; // Mostrale sus mensajes privados /* Necesito: * id de usuario del remitente * asunto * mensaje * fecha * nombre del remitente */ if (empty($opciones['vista'])) { $opciones['vista'] = "nuevos"; } switch ($opciones['vista']) { case 'nuevos': $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=0 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; case 'leidos': $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=1 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; case 'enviados': $c = "SELECT a.id, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = vmd.id_usuario_dst LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND a.eliminado=0 AND a.id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; } $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo '<table class="ancha resultados">'; while ($f = mysql_fetch_array($r)) { echo ui_tr(ui_th('Usuario') . ui_th('Fecha') . ui_th('Asunto')); echo ui_tr(ui_td($f['usuario']) . ui_td(fechatiempo_h_desde_mysql_datetime($f['fecha'])) . ui_td($f['asunto'])); echo '<tr><td colspan="3">' . $f['mensaje'] . '</td></tr>'; switch ($opciones['vista']) { case 'nuevos': echo '<tr><td colspan="3"><a href="./perfil?op=mp&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a> / <a href="./perfil?op=mp&ae=leido&id_msj=' . $f['id'] . '">marcar como leído</a></td></tr>'; break; case 'leidos': echo '<tr><td colspan="3"><a href="./perfil?op=mpl&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a></td></tr>'; break; case 'enviados': echo '<tr><td colspan="3"><a href="./perfil?op=mpe&ae=eliminar2&id_msj=' . $f['id'] . '">eliminar</a></td></tr>'; break; } echo '<tr><td colspan="3"><hr /></td></tr>'; } echo '</table>'; } else { echo Mensaje('no tienes mensajes privados', _M_INFO); } return; } }