Exemple #1
0
function DATA_visita()
{
    switch (_F_usuario_cache('nivel')) {
        case _N_usuario:
            echo "<div>";
            echo ui_barra_lateral("Visitas solicitadas por '" . _F_usuario_cache('nombre') . "'", "12", "Porcentaje de cumplimiento en la puntualidad de visitas", "95%", "Nota promedio otorgada por los clientes a Iprint en " . ucfirst(strftime('%B', strtotime("-1 month"))), "9.5");
            echo "<div style='position:absolute;left:200px;width:70%'>";
            echo "<div style='float:left'>";
            echo "<b>Seleccione el día " . "<div style='margin-top:10px;' class='date-pick'></div><br />" . "</b><br />";
            echo "</div>";
            echo "<div style='float:right'>";
            echo "<div id='resultados'>";
            echo "</div>";
            //Resultados
            echo "</div>";
            echo "<div style='clear:both'></div>";
            echo "<hr />";
            echo "<b>Para solicitar un visita</b>\n    <ol>\n    <li>Seleccione en el calendario el día que desee ser visitado.</li>\n    <li>Se mostrará una tabla de horarios de visitas disponibles para el día seleccionado.</li>\n    <li>Proceda a reservar su cita realizando clic sobre el enlace <b>Disponible</b> adecuado.</li>\n    <li>Se confirmará la selección y se le mostrará un código validación de reservación de cita, este es el único código con el cúal Ud. podrá cancelar o modificar esta cita, y esto deberá realizarse vía telefónica.</li>\n    </ol>";
            echo "</div>";
            echo "</div>";
            echo JS_onload(ui_js_ini_datepicker("+0", "+30", ', onSelect: function(dateText) { $("#resultados").load("data/visita+ajax.php",{fecha:dateText}); }') . '$.jGrowl("Si necesita una visita con menos de dos horas de anticipación, por favor hable a nuestras oficinas al número: XXXXXX", {theme: "aviso",life:5000});');
            break;
        case _N_administrador:
            echo "<div style='position:relative;width:95%;margin-left:auto;margin-right:auto'>";
            echo "Limitar vista a visitas con estado: " . ui_combobox('cmbFiltrarEstado', '<option value="">Cualquiera</option>' . ui_combobox_o_const_visitas(), "", "", "width:auto") . " entre hoy " . ui_input("txtDesde", "+0", "", "", "width:4em") . "días, hasta " . ui_input("txtHasta", "+10", "", "", "width:4em") . "días " . ui_input("cmdFiltrar", "Filtrar", "button");
            echo "<br /><br />";
            echo '<div id="tabla_visitas">Cargando datos...</div>';
            echo JS_onload('
    $("#tabla_visitas").load("data/visita+ajax.php?tabla=visitas&f_estado=1&f_desde=0&f_hasta=30");
    $("#cmdFiltrar").click(function(){$("#tabla_visitas").load("data/visita+ajax.php?tabla=orden&f_estado="+$("#cmbFiltrarEstado").val()+"&f_desde="+escape($("#txtDesde").val())+"&f_hasta="+escape($("#txtHasta").val()));});
    ');
            echo "</div>";
            break;
    }
}
Exemple #2
0
function aplicacion_ingresar_nota($ID_aplicacion, $nota, $tipo_nota, $notificar = true)
{
    db_agregar_datos(db_prefijo . 'historial', array('tipo' => $tipo_nota, 'fecha' => mysql_datetime(), 'cambio' => $nota, 'ID_aplicacion' => $ID_aplicacion, 'ID_usuario' => _F_usuario_cache('ID_usuario')));
    if ($notificar) {
        $cNotificaciones = sprintf('SELECT DISTINCT correo FROM ' . db_prefijo . 'historial AS h LEFT JOIN ' . db_prefijo . 'usuarios AS u USING(ID_usuario) WHERE h.ID_usuario<>' . _F_usuario_cache('ID_usuario') . ' AND nivel="' . _N_agente_us . '" AND h.ID_aplicacion=' . $ID_aplicacion);
        $rNotificaciones = db_consultar($cNotificaciones);
        $mensaje = '
        <p><b>' . _F_usuario_cache('nombre') . '</b> ha ingresado una nueva nota en una aplicación:</p>
        <p><b>' . $nota . '</b></p>
        <p><a href="' . PROY_URL . 'aplicaciones?ver=' . $ID_aplicacion . '">Ir a la aplicación</a></p>
        <hr />
        <p>
        <small>
        Ud. ha recibido esta notificación por una de las siguientes causas:
        <ul>
        <li>Ud. es el agente que lleva el caso</li>
        <li>Ud. ha comentando en esta aplicación</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>
        ';
        while (mysql_num_rows($rNotificaciones) && ($f = mysql_fetch_assoc($rNotificaciones))) {
            correoSMTP($f['correo'], '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje);
        }
        correoSMTP('*****@*****.**', '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje);
    }
}
Exemple #3
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;
    }
}
Exemple #4
0
function db_conectar()
{
    global $db_link;
    $db_link = @mysql_connect(db__host, db__usuario, db__clave) or die("Fue imposible conectarse a la base de datos, posiblemente no ha ejecutado el instalador (instalar.php) correctamente.<br /><hr />Detalles del error:<pre>" . mysql_error() . "</pre>");
    mysql_select_db(db__db, $db_link) or die("Imposible seleccionar la base de datos: " . mysql_error());
    mysql_query("SET lc_time_names='es_ES'", $db_link);
    mysql_query("SET NAMES 'utf8'", $db_link);
    mysql_query("SET GLOBAL group_concat_max_len=4294967295", $db_link);
    if (S_iniciado() && in_array(_F_usuario_cache('nivel'), array(_N_administrador_us, _N_agente_us, _N_agente_us_solo))) {
        mysql_query('SET time_zone = "-7:00"', $db_link);
    } else {
        mysql_query('SET time_zone = "-6:00"', $db_link);
    }
}
Exemple #5
0
function protegerme($solo_salir = false, $solo_iniciado = false, $niveles = array())
{
    if (!$solo_iniciado) {
        if (_F_usuario_cache('nivel') == _N_administrador || in_array(_F_usuario_cache('nivel'), $niveles)) {
            return;
        }
    } else {
        if (S_iniciado()) {
            return;
        }
    }
    if (!$solo_salir) {
        header('Location: ' . PROY_URL . 'inicio?ref=' . curPageURL());
    }
    ob_end_clean();
    exit;
}
Exemple #6
0
function DATA__identificado()
{
    switch (_F_usuario_cache('nivel')) {
        case _N_usuario:
            echo ui_barra_lateral("Ahorro acumulado", "\$2,000.00", "Metros cuadrados impresos", "700.00", "Dias transcurridos del contrato / restantes", "10 / 365");
            echo "<div style='position:absolute;left:200px;width:70%'>";
            echo "\n    <table class='limpia' style='width:auto'>\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Nuevo.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=orden' >Nueva orden</a><br>\n        Use esta opción si desea solicitar una nueva orden impresión.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Historial.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=historial' >Ver historial de ordenes</a><br>\n        Muestra las ordenes de impresión solicitadas y su estado actual.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Visita.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=visita' >Solicitar visita</a><br>\n        Le permite solicitar una cita para ser visitado por el personal altamente capacitado de I·Print.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Reportes.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=reporte' >Reportes</a><br>\n        Genera reportes específicos de sus citas e impresiones realizadas.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Salir.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=salir'>Salir</a><br>\n        Utilizela para terminar su uso del sistema, esto evita el posible uso indebido de su cuenta por terceros.\n        </td>\n    </tr>\n    </table>\n      ";
            echo "</div>";
            break;
        case _N_administrador:
            echo "<div style='position:relative;width:95%;margin-left:auto;margin-right:auto;'>";
            echo "\n    <table class='limpia' style='width:auto'>\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Usuario.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=clientes' >Clientes</a><br>\n        Agregar datos de acceso al sistema para un nuevo cliente o verificar los actuales.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Material.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=materiales' >Materiales</a><br>\n        Agregar, quitar o modificar la lista de materiales a ofrecer.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Nuevo.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=orden' >Revisar ordenes</a><br>\n        Use esta opción si desea revisar las ordenes pendientes.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Historial.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=historial' >Ver historial de ordenes</a><br>\n        Muestra las ordenes de impresión solicitadas y su estado actual.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Visita.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=visita' >Revisar visitas</a><br>\n        Le permite ver las visitas pendientes y administrarlas.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Reportes.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=reporte' >Reportes</a><br>\n        Genera reportes específicos de las visitas e impresiones realizadas.\n        </td>\n    </tr>\n\n    <tr>\n        <td align='center'ui_input valign='top' width='48'><img src='img/Telefono.png' border='0' /></td>\n        <td valign='top'ui_input >\n        <a href='./?accion=notificaciones' >Números y emails</a><br>\n        Lista de números celulares y correos electrónicos a los cúales serán enviados los avisos.\n        </td>\n    </tr>\n      ";
            echo "<b>¡Atención!</b> el servidor esta configurado para aceptar un tamaño máximo para carga de archivos igual a <b>" . ini_get('upload_max_filesize') . "</b>";
            echo "</div>";
            break;
    }
}
Exemple #7
0
function ui_publicacion_barra_acciones($tipo, $publicacion)
{
    if (_F_usuario_cache('nivel') != _N_administrador) {
        return false;
    }
    $buffer = '';
    $enlaces[] = ui_href("", 'admin_publicaciones_admin?operacion=promocionar&id_publicacion=' . $publicacion['id_publicacion'] . '&id_usuario=' . $publicacion['id_usuario'], $publicacion['promocionado'] ? "DESPROMOCIONAR" : "PROMOCIONAR");
    $enlaces[] = ui_href("", 'vender?ticket=' . $publicacion['id_publicacion'], "EDITAR");
    $enlaces[] = ui_href("", 'admin_publicaciones_activacion?operacion=rechazar&id_publicacion=' . $publicacion['id_publicacion'] . '&id_usuario=' . $publicacion['id_usuario'], "ELIMINAR");
    $enlaces[] = ui_href("", 'admin_publicaciones_activacion?operacion=aprobar&id_publicacion=' . $publicacion['id_publicacion'] . '&id_usuario=' . $publicacion['id_usuario'], @$publicacion['tipo'] == _A_aceptado ? "DESAPROBAR" : "APROBAR");
    switch ($tipo) {
        case "contenido":
            $buffer = '<p class="adm">[' . join('] / [', $enlaces) . ']</p>';
            break;
        case "admin":
        default:
            $buffer = '<tr><td colspan="2" class="adm">[' . join('] / [', $enlaces) . ']</td></tr>';
    }
    return $buffer;
}
Exemple #8
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;
    }
}
Exemple #9
0
        $nPaso = "8: Información";
        $InfoPaso = "Ingrese cualquier nota que desee que tomemos en cuenta al momento de procesar esta orden";
        $Datos = "Notas y observaciones:<br />" . ui_textarea('txtNotas', _F_orden_cache('txtNotas'), '', 'width:99%');
        $InfoExtra = "Tip: Las sugerencias generales puede hacerlas utilizando el botón 'Comentarios' en el menú superior";
        $Recoger = 'txtNotas: $("#txtNotas").val()';
        $Script = '$("#cmdSiguiente").attr("value", "Imprimir");';
        break;
    case 9:
        $_SESSION['orden']['datos']['txtFechaorden'] = mysql_date('now');
        $id_orden = db_agregar_datos('ahm_ordenes', $_SESSION['orden']['datos']);
        $nPaso = "9. Confirmación";
        $InfoPaso = "Se ha completado con exito el asistente de solicitud de impresión.";
        $Datos = "Su número de comprobante de impresión es <b>" . $id_orden . "+" . $_SESSION['orden']['datos']['validacion'] . "</b>. Este número a sido registrado en el sistema y puede ser consultado en cualquier momento. Ud. necesitará este número para realizar cualquier consulta vía telefónica sobre el estado de esta impresión.<br /><br />Datos de la orden:<br /><br />" . dumpOrden($_SESSION['orden']['datos']);
        $InfoExtra = "La orden ha sido enviada y <b>no</b> puede modificarla.<br />Si desea intentar cancelarla puede comunicarse (lo antes posible) de forma telefonica con I·Print, se le solicitará el código de la orden de impresión.";
        $Script = '$("#cmdAnterior").hide();$("#cmdSiguiente").attr("value", "Nueva orden");$("#cmdAbortar").attr("value", "Salir");';
        despachar_notificaciones('El usuario ' . _F_usuario_cache('nombre') . ' ha solicitado un impresion para el ' . _F_orden_cache('txtFechaEntrega'));
        break;
    case 10:
        $nPaso = "Creando nueva orden...";
        $InfoPaso = "Por favor espere...";
        $Datos = "";
        $InfoExtra = "";
        $Script = "window.location='./?accion=orden'";
        break;
}
retornarAjax(orden_ajax_compuesto($nPaso, $InfoPaso, $InfoPaso2, $Datos, $InfoExtra, $Recoger, $Script));
function orden_ajax_compuesto($nPaso, $InfoPaso, $InfoPaso2, $Datos, $InfoExtra, $Recoger, $Script)
{
    global $NombreCampo;
    return JS_onload('
    $("#lblPasoActual").html("Paso ' . addslashes($nPaso) . '");
Exemple #10
0
    <p class="medio-oculto">
    Visítanos en
    Residencial Cumbres de la Esmeralda, calle Teotl, #20.<br />
    Misma calle de la entrada principal U. Albert Einstein.
    </p>
    ';
} else {
    $bInfoCompra = '<h2>Producto descontinuado</h2>';
    $bInfoCompra .= '<p>La elaboracion de este producto ha sido descontinuada.</p>';
    $bInfoCompra .= '<p>Una causa usual es una imposibilidad reciente de conseguir alguna materia prima necesaria para su elaboracion.</p>';
}
echo $bInfoCompra;
echo '</td></tr></table>';
echo '<h2>Productos similares</h2>';
echo $bProducto_similar;
if (_F_usuario_cache('nivel') != _N_administrador && !db_contar(db_prefijo . 'visita', 'ip=INET_ATON("' . $_SERVER['REMOTE_ADDR'] . '") AND session_id="' . session_id() . '" AND codigo_producto=' . $contenedor['codigo_producto'] . ' AND (DATE_SUB(NOW(),INTERVAL 1 HOUR) < `fecha`)')) {
    $c = sprintf('INSERT INTO %s (ip,session_id,codigo_producto,fecha,referencia) VALUES (INET_ATON("%s"),"%s","%s",NOW(),"%s")', db_prefijo . 'visita', $_SERVER['REMOTE_ADDR'], session_id(), $contenedor['codigo_producto'], db_codex(@$_SERVER['HTTP_REFERER']));
    db_consultar($c);
}
echo JS_onload('
    $(".variedad").click(function(){$("#imagen_contenedor").attr("src",$(this).attr("rel"));});
    ');
function PROCESAR_CONTENEDOR()
{
    if (isset($_POST['btn_agregar_variedad']) || isset($_POST['btn_editar_variedad']) || isset($_POST['btn_eliminar_variedad']) || isset($_POST['referencia']) && $_POST['referencia'] == 'variedades') {
        return;
    }
    // Si no hay ninguna referencia ó la referencia es explicitamente nuestra
    if (!isset($_POST['referencia']) || $_POST['referencia'] == 'contenedor') {
        global $db_link, $contenedor;
        $_POST['PME_sys_sfn[0]'] = '0';
Exemple #11
0
if (isset($_GET['p']) && empty($_GET['r'])) {
    $WHERE = 'ID_prospecto="' . db_codex($_GET['p']) . '"';
}
$c = 'SELECT `ID_prospecto`, `situacion`, IF(`ultima_presentacion`,`ultima_presentacion`,"Nunca") AS "ultima_presentacion", `intentos`, `apellido`, `nombre`, `direccion1`, `direccion2`, `ciudad`, `estado`, `zip`, `telefono`, `especial2`, `especial3`, `especial5`, `especial6`, `especial7`, `interes`, `tipo` FROM `' . db_prefijo . 'prospectos` WHERE ' . $WHERE;
$r = db_consultar($c);
if (!mysql_num_rows($r)) {
    echo '<p>No hay prospectos disponibles en este momento.</p>';
    return;
}
$f = mysql_fetch_assoc($r);
// Configuracion de _prospecto_encuesta
$ID_prospecto = $f['ID_prospecto'];
// Tocar para que no le salga a nadie mas por este dia
db_actualizar_datos(db_prefijo . 'prospectos', array('ultima_presentacion' => mysql_date()), 'ID_prospecto=' . $f['ID_prospecto']);
// Obtengamos los recordatorios de esta hora...
$c = 'SELECT `ID_recordatorio`, `ID_usuario`, `ID_prospecto`, `fecha`, `nota`, `nombre`, `apellido` FROM `' . db_prefijo . 'recordatorio` LEFT JOIN `' . db_prefijo . 'prospectos` USING(ID_prospecto) WHERE ID_usuario=' . _F_usuario_cache('ID_usuario') . ' AND ( `fecha` < (NOW() + INTERVAL 5 MINUTE) )';
$rr = db_consultar($c);
echo '<h2>Recordatorios programados para esta hora</h2>';
if (mysql_num_rows($rr)) {
    echo '<table class="tabla-estandar">';
    echo '<tr><th width="30%">Fecha</th><th>Prospecto</th><th width="50%">Nota</th><th>Enlace</th></tr>';
    while ($ff = mysql_fetch_assoc($rr)) {
        echo sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', $ff['fecha'], $ff['apellido'] . ' , ' . $ff['nombre'], $ff['nota'], '<a href="' . PROY_URL_ACTUAL . '?p=' . $ff['ID_prospecto'] . '&r=' . $ff['ID_recordatorio'] . '">ver</a>');
    }
    echo '</table><hr style="border:1px solid #F00;"/>';
} else {
    echo '<p>Por el momento no hay ningún recordatorio que mostrar.<br /> Todos los recordatorios pendientes se muestran 5 minutos antes de la hora programada.</p>';
}
if ($f['tipo'] == 'debt') {
    echo '<div style="text-align:center;background-color:#000;color:#F00;">ESTE PROSPECTO ES PARA DEBT SETTLEMENT</div>';
}
Exemple #12
0
function GENERAR_PIE()
{
    global $db_contador, $arrJS, $arrCSS, $arrHEAD;
    $data = '';
    $js = '';
    $data .= "<p>El uso de este Sitio Web constituye una aceptación de los Términos y Condiciones y de las Políticas de Privacidad.<br />Copyright © 2009 ENLACE WEB S.A. de C.V. Todos los derechos reservados. [{$db_contador}]</p>";
    if (S_iniciado()) {
        /// NOTIFICACION DE PUBLICACIONES PENDIENTES O USUARIOS PENDIENTES
        $mensaje = '';
        if (_F_usuario_cache('nivel') == _N_administrador) {
            $PPA = db_contar("ventas_publicaciones", "tipo='" . _A_esp_activacion . "'");
            $UPA = db_contar("ventas_usuarios", "estado='" . _N_esp_activacion . "'");
            if ($PPA || $UPA) {
                $mensaje .= "{$PPA} publicaciones por aprobar (" . ui_href("", "admin_publicaciones_activacion", "ver") . ").<br />";
                $mensaje .= "{$UPA} usuarios por aprobar (" . ui_href("", "admin_usuarios_activacion", "ver") . ").<br />";
            }
        }
        $_EST_CANT_MP_NUEVOS = ObtenerEstadisticasUsuario(_F_usuario_cache('id_usuario'), _EST_CANT_MP_NUEVOS);
        if ($_EST_CANT_MP_NUEVOS > 0) {
            $mensaje .= 'Tiene ' . $_EST_CANT_MP_NUEVOS . ' nuevos Mensajes Privados sin leer. <a href="' . PROY_URL . 'perfil?op=mp">Clic aquí para leerlos</a>.';
        }
        if (!empty($mensaje)) {
            $arrCSS[] = 'CSS/jquery.jgrowl';
            $arrJS[] = 'jquery.jgrowl';
            $arrHEAD[] = JS_onload('$.jGrowl.defaults.position = "bottom-right";' . JS_growl($mensaje));
            echo '<script>', JS_growl($mensaje), '</script>';
        }
    }
    return $data;
}
Exemple #13
0
function CONTENIDO_CERRAR($publicacion)
{
    if (isset($_POST['cerrar']) && _autenticado() && _F_usuario_cache('id_usuario') == $publicacion['id_usuario']) {
        db_consultar(sprintf('UPDATE ventas_publicaciones SET tipo=%s WHERE id_publicacion=%s', _A_vendido, $publicacion['id_publicacion']));
        if (db_afectados() > 0) {
            echo '<h1>Publicación concluida</h1>';
            echo sprintf('Su publicación ha sido cerrada y marcada como "vendida". Gracias por usar %s!<br />', PROY_NOMBRE);
            echo '<h1>Opciones</h1>';
            echo ui_href('', PROY_URL, 'Retornar a la página principal');
            echo ui_href("", "vender", "Retornar a su lista de publicaciones");
        }
        return;
    }
    echo '<h1>Cerrar publicación</h1>';
    echo '<p>Presione "Cerrar" para marcar su publicación como vendida y cerrarla.<br />Tenga en cuenta que no podrá re-abrirla luego de esto, asi que procure no cerrarla antes de concluir la venta.</p>';
    echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">';
    echo '<input name="cerrar" type="submit" value="Cerrar" />';
    echo '</form>';
    echo '<h1>Opciones</h1>';
    echo ui_href("", "vender", "Cancelar y retornar a su lista de publicaciones");
}
Exemple #14
0
<?php

require_once "../lib/vital.php";
// Cambiar el nombre de un material
if (_F_usuario_cache('nivel') == _N_administrador && isset($_GET['id_material']) && isset($_GET['material'])) {
    $Id_material = mysql_real_escape_string($_GET['id_material']);
    $Material = mysql_real_escape_string($_GET['material']);
    $c = "UPDATE ahm_materiales SET material='{$Material}' WHERE id_material='{$Id_material}'";
    $resultado = db_consultar($c);
    if ($resultado) {
        echo "Nombre exitosamente cambiado a '{$Material}' para material N° {$Id_material}";
    } else {
        echo "No pudo cambiarse el nombre del material N° {$Id_material}";
    }
}
// Cambiar el estado de actividad de un material
if (_F_usuario_cache('nivel') == _N_administrador && isset($_GET['id_material']) && isset($_GET['activo'])) {
    $Id_material = mysql_real_escape_string($_GET['id_material']);
    $Activo = mysql_real_escape_string($_GET['activo']) == "true" ? "1" : "0";
    $c = "UPDATE ahm_materiales SET activo='{$Activo}' WHERE id_material='{$Id_material}'";
    $resultado = db_consultar($c);
    if ($resultado) {
        echo "Actividad exitosamente cambiada a '{$Activo}' para material N° {$Id_material}";
    } else {
        echo "No pudo cambiarse la actividad para material N° {$Id_material}";
    }
}
Exemple #15
0
}
echo '<ul id="nav" class="dropdown dropdown-horizontal">';
foreach ($menu as $clave => $componentes) {
    echo '<li class="dir"><a href="' . PROY_URL . 'categoria-superior-' . SEO($componentes[0]['menu'] . '-' . $componentes[0]['codigo_menu']) . '" title="' . $clave . '">' . $clave . '</a>';
    echo '<ul>';
    echo '<li><a href="' . PROY_URL . 'categoria-superior-' . SEO($componentes[0]['menu'] . '-' . $componentes[0]['codigo_menu']) . '">Todas</a></li>';
    foreach ($componentes as $item) {
        echo '<li><a href="' . PROY_URL . 'categoria-' . SEO($item['titulo'] . '-' . $item['codigo_categoria']) . '" title="' . $item['titulo'] . '">' . $item['titulo'] . '</a></li>';
    }
    echo '</ul></li>';
}
/************* ADMINISTRACION ***************************/
if (in_array(_F_usuario_cache('nivel'), array(_N_administrador, _N_vendedor))) {
    echo '<li class="dir lidestacado"><a href="' . PROY_URL . 'ventas?fecha_entrega=now" title="Obtener lista de compra-venta en espera">Ventas</a></li>';
}
if (_F_usuario_cache('nivel') == _N_administrador) {
    echo '<li class="dir"><a href="' . PROY_URL . '~administracion" title="administración">Admin</a>
			<ul>
                	<li><a href="' . PROY_URL . '~contenedores?agregar" title="Agregar contenedor">Nuevo contenedor</a></li>
                	<li><a href="' . PROY_URL . '~contenedores" title="Contenedores">Contenedores</a></li>
                	<li><a href="' . PROY_URL . '~variedades" title="Variedades">Variedades</a></li>
                	<li><a href="' . PROY_URL . '~accesorios" title="Accesorios">Accesorios</a></li>
                	<li><a href="' . PROY_URL . '~categorias" title="Categorias">Categorias</a></li>
                	<li><a href="' . PROY_URL . '~productos_categoria" title="Gestionar categorias de productos por contenedor">Cat. por contenedor</a></li>
                	<li><a href="' . PROY_URL . '~filtros" title="Gestionar filtros">Filtros</a></li>
                	<li><a href="' . PROY_URL . '~menu" title="Gestionar menú">Menú</a></li>
                	<li><a href="' . PROY_URL . '~usuarios" title="Gestionar artículos">Usuarios</a></li>
			<li><a href="' . PROY_URL . '~compras" title="Gestionar compras">Compras</a></li>
			<li><a href="' . PROY_URL . '~massmail" title="Envio masivo de correo">Correo masivo</a></li>
			<li><a href="' . PROY_URL . '~estadisticas" title="Estadísticas">Estadísticas</a></li>
			<li><a href="' . PROY_URL . '~administracion" title="Administracion global">Administración</a></li>
Exemple #16
0
<table class="tabla-estandar cebra">
';
if (in_array(_F_usuario_cache('nivel'), array(_N_agente_sv, _N_agente_us, _N_agente_us_solo))) {
    echo '<tr><th>Nombre de agente</th><th>Grupo</th><th>País</th><th>Cantidad</th></tr>';
} else {
    echo '<tr><th>Nombre de agente</th><th>Grupo</th><th>País</th><th>Cantidad (válidas)</th></tr>';
}
while ($f = mysql_fetch_assoc($r)) {
    if (in_array(_F_usuario_cache('nivel'), array(_N_agente_sv, _N_agente_us, _N_agente_us_solo))) {
        echo sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', $f['nombre'], $f['local'], $f['pais'], $f['cuenta']);
    } else {
        echo sprintf('<tr><td><a href="%s">%s</a></td><td>%s</td><td>%s</td><td>%s (<a href="%s">%s</a>) %s%%</td></tr>', PROY_URL . 'aplicaciones_agente_sv_' . $f['ID_agente_sv'], $f['nombre'], $f['local'], $f['pais'], $f['cuenta'], PROY_URL . 'aplicaciones_agente_sv_validas_' . $f['ID_agente_sv'], $f['cuenta_validas'], number_format($f['cuenta_validas'] / $f['cuenta'] * 100, 2));
    }
}
echo '</table>';
if (in_array(_F_usuario_cache('nivel'), array(_N_administrador_sv))) {
    /***************/
    // Estadísticas de agentes US
    $c = 'SELECT COUNT(*) AS "cuenta",(SELECT COUNT(*) FROM ufs__prospectos_aplicados AS o WHERE o.ID_agente_us=a.ID_agente_us AND aplicacion_valida<>"desconocido") AS "cuenta_validas",a.ID_agente_us, nombre, local, (SELECT nombre FROM ufs__usuarios AS st1 WHERE st1.ID_usuario = c.ID_usuario) AS "nombre_supervisor", pais FROM ufs__prospectos_aplicados AS a LEFT JOIN ufs__usuarios AS b ON a.ID_agente_us = b.ID_usuario LEFT JOIN ufs__supervisores AS c USING(ID_supervisor) WHERE b.nivel="agente_us" GROUP BY a.ID_agente_us ORDER BY COUNT(*) DESC ' . $LIMIT;
    $r = db_consultar($c);
    echo '
<h2>Aplicaciones por agente US (a nivel global)</h2>
<table class="tabla-estandar cebra">
    <tr><th>Nombre de agente</th><th>Grupo</th><th>País</th><th>Cantidad (procesadas)</th></tr>
';
    while ($f = mysql_fetch_assoc($r)) {
        echo sprintf('<tr><td><a href="%s">%s</a></td><td>%s</td><td>%s</td><td>%s (<a href="%s">%s</a>) %s%%</td></tr>', PROY_URL . 'aplicaciones_agente_us_' . $f['ID_agente_us'], $f['nombre'], $f['local'], $f['pais'], $f['cuenta'], PROY_URL . 'aplicaciones_agente_us_validas_' . $f['ID_agente_us'], $f['cuenta_validas'], number_format($f['cuenta_validas'] / $f['cuenta'] * 100, 2));
    }
    echo '</table>';
    /***************/
}
Exemple #17
0
function enviar_lote($r)
{
    $buffer = '';
    $i = 0;
    while ($f = mysql_fetch_assoc($r)) {
        $i++;
        $buffer .= '<hr />#' . $i . '<br />' . enviar_prospecto($f['ID_aplicacion'], $f['ID_prospecto'], true);
    }
    correoSMTP(_F_usuario_cache('correo'), 'Aplicaciones en lote', $buffer);
    echo '<div>Lote enviado a ' . _F_usuario_cache('correo') . ' - ' . strlen($buffer) . ' Bytes</div>';
    mysql_data_seek($r, 0);
}
Exemple #18
0
<?php

$menu = '';
//print_ar($_SESSION);
// Solo mostramos el menú si el usuario esta autenticado
if (isset($_SESSION['autenticado'])) {
    //Iniciamos el menú.
    $menu .= '<div class="chromestyle" id="chromemenu"><ul>';
    // Mostramos el menú de acuerdo con el nivel de acceso del usuario
    switch (_F_usuario_cache('nivel')) {
        //Nivel Administrador
        case _N_administrador:
            $menu .= '<li><a href="./"><img src="img/b_inicio.png" alt="Inicio" /></a></li>';
            $menu .= '<li><a href="./?accion=orden&amp;sub=revisar"><img src="img/b_orden_admin.png" alt="Nueva orden" /></a></li>';
            $menu .= '<li><a href="./?accion=historial"><img src="img/b_historial.png" alt="Ver historial de ordenes" /></a></li>';
            $menu .= '<li><a href="./?accion=visita"><img src="img/b_visita_admin.png" alt="Ver visitas" /></a></li>';
            $menu .= '<li><a href="./?accion=reportes"><img src="img/b_reportes.png" alt="Reportes" /></a></li>';
            $menu .= '<li><a href="./?accion=comentarios"><img src="img/b_comentarios.png" alt="Comentarios" /></a></li>';
            $menu .= '<li><a href="./?accion=salir"><img src="img/b_salir.png" alt="Salir" /></a></li>';
            break;
        case _N_usuario:
            $menu .= '<li><a href="./"><img src="img/b_inicio.png" alt="Inicio" /></a></li>';
            $menu .= '<li><a href="./?accion=orden&amp;sub=registrar"><img src="img/b_orden.png" alt="Nueva orden" /></a></li>';
            $menu .= '<li><a href="./?accion=historial"><img src="img/b_historial.png" alt="Ver historial de ordenes" /></a></li>';
            $menu .= '<li><a href="./?accion=visita"><img src="img/b_visita.png" alt="Solicitar visita" /></a></li>';
            $menu .= '<li><a href="./?accion=reportes"><img src="img/b_reportes.png" alt="Reportes" /></a></li>';
            $menu .= '<li><a href="./?accion=comentarios"><img src="img/b_comentarios.png" alt="Comentarios" /></a></li>';
            $menu .= '<li><a href="./?accion=salir"><img src="img/b_salir.png" alt="Salir" /></a></li>';
            break;
    }
    //Cerramos el menú.
Exemple #19
0
function CONTENIDO_PERFIL()
{
    if (isset($_GET['op'])) {
        switch ($_GET['op']) {
            case 'mp':
                CONTENIDO_MP();
                break;
            case 'mpl':
                CONTENIDO_MP(array('vista' => 'leidos'));
                break;
            case 'mpe':
                CONTENIDO_MP(array('vista' => 'enviados'));
                break;
        }
        return;
    }
    if (empty($_GET['id']) && !_autenticado()) {
        // Un invitado quizo ver su propio perfil...
        if (!S_iniciado()) {
            echo "Necesitas iniciar sesión para poder <b>ver tu perfil</b><br />";
            require_once "PHP/inicio.php";
            CONTENIDO_INICIAR_SESION();
            return;
        }
    }
    $usuario = empty($_GET['id']) && _autenticado() ? $_SESSION['cache_datos_usuario'] : _F_usuario_datos($_GET['id']);
    if (!is_array($usuario)) {
        echo Mensaje("Lo sentimos, al parecer este usuario ya no forma parte de este sitio", _M_ERROR);
        return;
    }
    echo "<h1>Perfíl</h1>";
    echo "<p><b>Nombre de usuario:</b> " . @$usuario['usuario'] . "</p>";
    echo _F_usuario_cache('id_usuario') != $usuario['id_usuario'] ? "<p><b>Contacto:</b> " . ui_href("", PROY_URL . "perfil?id=" . $usuario['id_usuario'] . "&amp;op=mp", "Mensaje Privado") : "" . "</p>";
    echo "<p><b>Registrado desde:</b> " . fechatiempo_desde_mysql_datetime(@$usuario['registro']) . "</p>";
    echo "<p><b>Ultima actividad:</b> " . fechatiempo_desde_mysql_datetime(@$usuario['ultimo_acceso']) . "</p>";
    $usuario['cantidad_publicaciones'] = ObtenerEstadisticasUsuario(@$usuario['id_usuario'], _EST_CANT_PUB_ACEPT);
    echo "<p><b>Cantidad de publicaciones:</b> " . $usuario['cantidad_publicaciones'] . "</p>";
    // Mostrar las tiendas - si tiene
    if ($usuario['tienda']) {
        $c = sprintf("SELECT tiendaURL, tiendaTitulo FROM ventas_tienda WHERE id_usuario='%s'", $usuario['id_usuario']);
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo '<h2>Tiendas</h2>';
            while ($f = mysql_fetch_assoc($r)) {
                echo ui_href("", "./+" . $f['tiendaURL'], $f['tiendaTitulo']);
            }
        }
    }
    // Si el que esta viendo su propio perfil, mostrale sus mensajes del sistema
    if (_F_usuario_cache('id_usuario') == $usuario['id_usuario']) {
        // Link a edición de perfil
        echo '<p><a href="http://yomachete.com/perfil?op=editar">Editar perfil</a></p>';
        // Link a sus mensajes privados
        echo '<p><a href="http://yomachete.com/perfil?op=mp">Ver mensajes privados</a></p>';
        $c = "SELECT id_usuario_rmt, fecha, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a WHERE contexto=" . _MC_broadcast . " AND id IN (SELECT id_msj FROM ventas_mensajes_dst WHERE id_usuario_dst='" . _F_usuario_cache('id_usuario') . "') ORDER BY fecha DESC";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo '<h1>Mensajes del sistema</h1>';
            echo '<table class="ancha resultados">';
            while ($f = mysql_fetch_array($r)) {
                echo ui_tr(ui_th('Nombre Remitente') . ui_th('Fecha') . ui_th('Asunto'));
                echo ui_tr(ui_td($f['nombre_rmt']) . ui_td(fechatiempo_h_desde_mysql_datetime($f['fecha'])) . ui_td($f['asunto']));
                echo '<tr><td colspan="3">' . $f['mensaje'] . '</td></tr>';
            }
            echo '</table>';
        }
    }
}
Exemple #20
0
function DATA_orden($sub)
{
    switch (_F_usuario_cache('nivel')) {
        case _N_usuario:
            ui_barra_lateral("Material con mayor demanda en Iprint", "Vinyl blackout", "Promedio real de tiempo de entrega de ordenes", "20 Horas", "Material más impreso por '" . _F_usuario_cache('nombre') . "'", "lona banner");
            echo "<div id='bloque_resumen' style='position:absolute;display:block;right:10px;width:165px;height:auto;border:2px dotted #000;padding:5px'>";
            echo "<h1>Resumen</h1>";
            echo "<span id='lblpaso1' style='text-decoration:underline'>1. Material</span><br/>";
            echo "<span id='lblIpaso1' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso2' style='text-decoration:underline'>2. Copias</span><br/>";
            echo "<span id='lblIpaso2' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso3' style='text-decoration:underline'>3. Dimensiones</span><br/>";
            echo "<span id='lblIpaso3' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso4' style='text-decoration:underline'>4. Escala real</span><br/>";
            echo "<span id='lblIpaso4' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso5' style='text-decoration:underline'>5. Entrega</span><br/>";
            echo "<span id='lblIpaso5' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso6' style='text-decoration:underline'>6. Costo</span><br/>";
            echo "<span id='lblIpaso6' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso7' style='text-decoration:underline'>7. Archivo</span><br/>";
            echo "<span id='lblIpaso7' style='padding-left:5px'></span><br/>";
            echo "<span id='lblpaso8' style='text-decoration:underline'>8. Información</span><br/>";
            echo "<span id='lblIpaso8' style='display:none;padding-left:5px'></span><br/>";
            echo "<span id='lblpaso9' style='text-decoration:underline'>9. Comprobante</span><br/>";
            echo "<span id='lblIpaso9' style='display:none;padding-left:5px'></span><br/>";
            echo "</div>";
            echo "<div style='position:absolute;left:185px;width:60%'>";
            // Si ya hay una orden activa, entonces ofrecerle al usuario esperar o cancelar la activa.
            unset($_SESSION['orden']);
            if (isset($_SESSION['orden']['activa'])) {
                echo "Ud. tiene una orden sin completar, posiblemente en otra ventana de su navegador o también ha podido suceder que no completo la orden anterior.<br /> Si Ud. tiene otra orden activa, por favor completala antes de iniciar una nueva. Si no concluyó la orden anterior, entonces por favor presione 'Continuar' para retomarla, o 'Cancelar' para descartarla.";
                return;
            }
            $c = "SELECT max(id_orden_indv) 'norden' FROM ahm_ordenes WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "'";
            depurar($c, 0);
            $resultado = db_consultar($c);
            $_SESSION['orden']['datos']['id_orden_indv'] = (int) db_resultado($resultado, 'norden') + 1;
            echo '<div id="lblPasoActual" class="cuadrito_gris" style="float:left;"></div>';
            echo '<div class="cuadrito_gris" style="float:right;">' . strftime('%A %d de %B de %Y', time()) . '</div>';
            echo '<div class="cuadrito_gris" style="float:right;margin-right:10px">Orden N° ' . $_SESSION['orden']['datos']['id_orden_indv'] . '</div>';
            echo '<br /><br /><br />';
            echo '<b>·<span id="lblInformacionPaso"></span></b><br /><br />';
            echo '<span id="Datos"></span><br /><br /><hr />';
            echo '<span id="lblInformacionPasoExt" ></span>';
            echo '<hr />';
            echo "<div style='bottom:10px;text-align:center'>";
            echo ui_input("cmdAnterior", "Anterior", "button") . ui_input("cmdSiguiente", "Siguiente", "button") . ui_input("cmdAbortar", "Descartar orden y salir", "button");
            echo '</div>';
            echo '</div>';
            // 1
            echo '<span id="scripter"></span>';
            echo JS_onload('
            $("#scripter").load("data/orden+ajax.php");
            $("#cmdAbortar").click(function(){$("#scripter").load("data/orden+ajax.php?abortar=orden");window.location="./";});
            ');
            break;
        case _N_administrador:
            echo "<div style='position:relative;width:95%;margin-left:auto;margin-right:auto'>";
            echo "Limitar vista a ordenes con estado: " . ui_combobox('cmbFiltrarEstado', '<option value="">Cualquiera</option>' . ui_combobox_o_const_estados(), "", "", "width:auto") . " Con entrega entre hoy " . ui_input("txtDesde", "+0", "", "", "width:4em") . "días, hasta " . ui_input("txtHasta", "+10", "", "", "width:4em") . "días " . ui_input("cmdFiltrar", "Filtrar", "button");
            echo "<br /><br />";
            echo '<div id="tabla_ordenes">Cargando datos...</div>';
            echo JS_onload('
            $("#tabla_ordenes").load("data/orden+ajax.php?tabla=orden&f_estado=1&f_desde=0&f_hasta=30");
            $("#cmdFiltrar").click(function(){$("#tabla_ordenes").load("data/orden+ajax.php?tabla=orden&f_estado="+$("#cmbFiltrarEstado").val()+"&f_desde="+escape($("#txtDesde").val())+"&f_hasta="+escape($("#txtHasta").val()));});
            ');
            echo "</div>";
            break;
    }
}
Exemple #21
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>";
}
Exemple #22
0
function CONTENIDO_ADMIN()
{
    if (_F_usuario_cache("nivel") != _N_administrador) {
        echo Mensaje("Oops!, parece que esta intentando acceder directamente a un lugar sin los permisos adecuados.", _M_ERROR);
        // Comprobamos que ya haya ingresado al sistema
        if (!S_iniciado()) {
            echo "Necesitas iniciar sesión de Administrador para poder acceder a esta área.<br />";
            require_once "PHP/inicio.php";
            CONTENIDO_INICIAR_SESION();
            return;
        }
        return;
    }
    if (empty($_GET['op'])) {
        echo '<h1>Bienvenido a la interfaz de administración</h1>';
        echo 'Por favor seleccione el área a administrar:';
        echo '<ul>';
        echo '<li>' . ui_href('', 'admin_usuarios_activacion', 'Usuarios: activación de cuentas') . '</li>';
        echo '<li>' . ui_href('', 'admin_usuarios_admin', 'Usuarios: administración') . '</li>';
        echo '<li>' . ui_href('', 'admin_usuarios_agregar', 'Usuarios: agregar') . '</li>';
        echo '<li>' . ui_href('', 'admin_publicaciones_activacion', 'Publicaciones: aprobación') . '</li>';
        echo '<li>' . ui_href('', 'admin_tiendas', 'Tiendas: administración') . '</li>';
        echo '<li>' . ui_href('', 'admin_tienda_agregar', 'Tiendas: agregar') . '</li>';
        echo '<li>' . ui_href('', 'admin_opciones_generales', 'Opciones generales') . '</li>';
        echo '</ul>';
        return;
    }
    $op = $_GET['op'];
    switch ($op) {
        case 'usuarios_activacion':
            INTERFAZ__ACTIVACION_USUARIOS();
            break;
        case 'usuarios_agregar':
            INTERFAZ__ADMIN_USUARIOS_AGREGAR();
            break;
        case 'usuarios_admin':
            INTERFAZ__ADMIN_USUARIOS();
            break;
        case 'publicaciones_activacion':
            INTERFAZ__PUBLICACIONES_ACTIVACION();
            break;
        case 'publicaciones_admin':
            INTERFAZ__PUBLICACIONES_ADMIN();
            break;
        case 'tiendas':
            INTERFAZ__ADMIN_TIENDAS();
            break;
        case 'tienda_agregar':
            INTERFAZ__ADMIN_TIENDAS_AGREGAR();
            break;
        case 'opciones_generales':
            INTERFAZ__ADMIN_OPCIONES_GENERALES();
            break;
        default:
            echo 'ERROR: Interfaz "', $op, '" no implementada';
    }
    echo '<h2>Opciones</h2>';
    echo '<ul>';
    echo '<li><a href="admin">Retornar a opciones de administración</a></li>';
    echo '</ul>';
}
Exemple #23
0
function EnviarNota($Mensaje, $Usuario = NULL, $Tipo = _M_INFO, $Contexto = _MC_broadcast)
{
    // Solo los administradores pueden enviar mensajes a TODOS los usuarios.
    if (_F_usuario_cache('nivel') != _N_administrador && !$Usuario) {
        return 1;
    }
    // Solo los administradores pueden enviar mensajes "BroadCast"
    if (_F_usuario_cache('nivel') != _N_administrador && ($Contexto = _MC_broadcast)) {
        return 1;
    }
    $datos['id_usuario_rmt'] = _F_usuario_cache('id_usuario');
    $datos['mensaje'] = $Mensaje;
    $datos['tipo'] = $Tipo;
    $datos['contexto'] = $Contexto;
    $datos['fecha'] = mysql_datetime();
    $id_msj = db_agregar_datos("ventas_mensajes", $datos);
    unset($datos);
    $datos['id_usuario_dst'] = $Usuario;
    $datos['id_msj'] = $id_msj;
    $datos['leido'] = 0;
    $datos['eliminado'] = 0;
    $ret = db_agregar_datos("ventas_mensajes_dst", $datos);
    return true;
}
Exemple #24
0
function portada_mostrar_desactualizados()
{
    $WHERE = 'aplicacion_valida="desconocido" AND fecha_ingresada < (DATE(NOW()) - INTERVAL 2 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 2 DAY) AND nivel="' . _N_agente_us . '" )';
    switch (_F_usuario_cache('nivel')) {
        case _N_administrador_sv:
            $WHERE .= sprintf(' AND ID_agente_sv<>0');
            break;
        case _N_agente_sv:
            $WHERE .= sprintf(' AND ID_agente_sv="%s"', _F_usuario_cache('ID_usuario'));
            break;
        case _N_agente_us:
            $WHERE .= sprintf(' AND ID_agente_us="%s"', _F_usuario_cache('ID_usuario'));
            break;
        case _N_agente_us_solo:
            $WHERE .= sprintf(' AND ID_agente_us="%s"', _F_usuario_cache('ID_usuario'));
            break;
    }
    $c = 'SELECT @fecha := DATE_FORMAT((SELECT MAX(fecha) FROM  ' . db_prefijo . 'historial AS h WHERE h.ID_aplicacion=pa.ID_aplicacion AND h.ID_usuario=pa.ID_agente_us),"%e-%b-%Y / %r"), IF(@fecha,@fecha,"<span style=\\"color:#F00;font-weight:bolder;\\">Nunca ha comentado en esta aplicación</span>") AS fecha_ultima_actualizacion, `ID_prospecto`, `apellido`, `nombre`,  pa.`ID_aplicacion`, `ID_agente_sv`, `ID_agente_us`, DATE_FORMAT(`fecha_ingresada`,"%e-%b-%Y / %r") AS "fecha_ingresada_formato" FROM ' . db_prefijo . 'prospectos_aplicados AS pa LEFT JOIN ' . db_prefijo . 'prospectos AS p USING (ID_prospecto) WHERE ' . $WHERE . ' ORDER BY `fecha_ingresada` ASC';
    $r = db_consultar($c);
    echo '<div class="subtitulo">Listado de aplicaciones que necesitan atención</div>';
    if (!mysql_num_rows($r)) {
        echo '<p>¡Felicidades!, ¡todas sus aplicaciones estan actualizadas!</p>';
        return;
    } else {
        echo '<p>Hay <b>' . mysql_num_rows($r) . '</b> aplicaciones que no han sido marcadas como válidas o inválidas; y que no han sido actualizadas por el agente US que lleva el caso en los últimos 2 días</p>';
    }
    echo '<table class="tabla-estandar cebra">';
    echo '<tr><th>Fecha de ingreso</th><th>Fecha última actualización por agente US</th><th>Prospecto</th><th>Acción</th></tr>';
    while ($f = mysql_fetch_assoc($r)) {
        echo sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', $f['fecha_ingresada_formato'], $f['fecha_ultima_actualizacion'], $f['apellido'] . ', ' . $f['nombre'], '<a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '">Ver aplicación</a>');
    }
    echo '</table>';
}
Exemple #25
0
<?php

require_once "../lib/vital.php";
if (!isset($_POST['opcion'])) {
    return;
}
$andUsuario = _F_usuario_cache('nivel') == _N_administrador ? "" : "AND id_usuario='" . _F_usuario_cache('id_usuario') . "'";
$c = $resultado = "";
switch ($_POST['opcion']) {
    case 'todo':
        $onClick = "onclick=\\'\$(\"#resultado_historial\").load(\"data/historial+ajax.php\",{opcion:\"anio\",anio:\"', YEAR(txtFechaEntrega), '\"})\\'";
        $c = "SELECT DISTINCT CONCAT('<a {$onClick}>',YEAR(txtFechaEntrega), '</a>') AS 'Año', CONCAT('\$', SUM(lblCosto)) AS 'Precio costo del año', CONCAT('\$', SUM(lblCosto) * 0.10)  AS 'Ahorro del año' FROM ahm_ordenes AS a WHERE 1 {$andUsuario} GROUP BY YEAR(txtFechaEntrega)";
        break;
    case 'anio':
        if (!isset($_POST['anio'])) {
            return;
        }
        $andAnio = $_POST['anio'] ? "AND YEAR(txtFechaEntrega)='" . db_codex($_POST['anio']) . "'" : "";
        $onClick = "onclick=\\'\$(\"#resultado_historial\").load(\"data/historial+ajax.php\",{opcion:\"mes\",anio:\"', YEAR(txtFechaEntrega), '\",mes:\"', MONTH(txtFechaEntrega), '\"})\\'";
        $c = "SELECT DISTINCT YEAR(txtFechaEntrega) AS 'Año', CONCAT('<a {$onClick}>',MONTHNAME(txtFechaEntrega),'</a>') AS 'Mes', CONCAT('\$', SUM(lblCosto)) AS 'Precio costo del mes', CONCAT('\$', SUM(lblCosto) * 0.10)  AS 'Ahorro del mes' FROM ahm_ordenes AS a WHERE 1 {$andAnio} {$andUsuario} GROUP BY MONTH(txtFechaEntrega)";
        break;
    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':
Exemple #26
0
        return;
    }
    echo "<b>Cupos disponibles</b><br />";
    echo "<table >";
    echo "<tr><th>Hora</th><th>Estado</th></tr>";
    for ($i = 510; $i <= 1050; $i += 60) {
        echo "<tr><td><b>" . date("h:ia", mktime(0, $i)) . "</b></td><td><a onclick='\$(\"#resultados\").load(\"data/visita+ajax.php\", { fecha: \"{$Fecha}\", hora: \"" . date("h:ia", mktime(0, $i)) . "\"});'>Reservar</a></td></tr>";
    }
    echo "</table>";
    return;
}
// =====================================================================
// =====================================================================
//  Tabla de visita solicitadas - administrador
// _____________________________________________________________________
if (_F_usuario_cache('nivel') == _N_administrador && isset($_GET['tabla']) && isset($_GET['f_estado']) && isset($_GET['f_desde']) && isset($_GET['f_hasta'])) {
    $EstadoOrden = mysql_real_escape_string($_GET['f_estado']);
    $_GET['f_desde'] = trim($_GET['f_desde']);
    $_GET['f_hasta'] = trim($_GET['f_hasta']);
    if (ereg("^[-]{0,1}[0-9]+\$", $_GET['f_desde'])) {
        $Desde = mysql_real_escape_string(mysql_date($_GET['f_desde'] . ' day'));
    } else {
        $Desde = '';
    }
    if (ereg("^[-]{0,1}[0-9]+\$", $_GET['f_hasta'])) {
        $Hasta = mysql_real_escape_string(mysql_date($_GET['f_hasta'] . ' day'));
    } else {
        $Hasta = '';
    }
    if ($EstadoOrden) {
        $EstadoOrden = "AND estado='{$EstadoOrden}'";