function verPedidos() { global $database; $usuario = isset($_GET['usuario']) ? $_GET['usuario'] : ""; $WHERE = ""; $num_rows = ""; $w_usuario = $usuario ? "AND codigo='" . $usuario . "'" : ""; $w_catorcena = isset($_GET['catorcena']) ? "AND catorcena_inicio <= '" . $_GET['catorcena'] . "' AND catorcena_fin >= '" . $_GET['catorcena'] . "'" : ""; $q = "SELECT codigo_pedido, codigo, (SELECT nombre from " . TBL_USERS . " AS b WHERE a.codigo = b.codigo) as nombre, catorcena_inicio, catorcena_fin, foto_pantalla, costo , descripcion FROM " . TBL_MUPI_ORDERS . " AS a WHERE 1 {$w_usuario} {$w_catorcena} ORDER BY codigo_pedido;"; DEPURAR($q, 0); $result = $database->query($q); if (!$result) { echo "Error mostrando la información"; return; } $num_rows = mysql_numrows($result); if ($num_rows == 0) { echo Mensaje("¡No hay Pedidos " . _NOMBRE_ . " ingresados!", _M_NOTA); return; } echo '<table>'; echo "<tr><th>Código Pedido " . _NOMBRE_ . "</th><th>Nombre cliente</th><th>Intervalo de alquiler</th><th>Número de catorcenas</th><th>Arte Pantalla</th><th>Costo</th><th>Descripción</th><th>Acciones</th></tr>"; for ($i = 0; $i < $num_rows; $i++) { $codigo_pedido = mysql_result($result, $i, "codigo_pedido"); $codigo = CREAR_LINK_GET("gestionar+pedidos:" . mysql_result($result, $i, "codigo"), mysql_result($result, $i, "nombre"), "Ver los pedidos de este cliente"); $catorcena_inicio = AnularFechaNula(mysql_result($result, $i, "catorcena_inicio")); $catorcena_fin = AnularFechaNula(mysql_result($result, $i, "catorcena_fin")); $NumeroDeCatorcenas = Contar_catorcenas(mysql_result($result, $i, "catorcena_inicio"), mysql_result($result, $i, "catorcena_fin")); $foto_pantalla = mysql_result($result, $i, "foto_pantalla"); if ($foto_pantalla) { $foto_pantalla = "<span " . GenerarTooltip(CargarImagenDesdeBD(mysql_result($result, $i, "foto_pantalla"), '200px')) . " />" . $foto_pantalla . "</span>"; } $costo = "\$" . (int) mysql_result($result, $i, "costo"); $descripcion = mysql_result($result, $i, "descripcion"); $Eliminar = CREAR_LINK_GET("gestionar+pedidos&eliminar=" . mysql_result($result, $i, "codigo_pedido") . "&imagen=" . mysql_result($result, $i, "foto_pantalla"), "Eliminar", "Eliminar los datos de este pedido"); $codigo_pedido = CREAR_LINK_GET("gestionar+pedidos&pedido=" . $codigo_pedido, $codigo_pedido, "Editar los datos de este pedido"); echo "<tr><td>{$codigo_pedido}</td><td>{$codigo}</td><td>{$catorcena_inicio} al {$catorcena_fin}</td><td>{$NumeroDeCatorcenas}</td><td>{$foto_pantalla}</td><td>{$costo}</td><td>{$descripcion}</td><td>{$Eliminar}</tr>"; } echo "<tfoot>"; echo "<td colspan='7'>Total de pedidos</td><td>{$num_rows}</td>"; echo "</tfoot>"; echo "</table><br>"; }
function ADMIN_reportes() { global $database, $session; echo "<h1>Reportes</h1>"; // echo Mensaje("Esta sección se encuentra en desarrollo intensivo actualmente, gracias por la espera.", _M_INFO); // echo "<h2>Reportes rápidos</h2>"; echo "<ul>"; if ($session->isAdmin()) { echo "<li>Generar reporte de <a href='contenido/admin+reportes+dinamico.php?sub=generar&reporte=rapido_todos_los_mupis'>todos los mupis</a></li>"; } echo "<li>Generar reporte de los mupis activos en <a href='contenido/admin+reportes+dinamico.php?sub=generar&reporte=rapido_mupis_catorcena_anterior'>catorcena anterior</a>, <a href='contenido/admin+reportes+dinamico.php?sub=generar&reporte=rapido_mupis_catorcena_actual'>catorcena actual</a></li>"; if ($session->isAdmin()) { echo "<li>Generar reporte de los clientes <a href='contenido/admin+reportes+dinamico.php?sub=generar&reporte=rapido_usuarios_catorcena_anterior'>activos en la catorcena anterior</a>, <a href='contenido/admin+reportes+dinamico.php?sub=generar&reporte=rapido_usuarios_catorcena_actual'>catorcena actual</a></li>"; } echo "</ul>"; // }
function CONTENIDO_ayuda_contacto() { global $database, $session; echo '<h1>¡Comenta!</h1><hr />'; if (isset($_POST['enviar'])) { $tipo = isset($_POST['alcance']) ? 1 : 0; $q = "INSERT INTO " . TBL_COMMENTS . " (codigo, comentario, timestamp, tipo) VALUES ('" . $session->codigo . "', '" . $_POST['mensaje'] . "', " . time() . "," . $tipo . ");"; $result = $database->query($q); $from = "From: " . $session->codigo . " <" . $session->userinfo['email'] . ">"; $subject = "¡Comentario del Sistema de Horarios!"; $body = $_POST['mensaje'] . ",\n\n" . "atte. {$session->codigo}"; mail(CORREO_ADMIN, $subject, $body, $from); if ($result) { echo Mensaje("Su mensaje fue enviado exitosamente", _M_INFO); return; } else { echo Mensaje("Su mensaje no pudo ser enviado, por favor intente mas tarde", _M_ERROR); return; } } echo ' <form action="./?' . _ACC_ . "=ayuda+contacto" . '" method="post"> <table border=0> <tr> <td><textarea name="mensaje" style="width: 100%;" rows="10" cols="40"></textarea></td> </tr> <tr> <td> <input type="checkbox" name="alcance" value="publico" ' . GenerarTooltip("Al marcar esta opción, todos los demás clientes podrán ver tu comentario") . ' /> Deseo hacer este comentario público. </td> </tr> <tr> <td><input type="submit" name="enviar" value="Enviar" /></td> </tr> </table> </form> </ul> '; }
function CONTENIDO_PUBREP($publicacion) { // Comprobamos que ya haya ingresado al sistema if (!S_iniciado()) { echo "Necesitas iniciar sesión para poder <b>reportar publicaciones</b>.<br />Esto es con el fin de evitar el mal uso de esta herramienta de moderacion.<br />"; require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } if (isset($_POST['enviar'])) { if (empty($_POST['razon'])) { echo Mensaje("no se ingresó razón de reporte", _M_ERROR); } else { email_x_nivel(_N_administrador, "Reporte de publicación", sprintf("La siguiente publicación ha sido reportada:<br />\n\"%s\"<br />\nURL: %s<br />\nComentario del reportador:<br />\n%s", $publicacion['titulo'], curPageURL(true), @$_POST['razon'])); echo Mensaje("Su reporte ha sido enviado, ¡gracias!"); echo ui_href("", curPageURL(true), "Retornar a la publicación"); return; } } echo '<h1>Reporte de publicaciones</h1>'; echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">'; echo 'Razón del reporte <td class="fInput"><input name="razon" type="text" /><input name="enviar" type="submit" value="Enviar reporte" />'; echo '</form>'; echo '<h1>Opciones</h1>'; echo ui_href("", curPageURL(true), "Cancelar y retornar a la publicación"); }
function Eventos_REGISTRAR() { global $database, $form; //print_ar($_POST); //print_ar($_FILES); if (!$_FILES['foto_evento']['error']) { $Pre_Id = isset($_POST['ConservarFoto2']) ? $_POST['ConservarFoto2'] : 0; $idImg = CargarImagenEnBD("foto_evento", "EVENTOS", $Pre_Id); } else { if (isset($_POST['ConservarFoto'])) { $idImg = $_POST['ConservarFoto2']; } else { $idImg = 0; } } $q = "INSERT INTO " . TBL_EVENTS . " ( id_evento, timestamp, categoria, afectado, descripcion_evento, foto_evento ) VALUES (" . $_POST['id_evento'] . ", '" . $_POST['timestamp'] . "', '" . $_POST['tipo_evento'] . "', '" . $_POST['afectado'] . "', '" . $_POST['descripcion'] . "', '" . $idImg . "') ON DUPLICATE KEY UPDATE id_evento=VALUES(id_evento), timestamp=VALUES(timestamp), categoria=VALUES(categoria), afectado=VALUES(afectado), descripcion_evento=VALUES(descripcion_evento), foto_evento=VALUES(foto_evento);"; DEPURAR($q); //print_ar($_POST); if ($database->query($q) == 1) { echo Mensaje("Exito al registrar el evento", _M_INFO); } else { echo Mensaje("Falló el registro el evento", _M_ERROR); } }
function MOSTRAR_eventos() { global $session, $database, $inicioCatorcena; $finCatorcena = Obtener_Fecha_Tope(Fin_de_catorcena($inicioCatorcena)); echo "<hr /><h2>Eventos en esta catorcena</h2>"; $usuario = $tipo = null; if (!$session->isAdmin()) { $usuario = $session->codigo; $tipo = "AND codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_pedidos WHERE codigo='{$usuario}')"; } $q = "select id_evento, timestamp, categoria, afectado, (SELECT CONCAT((SELECT ubicacion FROM emupi_calles AS b WHERE c.codigo_calle=@codigo_calle:=b.codigo_calle), ', ', direccion ) FROM emupi_mupis as c WHERE c.id_mupi=(SELECT codigo_mupi FROM emupi_mupis_caras WHERE id_pantalla=afectado)) AS afectado_traducido, descripcion_evento, foto_evento from emupi_mupis_eventos WHERE categoria='PANTALLA' AND afectado IN (SELECT id_pantalla FROM emupi_mupis_caras WHERE catorcena>={$inicioCatorcena} AND catorcena<={$finCatorcena} {$tipo});"; $result = $database->query($q); $num_rows = mysql_numrows($result); if ($num_rows == 0) { echo Mensaje("¡No hay eventos ingresados!", _M_NOTA); } else { echo '<table>'; if ($usuario) { echo "<tr><th>Fecha y Hora</th><th>Objeto Afectado</th><th>Descripción</th><th>Foto</th></tr>"; } else { echo "<tr><th>Código Evento " . _NOMBRE_ . "</th><th>Fecha y Hora</th><th>Categoría</th><th>Objeto Afectado</th><th>Descripción</th><th>Foto</th></tr>"; } for ($i = 0; $i < $num_rows; $i++) { if (!$usuario) { $id_evento = mysql_result($result, $i, "id_evento"); } $timestamp = date('h:i:s @ d/m/Y', mysql_result($result, $i, "timestamp")); if (!$usuario) { $categoria = mysql_result($result, $i, "categoria"); } $afectado = mysql_result($result, $i, "afectado_traducido"); $descripcion_evento = mysql_result($result, $i, "descripcion_evento"); $foto_evento = mysql_result($result, $i, "foto_evento"); if ($foto_evento) { $foto_evento = CREAR_LINK_GET("ver:" . mysql_result($result, $i, "foto_evento"), "Ver foto", "Muestra la foto del evento"); } if (!$usuario) { $id_evento = CREAR_LINK_GET("gestionar+eventos&evento=" . $id_evento, $id_evento, "Editar los datos de este evento"); } if ($usuario) { echo "<tr><td>{$timestamp}</td><td>{$afectado}</td><td>{$descripcion_evento}</td><td>{$foto_evento}</td></tr>"; } else { echo "<tr><td>{$id_evento}</td><td>{$timestamp}</td><td>{$categoria}</td><td>{$afectado}</td><td>{$descripcion_evento}</td><td>{$foto_evento}</td></tr>"; } } echo "<tfoot>"; if ($usuario) { echo "<td colspan='3'>Total</td><td>{$num_rows}</td>"; } else { echo "<td colspan='5'>Total</td><td>{$num_rows}</td>"; } echo "</tfoot>"; echo "</table><br>"; } }
function CONTENIDO_usuario_ingresar() { global $session, $form; /* Ya se encuentra registrado */ if ($session->logged_in) { /* Limpiamos todo lo que podamos */ unset($_SESSION['reguname']); unset($_SESSION['regsuccess']); /* Lo mandamos a su respectiva página de inicio */ switch ($session->userlevel) { case ADMIN_LEVEL: case CLIENT_LEVEL: CONTENIDO_global_estadisticas(""); break; case SALESMAN_LEVEL: case USER_LEVEL: CONTENIDO_mupis_ubicaciones(); case DEMO_LEVEL: echo ' <p style="width:40em"> <b>Bienvenido al sistema <em>Mupiair</em> de Ecomupis</b>.<br /> El usuario y la clave de acceso que Ud. recibió le ha permitido ingresar al sistema en modo de demostración y en base a ello se le ha otorgado acceso a una parte del sistema.<br /><br /> Este sistema <em>-el cúal es una herramienta única en el país-</em> permite que los clientes puedan monitorear las 24 horas y desde cualquier lugar del mundo, la ubicación exacta de su publicidad, la cúal previamente como cliente ha contratado en nuestro medio publicitario.<br /><br /> Ud. puede visualizar las ubicaciones en las diferentes calles en las cuales ha tenido presencia su marca tanto en catorcenas anteriores como en la presente.<br /><br /> Otra característica del sistema es la capacidad de informarle inmediatamente de cualquier evento que haya ocurrido en un <b>Ecomupis</b> que contenga su publicidad, tales eventos podrían ser: destrucción total o parcial, daños por vandalismo, otros daños, etc. posteriormente y gracias a nuestro equipo de reparación 24/7, también podrá ver el momento en que se llevo a cabo su respectiva reinstalación y reparación, la cúal se realiza en periodos de <b>24 horas</b> como máximo.<br /><br /> También puede Ud. ver estadísticas de impactos publicitarios diarios, costo por impacto, etc. así como generar desde la web reportes PDF de todas sus ubicaciones, pasadas o presentes y mucho más.<br /><br /> Por todo lo anterior, le garantizamos que esta herramienta lo mantendrá al tanto de todo lo referente a sus espacios publicitarios, porque en <b>Ecomupis nos preocupamos por dar a nuestros clientes las herramientas mas sofisticadas y de fácil uso para que su experiencia con nosotros sea <em>la mejor posible</em></b>.<br/><br/> Lo invitamos a navegar en la opción <b><a href="./?accion=ver+ubicaciones">Ubicaciones</a></b>, donde podrá ver nuestras ubicaciones con fotografía actual.<br/><br /> <span style="font-size:.9em;text-decoration: overline;"><em>Sistema mupiair de Ecomupis</em></span> </p> '; break; } return; } echo '<h1>Iniciar sesión en el sistema de ' . _NOMBRE_ . '</h1><hr>'; /* Fallo en el registro */ if (isset($_SESSION['regsuccess']) && $_SESSION['regsuccess'] == false) { echo Mensaje("Datos de acceso incorrectos, por favor intente de nuevo.", _M_ERROR); } /* Empezar en limpio */ unset($_SESSION['regsuccess']); echo SCRIPT(' $("input[name=\'codigo\']").toggleVal({ populateFrom: "custom", text: "", focusClass: "hasFocus", changedClass: "isChanged" }); $("input[name=\'clave\']").toggleVal({ populateFrom: "custom", text: "", focusClass: "hasFocus", changedClass: "isChanged" }); '); ?> <form action="include/x.php" method="post"> <table class="limpia"> <tr> <td width="50%" class="texto_der">Código o nombre de usuario</td> <td><input type="text" name="codigo" style="width: 11em;" value="" /></td> </tr> <tr> <td class="texto_der">Clave (contraseña)</td> <td><input type="password" name="clave" style="width: 11em;" value="" /></td> </tr> <tr> <td class="texto_der">¿Recordar mi acceso en este equipo?</td> <td><input type="checkbox" name="remember" <?php if ($form->value("remember")) { echo "checked"; } ?> onMouseOver="toolTip('Recordar sus datos de acceso para esta maquina.<br />Se recomienda <b>no</b> utilizar en equipos compartidos.')" onMouseOut="toolTip()" /></td> </tr> </table> <center><input type="submit" name="ingresar" value="Clic aquí para ingresar al sistema Eco Mupis" /></center> <input type="hidden" name="sublogin" value="1"> </form> <hr /><?php echo "Si ha olvidado su clave por favor haga clic en el enlace: " . CREAR_LINK_GET("rpr+clave", "Recuperar clave", "Clic en este enlace para intentar recuperar su clave"); ?> </a> </ul> <?php }
function Eliminar_Referencia($id_referencia) { global $database; $q = "DELETE FROM " . TBL_REFS . " WHERE id_referencia='" . $id_referencia . "';"; $result = $database->query($q); if ($result) { echo Mensaje("Referencia eliminada", _M_INFO); } else { echo Mensaje("Rerefencia no pudo ser eliminada", _M_ERROR); } }
function Pantalla_REGISTRAR() { global $database; //print_ar($_POST); //print_ar($_FILES); if (!$_FILES['foto_real']['error']) { // Con la utilidad de "Clonar pantallas" se introdujo un gran defecto: // La modificacion de fotos es retroactiva. // Como solución temporal se evitará que reemplaze la foto actual y cree siempre un nuevo slot. //$Pre_Id = isset($_POST['ConservarPantalla2']) ? $_POST['ConservarPantalla2'] : 0; $idImg = CargarImagenEnBD("foto_real", "PANTALLAS"); } else { if (isset($_POST['ConservarPantalla'])) { $idImg = $_POST['ConservarPantalla2']; } else { $idImg = 0; } } if (isset($_POST['id_pantalla'])) { $extra1 = 'id_pantalla, '; $extra2 = "'" . $_POST['id_pantalla'] . "', "; } else { $extra1 = ''; $extra2 = ''; } if (!isset($_POST['actualizar'])) { $q = "INSERT INTO " . TBL_MUPI_FACES . " (" . $extra1 . "tipo_pantalla, codigo_mupi, codigo_pedido, foto_real, catorcena) VALUES (" . $extra2 . "'" . $_POST['tipo_pantalla'] . "', '" . $_POST['codigo_mupi'] . "', '" . $_POST['codigo_pedido'] . "', '" . $idImg . "', '" . $_POST['catorcena'] . "') ON DUPLICATE KEY UPDATE tipo_pantalla=VALUES(tipo_pantalla), codigo_mupi=VALUES(codigo_mupi), codigo_pedido=VALUES(codigo_pedido), foto_real=VALUES(foto_real);"; $database->REGISTRAR("pantallas_agregar", "Se agregó una pantalla. Código pedido: " . $_POST['codigo_pedido'] . ", Código MUPI: " . $_POST['codigo_mupi'] . ", Catorcena: " . AnularFechaNula($_POST['catorcena']), "SQL: {$q}"); } else { $q = "UPDATE " . TBL_MUPI_FACES . " SET codigo_pedido='" . $_POST['codigo_pedido'] . "',foto_real='{$idImg}' WHERE id_pantalla='" . $_POST['id_pantalla'] . "';"; $database->REGISTRAR("pantallas_actualizar", "Se actualizó una pantalla. Código pedido: " . $_POST['codigo_pedido'] . ", Código Pantalla: " . $_POST['id_pantalla'], "SQL: {$q}"); } DEPURAR($q, 0); if ($database->query($q) == 1) { echo Mensaje("Exito al registrar la pantalla", _M_INFO); } else { echo Mensaje("Falló al registrar la pantalla", _M_ERROR); } }
function Buscar($usuario, $catorcena) { global $session; $NivelesPermitidos = array(ADMIN_LEVEL, SALESMAN_LEVEL); if (!in_array($session->userlevel, $NivelesPermitidos)) { $usuario = $session->codigo; } $datos = ""; $link = @mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die('Por favor revise sus datos, puesto que se produjo el siguiente error:<br /><pre>' . mysql_error() . '</pre>'); mysql_select_db(DB_NAME, $link) or die(Mensaje('!->La base de datos seleccionada "' . $DB_base . '" no existe', _M_ERROR)); $datos .= "Catorcena mostrada: <b>" . date("d/m/Y", Obtener_catorcena_cercana($catorcena)) . " a " . date("d/m/Y", Fin_de_catorcena($catorcena)) . "</b><br />"; $q = "SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " WHERE catorcena=" . Obtener_catorcena_cercana($catorcena) . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " WHERE codigo = '" . $usuario . "');"; $result = @mysql_query($q, $link); $datos .= "Número de caras publicitarias contratadas en catorcena actual: <b>" . mysql_result($result, 0, "cuenta") . "</b><br />"; $datos .= "<ul>"; $q = "SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " WHERE tipo_pantalla='0' AND catorcena=" . Obtener_catorcena_cercana($catorcena) . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " WHERE codigo = '" . $usuario . "');"; $result = @mysql_query($q, $link); $datos .= "<li>Número de caras publicitarias vehiculares: <b>" . mysql_result($result, 0, "cuenta") . "</b></li>"; $q = "SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " WHERE tipo_pantalla='1' AND catorcena=" . Obtener_catorcena_cercana($catorcena) . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " WHERE codigo = '" . $usuario . "');"; $result = @mysql_query($q, $link); $datos .= "<li>Número de caras publicitarias peatonales: <b>" . mysql_result($result, 0, "cuenta") . "</b></li>"; $datos .= "</ul>"; $q = "SELECT SUM(catorcena_fin - catorcena_inicio) as cuenta FROM emupi_mupis_pedidos WHERE codigo='" . $usuario . "';"; $result = @mysql_query($q, $link); $datos .= "Número de catorcenas contratadas: <b>" . Contar_catorcenas(mysql_result($result, 0, "cuenta")) . "</b><br />"; $q = "SELECT SUM((SELECT impactos FROM " . TBL_STREETS . " WHERE codigo_calle = (SELECT codigo_calle FROM " . TBL_MUPI . " AS c WHERE c.id_mupi=a.codigo_mupi))) AS 'Impactos' FROM " . TBL_MUPI_FACES . " AS a WHERE catorcena=" . Obtener_catorcena_cercana($catorcena) . " AND codigo_pedido IN (SELECT codigo_pedido FROM " . TBL_MUPI_ORDERS . " WHERE codigo='" . $usuario . "')" . ";"; $result = @mysql_query($q, $link); $datos .= "Número de impactos publicitarios diarios: <b>" . (int) mysql_result($result, 0, "Impactos") . "</b><br />"; DEPURAR("OK . Básico", 0); $q = "SELECT SUM((SELECT impactos FROM " . TBL_STREETS . " WHERE codigo_calle = (SELECT codigo_calle FROM " . TBL_MUPI . " AS c WHERE c.id_mupi=a.codigo_mupi))) AS 'Impactos' FROM " . TBL_MUPI_FACES . " AS a WHERE catorcena={$catorcena} AND codigo_pedido IN (SELECT codigo_pedido FROM " . TBL_MUPI_ORDERS . " WHERE codigo='" . $usuario . "')" . ";"; $result = @mysql_query($q, $link); $num_rows = mysql_numrows($result); if (!$result || $num_rows < 0) { $datos .= Mensaje("Error mostrando la información", _M_ERROR); } if ($num_rows == 0) { $datos .= Mensaje("¡No hay pantallas registradas a su nombre en la catorcena seleccionada!", _M_ERROR); } DEPURAR("OK . Medio", 0); $Impactos = mysql_result($result, 0, "Impactos"); if (!$Impactos) { $datos .= Mensaje("¡ups!... parece que no existe referencia de número de impactos para sus calles", _M_ERROR); } else { $ImpactosCatorcena = bcmul($Impactos, "14"); DEPURAR("OK . Avanzado-0", 0); $datos .= '<b>' . $Impactos . "</b> Impactos diarios" . '<br />'; $datos .= '<b>' . $ImpactosCatorcena . "</b> Impactos en esta catorcena" . '<br />'; $q = "SELECT SUM(Impactos) AS impactos FROM (SELECT DISTINCT @calle := (SELECT codigo_calle FROM emupi_mupis AS c WHERE c.id_mupi=a.codigo_mupi) AS 'Calle', (SELECT impactos FROM emupi_calles WHERE codigo_calle = @calle) AS 'Impactos' FROM emupi_mupis_caras AS a WHERE catorcena={$catorcena} AND codigo_pedido IN (SELECT codigo_pedido FROM emupi_mupis_pedidos WHERE codigo='" . $session->codigo . "')) AS a;"; $result = @mysql_query($q, $link) or retornar('!->Ocurrió un error mientras se revisaba las estadísticas.'); if (!$result || $num_rows < 0) { $datos .= Mensaje("Error mostrando la información", _M_ERROR); } if ($num_rows == 0) { $datos .= Mensaje("¡No hay pantallas registradas a su nombre en la catorcena seleccionada!", _M_INFO); } DEPURAR("OK . Avanzado-1", 0); $personasDiaro = mysql_result($result, 0, "Impactos"); $personasCatorcena = bcmul($personasDiaro, "14"); $datos .= '<b>' . $personasDiaro . "</b> personas al menos visualizan su anuncio diariamente" . '<br />'; $datos .= '<b>' . $personasCatorcena . "</b> personas al menos visualizan su anuncio en esta catorcena" . '<br />'; $q = "select SUM(costo) AS cuenta from emupi_mupis_pedidos where codigo_pedido IN (select distinct codigo_pedido from emupi_mupis_caras where catorcena={$catorcena} and codigo_pedido IN (SELECT codigo_pedido from emupi_mupis_pedidos where codigo='" . $session->codigo . "'));"; $result = @mysql_query($q, $link); if (!$result || $num_rows < 0) { $datos .= "Error mostrando la información"; } if ($num_rows == 0) { $datos .= "¡No hay pantallas registradas a su nombre en la catorcena seleccionada!"; } $costo = @mysql_result($result, 0, "cuenta"); if ($ImpactosCatorcena) { $datos .= 'Costo por impacto: <b>$' . bcdiv($costo, $ImpactosCatorcena, 10) . '</b><br />'; $datos .= 'Número de impactos por persona: <b>' . bcdiv($Impactos, $personasDiaro, 0) . '</b><br />'; } } retornar($datos); }
function MUPI_REGISTRAR() { global $database, $form; //print_ar($_POST); //print_ar($_FILES); if (!$_FILES['foto_generica']['error']) { $Pre_Id = isset($_POST['ConservarPantalla2']) ? $_POST['ConservarPantalla2'] : 0; $idImg = CargarImagenEnBD("foto_generica", "MUPIS", $Pre_Id); } else { if (isset($_POST['ConservarPantalla'])) { $idImg = $_POST['ConservarPantalla2']; } else { $idImg = 0; } } $id_mupi = isset($_POST['id_mupi']) ? $_POST['id_mupi'] : '0'; $q = "INSERT INTO " . TBL_MUPI . " (id_mupi, codigo_mupi, direccion, foto_generica, lon, lat, codigo_calle) VALUES (" . $id_mupi . ", '" . $_POST['codigo_mupi'] . "', '" . $_POST['direccion'] . "','" . $idImg . "','" . $_POST['lon'] . "', '" . $_POST['lat'] . "', '" . $_POST['codigo_calle'] . "') ON DUPLICATE KEY UPDATE codigo_mupi=VALUES(codigo_mupi), direccion=VALUES(direccion), foto_generica=VALUES(foto_generica), lon=VALUES(lon), lat=VALUES(lat), codigo_calle=VALUES(codigo_calle);"; DEPURAR($q); if ($database->query($q) == 1) { echo Mensaje("Exito al registrar el Eco Mupi con código " . $_POST['codigo_mupi'], _M_INFO); } else { echo Mensaje("Falló al registrar el Eco Mupi con código " . $_POST['codigo_mupi'], _M_ERROR); } }
function CONTENIDO_cargar_pantallas() { global $database; // Si ya envió el archivo entonces nos detenemos a procesarlo. // El procesado del archivo seguirá el siguiente orden: // 0. Se comprobará que el archivo subido sea .zip. // 1. Se descomprimirá el archivo subido. // 2. Se tomará la 1era carpeta en el zip (solo debería de existir una). // 3. Se tomara la fecha de esa carpeta como fecha de catorcena. // 4. Si todo lo anterior es exitoso, entonces se actualizarán los campos de imagen de todas las pantallas correspondientes. // ----------------------------------------------------------------------------------------------------------------------- // Verificamos si ya puso a cargar el archivo $NombreCampo = 'ArchivoZip'; $Catorcena = ''; if (isset($_FILES[$NombreCampo])) { // Si lo puso entonces verificamos que no haya habido ningún error if (!$_FILES[$NombreCampo]['error']) { // Será ZIP ? if (strtolower(@end(explode(".", $_FILES[$NombreCampo]['name']))) == "zip") { // Si, es ZIP, entonces procedamos a descomprimirlo... echo MENSAJE("Archivo es ZIP, procediendo a descomprimir...", _M_INFO); ob_flush(); flush(); $zip = zip_open($_FILES[$NombreCampo]['tmp_name']); if ($zip) { // Creemos el directorio padre del zip. $DirectorioZip = 'zip/' . $_FILES[$NombreCampo]['name'] . '/'; //mkdir($DirectorioZip,0777,true); while ($zip_entry = zip_read($zip)) { if (substr(zip_entry_name($zip_entry), -1) == "/") { // Es directorio, crear si no existe. // if ( !is_dir($DirectorioZip.zip_entry_name($zip_entry)) ) { //mkdir($DirectorioZip.zip_entry_name($zip_entry),0777,true); $Catorcena = strtotime(basename($DirectorioZip . zip_entry_name($zip_entry))); if (!is_numeric($Catorcena)) { echo MENSAJE("Una carpeta del ZIP '" . zip_entry_name($zip_entry) . "' no tiene formato válido de catorcena", _M_ERROR); } // Si era valida la fecha de la catorcena echo MENSAJE("Se procesará la catorcena: " . basename($DirectorioZip . zip_entry_name($zip_entry)) . " [" . $Catorcena . "]", _M_INFO); ob_flush(); flush(); // } // Si no existia el directorio } else { // Si ya tenemos la catorcena a usar entonces procesar // si no es que estamos ante un archivo fuera de carpeta. if ($Catorcena) { //$fp = fopen($DirectorioZip.zip_entry_name($zip_entry), "w"); // No queremos escribirlo al disco :) if (zip_entry_open($zip, $zip_entry, "r")) { // Será JPG ? if (strtolower(@end(explode(".", zip_entry_name($zip_entry)))) == "jpg") { //********************************************************** // Metemos la imagen a la base de datos en 3 pasos // 1ro. Encontramos la cara a la que corresponde la imagen y si existe la descomprimimos y... // 2do. agregamos la imagen en la tabla de imagenes. // 3ro. Actualizamos el campo de foto_real de la cara con la nueva imagen y punto :) //__________________________________________________________ //1. $id_pantalla = pathinfo(zip_entry_name($zip_entry), PATHINFO_FILENAME); $q = "SELECT id_pantalla FROM " . TBL_MUPI_FACES . " WHERE id_pantalla='{$id_pantalla}'"; $result = $database->query($q); $num_rows = mysql_numrows($result); if ($num_rows == 1) { $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); zip_entry_close($zip_entry); //2 $ParsedIMG = mysql_real_escape_string($buf); //echo $ParsedIMG; $q = "INSERT INTO " . TBL_IMG . " (data, categoria, mime) VALUES('" . $ParsedIMG . "', 'PANTALLAS', 'image/jpeg');"; $database->query($q); $foto_real = mysql_insert_id($database->connection); //fwrite($fp,"$buf"); // No queremos escribirlo al disco :) //fclose($fp); // No queremos escribirlo al disco :) //3 $q = "UPDATE " . TBL_MUPI_FACES . " SET foto_real='{$foto_real}' WHERE id_pantalla='{$id_pantalla}'"; $database->query($q); echo MENSAJE("!Cara {$id_pantalla} actualizada!", _M_INFO); } else { echo MENSAJE("'" . zip_entry_name($zip_entry) . "' descartado por no existir en la base de datos.", _M_ERROR); } // Si habia 1 resultado //********************************************************** } else { echo MENSAJE("Un archivo del ZIP '" . zip_entry_name($zip_entry) . "' no tiene formato válido JPG", _M_ERROR); } // Si era JPG } // Si se pudo abrir } // Si era catorcena } // Si no era directorio } // Mientras habia archivos en el zip zip_close($zip); echo MENSAJE("Concluido.", _M_INFO); ob_flush(); flush(); } else { echo MENSAJE("Archivo no pudo ser descompreso, deteniendo operación", _M_ERROR); } // Si era ZIP valido } else { // No, no es ZIP, no proceder. echo MENSAJE("Lo siento, no puedo procesar el archivo cargado, la extensión no es 'zip'", _M_ERROR); } // Si era extension zip } } // Instrucciones echo ' <h1>Utilidad de cargado de fotos de pantallas</h1> <hr /> <h2>Instrucciones de uso</h2> Para un correcto cargado de pantallas, se recomienda seguir los siguientes pasos: <ol> <li>Asegurese de que todos los mupis esten creados para la catorcena a cargar, y que tengan una pantalla asignada.<br />Utilice la herramienta "<strong>Clonar anterior</strong>" si es necesario.</li> <li>Obtenga (e imprima si es posible) la lista númerica de pantallas para la catorcena deseada.<br /><a href="./?' . _ACC_ . '=listas&tipo=id_pantallas" target="_blank">Puede obtenerla haciendo clic aquí.</a></li> <li>Cree una carpeta con nombre igual a la fecha de inicio de la catorcena a la cual corresponden las fotos, formato dd-mm-yy (dia-mes-año).<br />Ej. "<strong>05-01-09</strong>" - evite añadir espacios u otros caracteres.</li> <li>Agregue (en el folder recien creado) las fotos deseadas de las pantallas, enumerandolas de acuerdo a la lista del paso #1.<br />Solo serán válidos archivos con extensión "<strong>.jpg</strong>" (notese las minúsculas).</li> <li><span style="color:#FF0000">Por favor <strong>no</strong> continúe sin corroborar los nombres de los archivos, <strong>esta operación es irreversible una vez cargados los datos.</strong></span></li> <li>Comprima el folder en formato <strong>.zip</strong><br />El nombre del archivo compreso es irrelevante, aunque se sugiere utilizar un nombre que haga referencia a la catorcena de fotos que contiene el archivo.</li> <li>Presione el botón <strong>Examinar</strong> (Choose, Browse o Búscar dependiendo de su navegador) y seleccione el archivo compreso recién creado.</li> <li>Presione el botón <strong>Cargar archivo</strong> y espere hasta que la carga este completa.</li> </ol> '; echo '<hr />'; echo '<form action="./?' . _ACC_ . '=cargar+pantallas" enctype="multipart/form-data" method="POST">'; echo '<table>'; echo '<tr><td class="limpio" width="20%">Archivo a cargar</td><td class="limpio"><input type="file" name="ArchivoZip" size="100%"></td></tr>'; echo '<tr><td class="limpio" width="20%"></td><td class="limpio"><input type="submit" value="Cargar archivo"></td></tr>'; echo '</table>'; echo '</form>'; echo Mensaje('recuerde que esta es una operación intensiva para el servidor, evite realizar la carga de imagenes en horas pico', _M_NOTA); echo Mensaje('Los archivos cargados son eliminados tras ser asignados a las pantallas, conserve una copia local de ellos si los necesita', _M_NOTA); }
function INTERFAZ__ADMIN_TIENDAS_AGREGAR() { if (isset($_POST['crear'])) { $flag_valido = true; $usuario = _F_usuario_datos($_POST['email'], 'email'); if (!is_array($usuario)) { $flag_valido = false; echo Mensaje("abortado porque el usuario no existe"); } if ($flag_valido) { $datos['id_usuario'] = $usuario['id_usuario']; $datos['tiendaURL'] = db_codex(@$_POST['url']); $datos['tiendaTitulo'] = db_codex(@$_POST['titulo']); $datos['tiendaSubtitulo'] = db_codex(@$_POST['subtitulo']); $datos['tiendaCSS'] = db_codex(@$_POST['css']); $r = db_agregar_datos('ventas_tienda', $datos); if ($r) { echo Mensaje("Agregado correctamente"); } } } ?> <form action="./admin_tienda_agregar" method="post"> <table class="semi-ancha limpio"> <tr><td class="fDer">Correo Usuario</td><td class="fInput"><input name="email" type="text" value=""/></td><tr> <tr><td class="fDer">URL</td><td class="fInput"><input name="url" type="text" value=""/></td><tr> <tr><td class="fDer">Titulo</td><td class="fInput"><input name="titulo" type="text" value=""/></td><tr> <tr><td class="fDer">Subtitulo</td><td class="fInput"><input name="subitulo" type="text" value=""/></td><tr> <tr><td class="fDer">CSS</td><td class="fInput"><textarea name="css"></textarea></td><tr> </table> <input type="submit" name="crear" value="Crear"> </form> <?php }
function CONTENIDO_REGISTRAR() { if (S_iniciado()) { header("location: ./"); return; } if (isset($_POST['registrar_proceder'])) { $flag_registroExitoso = true; if (!empty($_POST['registrar_campo_correo'])) { if (!validcorreo($_POST['registrar_campo_correo'])) { echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (_F_usuario_existe($_POST['registrar_campo_correo'], "correo")) { echo mensaje("Este correo electrónico ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['correo'] = $_POST['registrar_campo_correo']; } else { echo mensaje("Por favor ingrese su correo e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_nombre_completo'])) { $datos['nombre_completo'] = trim($_POST['registrar_campo_nombre_completo']); } else { echo mensaje("Por favor ingrese su nombre completo e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) { //Contraseñas iguales? if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) { //Tamaño adecuado? if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) { $datos['clave'] = sha1(trim($_POST['registrar_campo_clave'])); } else { echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR); $flag_registroExitoso = false; } } else { echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } } else { echo mensaje("Por favor ingrese su contraseña e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (empty($_POST['registrar_campo_telefono'])) { echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['telefono'] = $_POST['registrar_campo_telefono']; if ($flag_registroExitoso) { $datos["nivel"] = _N_usuario; $datos["ultimo_acceso"] = mysql_datetime(); $datos["registro"] = mysql_datetime(); db_agregar_datos(db_prefijo . 'usuarios', $datos); echo Mensaje('¡Su solicitud de registro ha sido procesada!.'); echo '<p>Puede probar su nueva cuenta ingresando al sistema con el formulario a continuación</p>'; // Comprobamos que no haya ingresado al sistema if (!S_iniciado()) { require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } correo($datos['correo'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario en " . PROY_NOMBRE . " ha sido exitoso<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['correo'] . "</strong><br />\nNombre completo: <strong>" . $datos['nombre_completo'] . "</strong><br />\n<br /><br />Gracias por registarse.<br />" . PROY_NOMBRE . "<br />" . PROY_URL); return; } } $HEAD_titulo = PROY_NOMBRE . ' - Registrar cuenta'; echo "<p>¡Bienvenido!, ¿desea vivir la mejor experiencia en compra de flores en El Salvador?<br />Si ya posee una cuenta puede " . ui_href("", "./iniciar", "iniciar sesión") . '</p>'; echo __PORQUE_TENER_CUENTA; echo "<form action=\"registrar\" method=\"POST\">"; echo "<table>"; echo ui_tr(ui_td("<acronym title='Ud. ingresará a nuestro sistema usando esta dirección de correo electronico. Asegurese que la dirección exista, puesto que será necesaria en caso de que desee recuperar su contraseña.'>Correo electronico (e-mail)</acronym>") . ui_td(ui_input("registrar_campo_correo", _F_form_cache("registrar_campo_correo"))) . ui_td('<span id="registrar_respuesta_correo"></span>')); echo ui_tr(ui_td("<acronym title='Este es el nombre que utilizaremos al contactarlo'>Nombre Completo</acronym>") . ui_td(ui_input("registrar_campo_nombre_completo", _F_form_cache("registrar_campo_nombre_completo"))) . ui_td('<span id="registrar_respuesta_nombre_completo"></span>')); echo ui_tr(ui_td("<acronym title='Le permitirá validar su identidad en nuestro sistema. Deberá ser mayor a 6 carácteres'>Contraseña</acronym>") . ui_td(ui_input("registrar_campo_clave", "", "password"))); echo ui_tr(ui_td("<acronym title='Por favor ingrese nuevamente su contraseña (verificación)'>Contraseña (verificación)</acronym>") . ui_td(ui_input("registrar_campo_clave_2", "", "password"))); echo ui_tr(ui_td("<acronym title='Número de contacto principal. Le llamaremos a este número si es necesario esclarecer datos sobre una venta'>Teléfono de contacto</acronym>") . ui_td(ui_input("registrar_campo_telefono", _F_form_cache("registrar_campo_telefono")))); echo "</table>"; echo ui_input("registrar_proceder", "Proceder", "submit") . "<br />"; echo "</form>"; echo "<strong>Su correo electrónico, teléfono, dirección u otros datos no serán revelados al público ni vendidos a terceras personas.</strong>"; echo JS_onload(' $("#registrar_campo_correo").blur(function(){$("#registrar_respuesta_correo").load("./registro_correo_existe:"+$("#registrar_campo_correo").val());}); '); }
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 Pedidos_REGISTRAR() { global $database, $form; //print_ar($_POST); //print_ar($_FILES); if (!$_FILES['foto_pantalla']['error']) { $Pre_Id = isset($_POST['ConservarPantalla2']) ? $_POST['ConservarPantalla2'] : 0; $idImg = CargarImagenEnBD("foto_pantalla", "PEDIDOS", $Pre_Id); } else { if (isset($_POST['ConservarPantalla'])) { $idImg = $_POST['ConservarPantalla2']; } else { $idImg = 0; } } $q = "INSERT INTO " . TBL_MUPI_ORDERS . " ( codigo_pedido, codigo, catorcena_inicio, catorcena_fin, foto_pantalla, costo, descripcion ) VALUES (" . $_POST['codigo_pedido'] . ", '" . $_POST['codigo'] . "', '" . $_POST['catorcena_inicio'] . "', '" . $_POST['catorcena_fin'] . "', '" . $idImg . "', '" . $_POST['costo'] . "', '" . $_POST['descripcion'] . "') ON DUPLICATE KEY UPDATE codigo=VALUES(codigo), catorcena_inicio=VALUES(catorcena_inicio), catorcena_fin=VALUES(catorcena_fin), foto_pantalla=VALUES(foto_pantalla), costo=VALUES(costo), descripcion=VALUES(descripcion);"; DEPURAR($q); //print_ar($_POST); if ($database->query($q) == 1) { echo Mensaje("Exito al registrar el pedido de " . $_POST['codigo'], _M_INFO); } else { echo Mensaje("Falló el registro el pedido de " . $_POST['codigo'], _M_ERROR); } }
function CONTENIDO__usuarios_resumen() { global $session, $database, $form; $html = ''; $catorcena = mysql_real_escape_string($_GET['catorcena']); $q_nPantalas = "(SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " AS c WHERE catorcena=" . $catorcena . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " AS b WHERE b.codigo = a.codigo)) AS npantallas"; $q_nPantalas_Veh = "(SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " AS c WHERE tipo_pantalla='0' AND catorcena=" . $catorcena . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " AS b WHERE b.codigo = a.codigo)) AS npantallasv"; $q_nPantalas_Pea = "(SELECT COUNT(*) as cuenta FROM " . TBL_MUPI_FACES . " AS c WHERE tipo_pantalla='1' AND catorcena=" . $catorcena . " AND codigo_pedido IN (SELECT codigo_pedido from " . TBL_MUPI_ORDERS . " AS b WHERE b.codigo = a.codigo)) AS npantallasp"; $q = "SELECT nombre, {$q_nPantalas}, {$q_nPantalas_Veh} , {$q_nPantalas_Pea} FROM " . TBL_USERS . " AS a WHERE codigo IN (SELECT codigo FROM " . TBL_MUPI_ORDERS . " WHERE codigo_pedido IN (SELECT codigo_pedido FROM " . TBL_MUPI_FACES . " WHERE catorcena='" . $catorcena . "'));"; DEPURAR($q, 0); $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if (!$result || $num_rows < 0) { $html .= "Error mostrando la información"; return; } if ($num_rows == 0) { /*Esto nunca deberia de pasar realmente...*/ $html .= Mensaje("¡No hay clientes/usuarios ingresados que coincidan con los criterios del filtro!", _M_INFO); } echo '<hr />'; echo '<table border="0">'; echo "<tr><th>Nombre</th><th>Número de pantallas</th><th>Vehiculares</th><th>Peatonales</th></tr>"; for ($i = 0; $i < $num_rows; $i++) { $nombre = mysql_result($result, $i, "nombre"); $npantallas = mysql_result($result, $i, "npantallas"); $npantallasv = mysql_result($result, $i, "npantallasv"); $npantallasp = mysql_result($result, $i, "npantallasp"); $html .= "<tr><td style='text-align:center;'>{$nombre}</td><td>{$npantallas}</td><td>{$npantallasv}</td><td>{$npantallasp}</td></tr>"; } $html .= "<tfoot>"; $html .= "<td colspan='3'>Total de registros encontrados para el filtro seleccionado</td><td>{$num_rows}</td>"; $html .= "</tfoot>"; $html .= "</table><br />"; exit($html); }
function CONTENIDO_usuario_editar($usuario) { global $database, $session; if (!$session->isAdmin()) { echo Mensaje("Acceso denegado", _M_ERROR); return; } else { if (!$usuario) { $usuario = $session->codigo; } //Verificamos que el usuario que quiere editar exista... if (!$database->codigoTaken($usuario)) { echo Mensaje("El usuario '{$usuario}' no existe", _M_INFO); return; } } /* Si esta en proceso de edición */ if (isset($_SESSION['useredit'])) { unset($_SESSION['useredit']); echo Mensaje("¡Cuenta de cliente editada exitosamente!<br />La cuenta de " . $_SESSION['user_edic'] . " ha sido exitosamente actualizada.", _M_INFO); CONTENIDO_usuario_info($_SESSION['user_edic']); return; } $_SESSION['user_edic'] = $usuario; $req_user_info = $database->getUserInfo($_SESSION['user_edic']); ?> <h1>Editar cuenta del Cliente: <?php echo $_SESSION['user_edic']; ?> </h1> <form action="./?accion=editar+usuario" enctype="multipart/form-data" method="POST"> <table border="0" cellspacing="0"> <tr> <td width="20%">Nueva clave:</td> <td><input type="password" name="newpass" maxlength="30" style="width: 98%;" value=""></td> </tr> <tr> <td>Código fiscal:</td> <td><input type="text" name="codigo" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['codigo']; ?> "></td> </tr> <tr> <td>Nombre de cliente:</td> <td><input type="text" name="nombre" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['nombre']; ?> "></td> </tr> <tr> <td>Email:</td> <td><input type="text" name="email" maxlength="50" style="width: 98%;" value="<?php echo $req_user_info['email']; ?> "></td> </tr> <tr> <td>Razón social:</td> <td><input type="text" name="razon" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['razon']; ?> "></td> </tr> <tr> <td>Teléfono #1:</td> <td><input type="text" name="telefono1" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['telefono1']; ?> "></td> </tr> <tr> <td>Teléfono #2:</td> <td><input type="text" name="telefono2" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['telefono2']; ?> "></td> </tr> <tr> <td>Teléfono #3:</td> <td><input type="text" name="telefono3" maxlength="100" style="width: 98%;" value="<?php echo $req_user_info['telefono3']; ?> "></td> </tr> <?php $OnChangePantalla = ''; if ($req_user_info['logotipo']) { echo ' <tr> <td>Conservar logotipo con Id. ' . $req_user_info['logotipo'] . ':</td> <td><span id="CampoConservarLogotipo"><input type="checkbox" name="ConservarLogotipo" value="' . $req_user_info['logotipo'] . '" checked="checked"></span></td> </tr> '; echo '<input type="hidden" name="ConservarLogotipo2" value="' . $req_user_info['logotipo'] . '">'; $OnChangePantalla = 'onchange="document.getElementById(\'CampoConservarLogotipo\').innerHTML=\'Se reemplazará la imagen actual con la seleccionada\'"'; } ?> <tr> <td>Logotipo:</td> <td><input type="file" name="logotipo" <?php echo $OnChangePantalla; ?> /></td> </tr> <tr> <td>Notas u otras observaciones:</td> <td><textarea name="notas" rows="5" cols="10" style="width: 98%;" ><?php echo $req_user_info['notas']; ?> </textarea></td> </tr> <tr> <td></td> <td><input type="submit" value="Editar cuenta"></td> </tr> </table> <input type="hidden" name="subedit" value="1"> <input type="hidden" name="username" value="<?php echo $_SESSION['user_edic']; ?> "> </form> <?php }
function Eliminar_Comentario($id_comentario) { global $database; $q = "DELETE FROM " . TBL_COMMENTS . " WHERE id_comentario='" . $id_comentario . "';"; $result = $database->query($q); if ($result) { echo Mensaje("Comentario eliminado", _M_INFO); } else { echo Mensaje("Comentario no pudo ser eliminado", _M_ERROR); } }
function calles_REGISTRAR() { global $database, $form; $q = "INSERT INTO " . TBL_STREETS . " (codigo_calle, ubicacion, grupo_calle, impactos ) VALUES ('" . $_POST['codigo_calle'] . "', '" . $_POST['ubicacion'] . "', '" . $_POST['grupo_calle'] . "', '" . $_POST['impactos'] . "') ON DUPLICATE KEY UPDATE ubicacion=VALUES(ubicacion), grupo_calle=VALUES(grupo_calle), impactos=VALUES(impactos);"; DEPURAR($q); $database->REGISTRAR("calles", "Se editó la calle '" . $_POST['codigo_calle'] . "'", "SQL: {$q}"); if ($database->query($q) == 1) { echo Mensaje("Exito al registrar calle de " . $_POST['ubicacion'], _M_INFO); } else { echo Mensaje("Falló el registro el calle de " . $_POST['ubicacion'], _M_ERROR); } }
function CargarArchivos($input, $id_publicacion, $id_usuario) { $id_publicacion = db_codex($id_publicacion); $id_usuario = db_codex($id_usuario); $usuario = _F_usuario_datos($id_usuario); if (!ComprobarTicket($id_publicacion)) { return false; } if (@(!is_array($_FILES[$input]['tmp_name']))) { //echo "No hay archivos!"; return false; } if (!is_writable("RCS/IMG/")) { echo Mensaje("lo sentimos, parece que hay un problema técnico con la carga de imagenes", _M_ERROR); return false; } foreach ($_FILES[$input]['tmp_name'] as $llave => $valor) { if (!$valor) { continue; } // Cuantas imagenes tiene? $NImgAct = db_contar('ventas_imagenes', "id_publicacion='{$id_publicacion}'"); if ($NImgAct >= $usuario['nImgMax']) { echo Mensaje(sprintf("ha sobrepasado el límite aceptado de imagenes para Ud. (" . $usuario['nImgMax'] . "). Descartando '%s'", $_FILES[$input]['name'][$llave]), _M_ERROR); continue; } $datos['id_img'] = NULL; $datos['id_publicacion'] = $id_publicacion; $datos['mime'] = $_FILES[$input]['type'][$llave]; if (!in_array($datos['mime'], array("image/jpeg", "image/png"))) { echo "La imagen \"" . $_FILES[$input]['name'][$llave] . "\" no es un tipo de imagen admitida; la imagen ha sido descartada.<br />"; continue; } $ret = db_agregar_datos("ventas_imagenes", $datos); if ($ret) { move_uploaded_file($valor, "RCS/IMG/{$ret}"); Imagen__Redimenzionar("RCS/IMG/{$ret}", 600, 480); } } return true; }
function CONTENIDO_usuario_registrar() { global $form; if (isset($_SESSION['regsuccess']) && isset($_SESSION['reguname'])) { if ($_SESSION['regsuccess'] == true) { if ($_SESSION['regsuccess']) { echo Mensaje("Cliente registrado. '<b>" . $_SESSION['reguname'] . "</b>' ha sido agregado a la base de datos.", _M_INFO); } else { echo "Registro fallido de cliente"; echo Mensaje("Lo sentimos pero el registro para el cliente '<b>" . $_SESSION['reguname'] . "</b>' a fallado.", _M_ERROR); } echo '<hr />'; } else { if ($form->num_errors > 0) { echo $form->num_errors . " error(es) encontrado(s)<br />"; echo print_ar($form->getErrorArray(), true); } } } unset($_SESSION['reguname']); unset($_SESSION['regsuccess']); ?> <h2>Registro de Clientes</h2><hr /> <form action="include/x.php" enctype="multipart/form-data" method="POST"> <table> <tr><td>Código fiscal:</td><td><input type="text" name="codigo" maxlength="50" value="<?php echo $form->value("codigo"); ?> "></td></tr> <tr><td>Clave (contraseña):</td><td><input type="password" name="clave" maxlength="30" value="<?php echo $form->value("clave"); ?> "></tr> <tr><td>Nombre del cliente:</td><td><input type="text" name="nombre" maxlength="100" value="<?php echo $form->value("nombre"); ?> "></td></tr> <tr><td>Razón social:</td><td><input type="text" name="razon" maxlength="50" value="<?php echo $form->value("razon"); ?> "></td></tr> <tr><td>Correo Electrónico (e-mail):</td><td><input type="text" name="email" maxlength="50" value="<?php echo $form->value("email"); ?> "></td></tr> <tr><td>Teléfono #1:</td><td><input type="text" name="telefono1" maxlength="50" value="<?php echo $form->value("telefono1"); ?> "></td></tr> <tr><td>Teléfono #2:</td><td><input type="text" name="telefono2" maxlength="50" value="<?php echo $form->value("telefono2"); ?> "></td></tr> <tr><td>Teléfono #3:</td><td><input type="text" name="telefono3" maxlength="50" value="<?php echo $form->value("telefono3"); ?> "></td></tr> <tr><td>Logotipo:</td><td><input type="file" name="logotipo" ></td></tr> <tr><td>Notas u otras observaciones:</td><td><TEXTAREA name="notas" rows="5" cols="80"><?php echo $form->value("notas"); ?> </TEXTAREA></td></tr> </table> <input type="submit" value="Registrar"> <input type="hidden" name="subjoin" value="1"> </form> <?php }
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>"; }