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