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