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