function Publicacion_Aprobar($id_publicacion) { $id_usuario = db_obtener('ventas_publicaciones', 'id_usuario', "id_publicacion={$id_publicacion}"); $DiasDeVigencia = db_obtener('ventas_usuarios', 'nDiasVigencia', "id_usuario={$id_usuario}"); $c = "UPDATE ventas_publicaciones SET tipo=" . _A_aceptado . ", fecha_fin=date_add(CURDATE(), INTERVAL {$DiasDeVigencia} DAY) WHERE id_publicacion='{$id_publicacion}' AND id_usuario='{$id_usuario}' LIMIT 1"; $r = db_consultar($c); $db_afectados_buffer = db_afectados(); if ($db_afectados_buffer > 0) { require_once 'PHP/anunciadores.php'; $c = "SELECT id_publicacion, titulo FROM ventas_publicaciones WHERE id_publicacion={$id_publicacion}"; $r = db_consultar($c); $f = mysql_fetch_assoc($r); tweet('Nueva publicacion: ' . $f['titulo'] . ' | http://www.yomachete.com/clasificados-en-el-salvador-vendo-' . $f['id_publicacion'] . "_" . SEO($f['titulo'])); } return $db_afectados_buffer; }
return; } $CodigoConfirmacion = sha1(microtime()); $mensaje = ' <p> Estimado usuario, Segun nuestros registros Ud. solicito inscribirse voluntariamente y de forma totalmente gratuita a nuestra lista de correos, mediante la cual recibira informacion de promociones especiales unicamente relacionadas con <a href="http://flor360.com">' . PROY_NOMBRE . '</a> [' . PROY_NOMBRE . '].<br /> <br /> Recuerde que podra anular su suscripcion en todo momento sin ningun costo.<br /> <br /> Por favor haga clic en el enlace a continuacion si Ud. solicito la inscripcion:<br /> <a href="' . PROY_URL . 'verificar?ce=' . $_POST['ce'] . '&cc=' . $CodigoConfirmacion . '">' . PROY_URL . 'verificar?ce=' . $_POST['ce'] . '&cc=' . $CodigoConfirmacion . '</a><br /> <br /> Si tu cliente de correo no soporta enlaces, por favor copie y pegue el enlace en su barra de direcciones.<br /> <br /> Favor hacer caso omiso de este mensaje si Ud. nunca intento suscribirse a la lista de promociones especiales de Flor360.com<br /> <br /> Este mensaje fue enviado por el sistema de notificaciones de Flor360.com<br /> <center><img src="' . PROY_URL . 'estatico/firma_correo.jpg"></center> </p> '; $c = sprintf('REPLACE INTO %s (correo,codigo_confirmacion,confirmado,fecha) VALUES("%s","%s",0,NOW())', db_prefijo . 'correo_oferta', $_POST['ce'], $CodigoConfirmacion); db_consultar($c); if (db_afectados()) { correo($_POST['ce'], 'Activación de Promociones especiales en Flor360.com - ' . dechex(crc32(microtime())), $mensaje); echo '<p>Estimado usuario, se le ha enviado un correo especial con el motivo de asegurar la correcta recepción de nuestros correos y que de esta forma Ud. pueda recibir nuestras promociones especiales en el futuro . Por favor permitanos un tiempo de 1 a 5 minutos y revise su buzón de correo, siga las instrucciones del correo electrónico titulado "Activación de Promociones especiales en Flor360.com"</p>'; } else { echo '<p>Eror general</p>'; } echo '<br /><p><a href="' . PROY_URL . '">Regresar a página principal</a></p>';
function CONTENIDO_CERRAR($publicacion) { if (isset($_POST['cerrar']) && _autenticado() && _F_usuario_cache('id_usuario') == $publicacion['id_usuario']) { db_consultar(sprintf('UPDATE ventas_publicaciones SET tipo=%s WHERE id_publicacion=%s', _A_vendido, $publicacion['id_publicacion'])); if (db_afectados() > 0) { echo '<h1>Publicación concluida</h1>'; echo sprintf('Su publicación ha sido cerrada y marcada como "vendida". Gracias por usar %s!<br />', PROY_NOMBRE); echo '<h1>Opciones</h1>'; echo ui_href('', PROY_URL, 'Retornar a la página principal'); echo ui_href("", "vender", "Retornar a su lista de publicaciones"); } return; } echo '<h1>Cerrar publicación</h1>'; echo '<p>Presione "Cerrar" para marcar su publicación como vendida y cerrarla.<br />Tenga en cuenta que no podrá re-abrirla luego de esto, asi que procure no cerrarla antes de concluir la venta.</p>'; echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">'; echo '<input name="cerrar" type="submit" value="Cerrar" />'; echo '</form>'; echo '<h1>Opciones</h1>'; echo ui_href("", "vender", "Cancelar y retornar a su lista de publicaciones"); }
function CONTENIDO_VENDER() { global $arrJS, $arrHEAD; // Comprobamos que ya haya ingresado al sistema if (!S_iniciado()) { echo "Necesitas iniciar sesión para poder <b>publicar</b> y <b>vender</b>.<br />"; require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } // --------------------------VARIABLES---------------------------- $flag_op_y_saltar = false; $flag_enviar = isset($_POST['vender_enviar']); $flag_publicar = isset($_POST['vender_publicar']); $flag_modo_previsualizacion = isset($_POST['vender_previsualizar']); $flag_modo_escritura = (isset($_POST['vender_publicar']) || isset($_POST['vender_previsualizar'])) && !isset($_POST['vender_editar']); // --------------------------CATEGORIA------------------------------- if (!isset($_GET['op']) && !isset($_GET['ticket'])) { // Será que aún tiene ventas disponibles? if (ObtenerEstadisticasUsuario(_F_usuario_cache('id_usuario'), _EST_CANT_PUB_ACEPT) >= _F_usuario_cache('nPubMax')) { echo Mensaje("Ud. ha alcanzado su límite de publicaciones (" . _F_usuario_cache('nPubMax') . "), si desea agregar más publicaciones puede eliminar una publicación actual o adquirir una cuenta premium."); } else { // No ha escogido categoría, le mostramos las opciones. echo "<h1>Realizar una nueva publicación</h1>" . "Por favor seleccione la categoría mayor a la que pertenece su publicación. Esto es necesario para ofrecerle únicamente las opciones relevantes a su publicación, en el siguiente paso podrá definir la sub-categoría." . '<br />' . '<ul>' . '<li>' . ui_href("vender_ir_inmueble", "vender?op=inmueble", "Inmueble") . "<br /><span class='explicacion'>venta o alquiler de casas, apartamentos y demás bienes inmuebles</span></li>" . '<li>' . ui_href("vender_ir_inmueble", "vender?op=automotor", "Automotor") . "<br /><span class='explicacion'>venta o alquiler de automores (carros, vehículos, motocicletas y toda máquina propulsada por un motor)</span></li>" . '<li>' . ui_href("vender_ir_servicio", "vender?op=servicio", "Servicio") . " <br /><span class='explicacion'>servicios profesiales (electricista, programador, diseñador, albañil, constructor, arquitecto, etc.)</span></li>" . '<li>' . ui_href("vender_ir_articulo", "vender?op=articulo", "<strong>Artículo</strong>") . "<br /><span class='explicacion'>encontrarás sub categorías para todo lo que las anteriores 3 categorías mayores no cubren</span></li>" . '</ul>'; } echo '<h1>Mis publicaciones</h1>'; // Mostrar las ventas "vendidas": $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo=" . _A_vendido; $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo "<h2>Ventas realizadas y cerradas</h2>"; echo '<table class="ancha">'; echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>'; while ($f = mysql_fetch_array($r)) { echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"vender?ticket=" . $f['id_publicacion'] . "\">publicar nuevamente</a></td></tr>"; } echo "</table>"; } // Mostrar las ventas publicadas: $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_aceptado . "' AND fecha_fin >='" . mysql_datetime() . "'"; $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo "<h2>Ventas publicadas actualmente</h2>"; echo '<table class="ancha">'; echo '<tr><th>Título</th><th>Expira</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>'; while ($f = mysql_fetch_array($r)) { echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . $f['fecha_fin'] . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=editar\">editar</a>|<a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=cerrar\">¡vendido!</a>|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>"; } echo "</table>"; } // Mostrar las ventas incompletas: $c = "SELECT id_publicacion, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_temporal . "'"; $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo "<h2>Publicaciones que no ha enviado a aprobación</h2>"; echo '<table class="ancha">'; echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>'; while ($f = mysql_fetch_array($r)) { echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td>" . ui_href("", "vender?ticket=" . $f['id_publicacion'], "continuar") . "|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>"; } echo "</table>"; } // Mostrar las ventas esperando aprobación $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_esp_activacion . "'"; $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo "<h2>Publicaciones enviadas en espera de aprobación</h2>"; echo '<table class="ancha">'; echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th></tr>'; while ($f = mysql_fetch_array($r)) { echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td></tr>"; } echo "</table>"; } // Mostrar las ventas caducadas $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo = '" . _A_aceptado . "' AND fecha_fin < CURDATE()"; $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo "<hr />"; echo "<h2>Publicaciones que han caducado</h2>"; echo '<table class="ancha">'; echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>'; while ($f = mysql_fetch_array($r)) { echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "\">" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "?se=republicar\">republicar</a></td></tr>"; } echo "</table>"; } return; } elseif (isset($_GET['op']) && !isset($_GET['ticket'])) { $op = $_GET['op']; if (!is_numeric($op)) { $c = "SELECT id_categoria FROM ventas_categorias WHERE rubro='" . db_codex($op) . "' LIMIT 1"; } else { $c = "SELECT id_categoria FROM ventas_categorias WHERE id_categoria='" . db_codex($op) . "' LIMIT 1"; } $r = db_consultar($c); $f = mysql_fetch_row($r); if (!empty($f[0])) { $_POST["id_categoria"] = $f[0]; $flag_modo_escritura = true; $flag_op_y_saltar = true; } } elseif (isset($_GET['op']) && isset($_GET['ticket'])) { $flag_modo_escritura = false; $flag_op_y_saltar = true; } // --------------------------TICKET------------------------------- // Creamos el Ticket Temporal de venta si no lo tenemos o validamos el actual $ticket = empty($_GET['ticket']) ? ObtenerTicketTMP(_F_usuario_cache('id_usuario')) : $_GET['ticket']; if (!ComprobarTicket($ticket)) { echo "La validación de su Ticket ha fallado.<br />"; echo "Esto podría bien ser una falla del sistema o un error en su navegador.<br />"; echo "Lo sentimos, por seguridad esta operación no continuará."; return; } db_consultar(sprintf('UPDATE ventas_publicaciones SET tipo=%s WHERE id_publicacion=%s', _A_temporal, $ticket)); // ---Si el ticket es valido entoces rescatemos lo que lleva hecho--- $arrHEAD[] = '<script type="text/javascript" src="JS/tiny_mce/tiny_mce_gzip.js"></script> <script type="text/javascript"> tinyMCE_GZ.init({ plugins : \'style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,\'+ \'searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras\', themes : \'advanced\', languages : \'es\', disk_cache : true, debug : false }); </script> <script type="text/javascript"> tinyMCE.init({ language : "es", elements : "descripcion", theme : "advanced", mode : "exact", plugins : "safari,style,layer,table,advhr,advimage,advlink,media,paste,directionality,fullscreen,visualchars,nonbreaking,xhtmlxtras,template", theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect,cleanup,code", theme_advanced_buttons2 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,advhr,|,ltr,rtl,|,fullscreen", theme_advanced_buttons3 : "", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", button_tile_map : true, });</script> '; if (isset($_GET['eliminar'])) { if (!empty($_GET['ticket'])) { DestruirTicket($_GET['ticket']); } echo "La publicación ha sido cancelada y eliminada.<br />"; echo ui_href("", "./", "Regresar a la página principal") . " / " . ui_href("", "./vender", "Regresar a ventas"); return; } if (isset($_POST['vender_eliminar'])) { header("location: ./"); if (!empty($_GET['ticket'])) { DestruirTicket($_GET['ticket']); } echo "Cancelando venta..."; return; } /* Advertencia: Hay que recargar los datos luego de la edición para evitar problemas de que los cambios anteriores queden "en cache" */ $Publicacion = ObtenerDatos($ticket); if ($flag_modo_escritura) { DescargarArchivos("vender_deshabilitar", $ticket, $Publicacion['id_usuario']); CargarArchivos("vender_imagenes", $ticket, $Publicacion['id_usuario']); CargarDatos($ticket, $Publicacion['id_usuario']); // Refrescamos los datos de la publicación $Publicacion = ObtenerDatos($ticket); } $Vendedor = _F_usuario_datos($Publicacion['id_usuario']); $imagenes = ObtenerImagenesArr($ticket, ""); if ($flag_op_y_saltar) { header("location: ./vender?ticket={$ticket}"); } if ($flag_modo_previsualizacion || $flag_publicar || $flag_enviar) { if (in_array(@$Publicacion["rubro"], array('articulo', 'automotor', 'inmueble')) && !count($imagenes)) { $flag_enviar = false; echo Mensaje("necesita agregar al menos una foto de su producto", _M_ERROR); } if (strlen($Publicacion['titulo']) < 20) { $flag_enviar = false; echo Mensaje("el título debe contener más de 20 letras", _M_ERROR); } if (strlen($Publicacion['titulo']) > 50) { $flag_enviar = false; echo Mensaje("el título no debe contener más de 100 letras", _M_ERROR); } if (strlen($Publicacion['descripcion_corta']) < 10) { $flag_enviar = false; echo Mensaje("la descripción corta debe contener más de 10 letras", _M_ERROR); } if (strlen($Publicacion['descripcion_corta']) > 300) { $flag_enviar = false; echo Mensaje("la descripción corta no debe contener más de 300 letras", _M_ERROR); } } if ($flag_enviar) { // Al fin lo terminó de editar y lo esta enviando... Aleluya! //- // Si es Admin entonces aprobar automaticamente, si no pues mandarlo a esperar activacion $c = "UPDATE ventas_publicaciones SET tipo='" . _A_esp_activacion . "' WHERE id_publicacion={$ticket} LIMIT 1"; $r = db_consultar($c); if (db_afectados() == 1) { if (_F_usuario_cache('nivel') == _N_administrador) { Publicacion_Aprobar($ticket); echo Mensaje("Su venta ha sido publicada", _M_INFO); } else { $vendedor = _F_usuario_datos($Publicacion['id_usuario']); email($vendedor['email'], PROY_NOMBRE . ' - Publicación "' . $Publicacion['titulo'] . '" ha sido recibida', 'Su publicación ha sido recibida en nuestro sistema y se encuentra en proceso de activación.<br />\\nEsta activación puede demorar entre <strong>1 minuto y 1 hora</strong> dependiendo de la disponibilidad de los administradores en línea.<br />Esta corta espera es necesaria para realizar una revisión de las publiciaciones y así poder ofrecer el mejor contenido a nuestros visitantes.<br />\\n!Gracias por preferir ' . PROY_NOMBRE . ' para realizar sus publicaciones!'); email_x_nivel(_N_administrador, 'Nueva publicacion: ' . $Publicacion['titulo'] . ' ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay una nueva publicacion esperando aprobación: ' . $Publicacion['titulo'] . '.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_publicaciones_activacion">Administración: aprobacion de publicaciones</a>'); echo Mensaje('Su venta ha sido exitosamente enviada para aprobación', _M_INFO); } } else { echo Mensaje("Su venta ha NO a sido enviada para aprobación, sucedió algún error", _M_ERROR); } echo "Continuar a: " . ui_href("", "vender", "publicar otra venta") . " / " . ui_href("", "./", "página principal") . "<br />"; return; } if ($flag_modo_previsualizacion || $flag_publicar) { // Si es admin no verá el mensaje confuso. if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) { echo mensaje("esta es una previsualización.<br />Su publicacion no será visible al publico hasta que presione el botón \"Enviar\".<br />Por favor revise una ultima ves su publicacion antes de enviarla.", _M_INFO); } echo '<hr />'; echo "<p>Esta publicando en la categoría <strong>" . get_path(db_codex(@$Publicacion['id_categoria']), false) . "</strong></p>"; echo "<h2>Vista preliminar de su publicación en las listas</h2>"; echo VISTA_ListaPubs("id_publicacion={$ticket}", "", "previsualizacion", "Woops!, ¡problemas intentando cargar la previsualización!"); echo "<h2>Vista preliminar de su publicación al ser accedida</h2>"; echo '<div id="prev_pub">'; require_once "PHP/contenido.php"; $_GET['publicacion'] = $ticket; CONTENIDO_PUBLICACION("previsualizacion"); echo "</div>"; echo '<hr style="margin-bottom:50px" />'; } // ----------------------------------------------------------------- // Inicio de formulario echo "<form action=\"vender?ticket={$ticket}\" method=\"POST\" enctype=\"multipart/form-data\">"; if ($flag_publicar) { $Aprobacion = _F_usuario_cache('nivel') == _N_administrador ? "Ud. es administrador, su publicación será aprobada automaticamente" : "No podrá editar su publicación de nuevo hasta que esta sea esta sea revisada y aprobada."; echo "<span class='explicacion'>Esta a punto de enviar su publicación a revisión. Puede seguir editando su publicación presionando el botón <b>Editar</b> o finalizar presionando el botón <b>Enviar</b>.<br />{$Aprobacion}</span>"; echo "<br />"; echo "<center>"; echo ui_input("vender_editar", "Editar", "submit"); echo ui_input("vender_enviar", "Enviar", "submit"); echo "</center>"; return; } echo "<ol class=\"ventas\">"; echo "<li>Selección de categoría</li>"; echo "<span class='explicacion'>Ubique su árticulo en la categoría que consideres apropiada.</span>"; echo "Mi árticulo corresponde a la siguiente categoría<br />" . ui_combobox("id_categoria", join("", ver_hijos("", @$Publicacion["rubro"])), @$Publicacion["id_categoria"]) . "<br />"; echo "<li>Precio</li>"; echo "<span class='explicacion'>Précio en dólares de Estados Unidos de America (\$ USA).</span>"; echo "Précio " . ui_input("precio", @$Publicacion["precio"], "", "", "width:30ex", "MAXLENGTH='30'") . "<br />"; echo "<li>Título de la publicación</li>"; echo "<span class='explicacion'>Utilice un título corto, descriptivo y llamativo, máximo 50 carácteres. No se admite código HTML.</span>"; echo "Titulo " . ui_input("titulo", @$Publicacion["titulo"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />"; echo "<li>Tags (palabras clave) para publicación</li>"; echo "<span class='explicacion'>Utilice 5 palabras (máximo) separadas por coma (,) que describan su producto. Para casos como 'El Salvador' ingreselo como 'El-Salvador'</span>"; echo "Tags " . ui_input("tags", @$Publicacion["tags"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />"; echo "<li>Descripción corta de la publicación</li>"; echo "<span class='explicacion'>Describa brevemente su venta (o prestación de servicio), solo los detalles más importantes, máximo 300 carácteres. No se admite código HTML.</span>"; echo "Descripción corta " . ui_input("descripcion_corta", @$Publicacion["descripcion_corta"], "text", "", "width:70ex", "MAXLENGTH='300'") . "<br />"; echo "<li>Descripción del artículo</li>"; echo "<span class='explicacion'>Describa en detalle tu artículo, incluye todos los datos relevantes que desees, máximo 5000 carácteres.<br />¡Puedes usar <a href=\"http://www.bbcode-to-html.com/\">bbcode-to-html</a> para convertir tus mensajes de SVCommunity.org a HTML!, si lo haces de esta forma utiliza el botón \"html\" para ingresar el texto resultante.</span>"; echo "Descripción larga<br />" . ui_textarea("descripcion", @$Publicacion["descripcion"], "", "width:100%;height:20em;") . "<br />"; if (in_array(@$Publicacion["rubro"], array("articulo", "automotor"))) { echo "<li>Características del artículo</li>"; echo "<span class='explicacion'>Seleccione solo las opciones que ayuden a describir de forma precisa tu producto.</span>"; echo db_ui_checkboxes("venta[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "venta"), "", "tipo='venta'"); } echo "<li>Formas de pago admitidas</li>"; echo "<span class='explicacion'>Selecione solo las opciones de pago que admitirá.</span>"; echo db_ui_checkboxes("pago[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "pago"), "", "tipo='pago'"); if (in_array(@$Publicacion["rubro"], array("articulo"))) { echo "<li>Formas de entrega admitidas</li>"; echo "<span class='explicacion'>Selecione solo las opciones de tipos de entrega que admitirá.</span>"; echo db_ui_checkboxes("entrega[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "entrega"), "", "tipo='entrega'"); } switch (@$Publicacion["rubro"]) { case "articulo": echo "<li>Fotografías del artículo</li>"; break; case "automotor": echo "<li>Fotografías del automotor</li>"; break; case "inmueble": echo "<li>Fotografías del inmueble</li>"; break; case "servicio": echo "<li>Imagen relacionada con su servicio (logotipo, etc.)</li>"; break; } echo '<span class="explicacion">Cargue las fotografías reales de su artículo, <strong style="color:#F00">necesita al menos una foto para que su publicacion sea aprobada y publicada</strong>.<br />Imagenes tomadas de la página del fabricante o similires son permitidas con un máximo de dos imagenes.<br />En total se admiten cinco imagenes</span>'; echo "<br />"; if (isset($imagenes) && is_array($imagenes)) { foreach ($imagenes as $archivo) { echo "<div style='display:inline-block'><a href=\"./imagen_" . $archivo . "\" title=\"IMAGEN CARGADA\" target=\"_blank\"><img src=\"./imagen_" . $archivo . "m\" /></a><br />" . ui_input("vender_deshabilitar[]", $archivo, "checkbox") . " Eliminar</div>"; } echo "<div style=\"clear:both\"></div>"; } $NoMaxImg = in_array(@$Publicacion["rubro"], array("servicio")) ? 1 : $Vendedor['nImgMax']; $inicio = isset($imagenes) ? count($imagenes) : 0; for ($i = $inicio; $i < $NoMaxImg; $i++) { echo "Imagen " . ($i + 1) . ": Cargar " . ui_input("vender_imagenes[]", "", "file") . "<br />"; } // Si es admin solo verá "Guardar". if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) { echo "<li>Previsualizar y Publicar</li>"; echo "</li>"; echo "<span class='explicacion'>Puede observar como quedaría su publicación utilizando el botón 'Previsualizar'.<br />Cuando este satisfecho con el resultado presione el botón 'Publicar'.</span>"; echo "<br />"; echo "<center>"; echo ui_input("vender_previsualizar", "Vista previa", "submit"); echo ui_input("vender_publicar", "Publicar", "submit"); } else { echo ui_input("vender_previsualizar", "Guardar", "submit"); } echo ui_input("vender_eliminar", "Eliminar", "submit"); echo "</center>"; echo "</form>"; }
function INTERFAZ__ADMIN_USUARIOS_ELIMINAR() { $c = "DELETE FROM ventas_usuarios WHERE id_usuario='" . db_codex($_GET['usuario']) . "'"; db_consultar($c); if (db_afectados()) { echo Mensaje("Usuario eliminado exitosamente"); } else { echo Mensaje("Usuario no pudo ser eliminado", _M_ERROR); } echo '<h1>Opciones</h1>'; echo ui_href("", "admin_usuarios_admin", "Retornar a lista de usuarios"); }
function CONTENIDO_MP($opciones = array()) { // Comprobamos que ya haya ingresado al sistema if (!S_iniciado()) { echo "Necesitas iniciar sesión para poder <b>enviar Mensajes Privados</b>.<br />"; require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } // Será que quiere eliminar un MP que recibio?. if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes_dst SET eliminado=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje eliminado"); } else { echo Mensaje("Mensaje no eliminado"); } } // Será que quiere eliminar un MP que envió?. if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar2' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes SET eliminado=1 WHERE id='" . db_codex($_GET['id_msj']) . "' AND id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje eliminado"); } else { echo Mensaje("Mensaje no eliminado"); } } // Será que quiere marcar un MP como leido?. if (!empty($_GET['ae']) && $_GET['ae'] == 'leido' && !empty($_GET['id_msj'])) { $c = "UPDATE ventas_mensajes_dst SET leido=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); if (db_afectados() > 0) { echo Mensaje("Mensaje marcado como leído"); } else { echo Mensaje("Mensaje no pudo ser marcado como leído"); } } // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- // Si hay un id entonces quiere enviar un MP a ese ID if (!empty($_GET['id'])) { $id_usuario = db_codex($_GET['id']); // No se estará enviando el mensaje a el mismo verdad? XD if ($id_usuario == _F_usuario_cache('id_usuario')) { echo Mensaje("auto-enviarse mensajes privados no es permitido", _M_ERROR); return; } //Existe el usuario al cual quiere enviar el mensaje? if (!_F_usuario_existe($id_usuario, 'id_usuario')) { echo Mensaje("ha especificado un usuario de destino no existente en el sitema", _M_ERROR); return; } // Hay envío de MP? if (isset($_POST['enviar_mp']) && isset($_POST['mensaje'])) { // Será que quiere enviar una respuesta a otro MP if (!empty($_GET['id_msj'])) { $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' LIMIT 1"; $r = db_consultar($c); // Será que se quiere pasar de vivo cambiando el id_msj if (mysql_num_rows($r) == 0) { echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR); return; } $f = mysql_fetch_array($r); $_POST['asunto'] .= '[RESPUESTA A] ' . $f['asunto']; $_POST['mensaje'] .= '<br />' . htmlentities("-En respuesta a:\n" . $f['mensaje']); } //Agregamos el mensaje $datos["id_usuario_rmt"] = _F_usuario_cache('id_usuario'); $datos["mensaje"] = $_POST['mensaje']; $datos["asunto"] = $_POST['asunto']; $datos["tipo"] = _M_NOTA; $datos["contexto"] = _MC_privado; $datos["fecha"] = mysql_datetime(); $id_msj = db_agregar_datos("ventas_mensajes", $datos); unset($datos); //Agregamos el destinatario $datos["id_msj"] = $id_msj; $datos["id_usuario_dst"] = $id_usuario; $datos["leido"] = 0; $datos["eliminado"] = 0; $id_msj = db_agregar_datos("ventas_mensajes_dst", $datos); unset($datos); // Notificación por email del MP al destinatario: $usuario_destino = _F_usuario_datos($id_usuario); $mensaje = 'Acaban de enviarte un mensaje privado de parte de ' . _F_usuario_cache('usuario') . ' en ' . PROY_NOMBRE . ".<br /><br />\n\n"; $mensaje .= 'IMPORTANTE: Recuerda, esto es solamente una notificación. Por favor, no respondas a este email.' . "<br /><br />\n\n"; $mensaje .= 'El mensaje que te enviaron fue:' . "<br /><br />\n\n"; $mensaje .= $_POST['mensaje'] . ".<br /><br />\n\n"; $mensaje .= 'Responda a este mensaje privado aquí: ' . PROY_URL . 'perfil?op=mp'; @email($usuario_destino['email'], 'Nuevo Mensaje Privado: ' . $_POST['asunto'], $mensaje); //Notificación visual al usuario que envió el MP echo Mensaje("¡Su mensaje privado ha sido enviado!"); echo '<h1>Opciones</h1>'; echo '<ul>'; echo '<li><a href="' . PROY_URL . '">Ir pagina de inicio</a></li>'; echo '<li><a href="' . curPageURL(true) . '">Ir a mi perfil</a></li>'; echo '</ul>'; return; } // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- // No ha enviado el MP aún, mostrar el formulario de envío. if (!empty($_GET['id_msj'])) { $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'"; $r = db_consultar($c); // Será que se quiere pasar de vivo cambiando el id_msj if (mysql_num_rows($r) == 0) { echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR); return; } $f = mysql_fetch_array($r); $Asunto = 'RESPUESTA A: ' . $f['asunto']; $EnRespuestaA = htmlentities("---En respuesta a:\n" . $f['mensaje'], ENT_QUOTES, 'UTF-8'); } $usuario_destino = _F_usuario_datos($id_usuario); echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">'; echo 'Este mensaje será enviado al usuario <b>' . $usuario_destino['usuario'] . '</b><br />'; echo '<table>'; echo ui_tr(ui_td('Asunto: ') . ui_td(ui_input('asunto', @$Asunto, "text", '', 'width:100%'))); echo ui_tr(ui_td('Mensaje: ') . ui_td(ui_textarea('mensaje', '', '', 'width:100%'))); echo '</table>'; if (!empty($_GET['id_msj'])) { echo "<p><b>Se anexará automaticamente a su mensaje el siguiente texto:</b><br />", @$EnRespuestaA, "</p>"; } echo ui_input("enviar_mp", "Enviar", "submit") . '<br />'; echo '</form>'; } else { echo '<h1>Mensajes privados</h1>'; echo '<h2>Categorías</h2>'; echo '<p><a class="btnlnk" href="', PROY_URL, 'perfil?op=mp">Nuevos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpl">Leidos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpe">Enviados</a></p>'; echo '<h2>Mensajes</h2>'; // Mostrale sus mensajes privados /* Necesito: * id de usuario del remitente * asunto * mensaje * fecha * nombre del remitente */ if (empty($opciones['vista'])) { $opciones['vista'] = "nuevos"; } switch ($opciones['vista']) { case 'nuevos': $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=0 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; case 'leidos': $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=1 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; case 'enviados': $c = "SELECT a.id, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = vmd.id_usuario_dst LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND a.eliminado=0 AND a.id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC"; break; } $r = db_consultar($c); if (mysql_num_rows($r) > 0) { echo '<table class="ancha resultados">'; while ($f = mysql_fetch_array($r)) { echo ui_tr(ui_th('Usuario') . ui_th('Fecha') . ui_th('Asunto')); echo ui_tr(ui_td($f['usuario']) . ui_td(fechatiempo_h_desde_mysql_datetime($f['fecha'])) . ui_td($f['asunto'])); echo '<tr><td colspan="3">' . $f['mensaje'] . '</td></tr>'; switch ($opciones['vista']) { case 'nuevos': echo '<tr><td colspan="3"><a href="./perfil?op=mp&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a> / <a href="./perfil?op=mp&ae=leido&id_msj=' . $f['id'] . '">marcar como leído</a></td></tr>'; break; case 'leidos': echo '<tr><td colspan="3"><a href="./perfil?op=mpl&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a></td></tr>'; break; case 'enviados': echo '<tr><td colspan="3"><a href="./perfil?op=mpe&ae=eliminar2&id_msj=' . $f['id'] . '">eliminar</a></td></tr>'; break; } echo '<tr><td colspan="3"><hr /></td></tr>'; } echo '</table>'; } else { echo Mensaje('no tienes mensajes privados', _M_INFO); } return; } }
function escribir_opcion($campo, $valor) { $c = sprintf('REPLACE INTO %s SET campo="%s", valor="%s"', db_prefijo . 'opciones', db_codex($campo), db_codex($valor)); $r = db_consultar($c); CargarOpciones(); return db_afectados(); }
function PromocionarPublicacion($id_publicacion) { $c = sprintf('UPDATE ventas_publicaciones SET promocionado=IF(promocionado = 1, 0, 1) WHERE ID_publicacion = %s', $id_publicacion); $r = db_consultar($c); return db_afectados(); }