function _F_usuario_acceder($usuario, $clave, $enlazar = true) { global $tablausuarios; $usuario = db_codex(trim($usuario)); $clave = db_codex(trim($clave)); $c = "SELECT " . SQL_CAMPOS_USUARIO . " FROM {$tablausuarios} LEFT JOIN empresa USING (ID_empresa) WHERE LOWER(usuario)=LOWER('{$usuario}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado); $c = "UPDATE {$tablausuarios} SET fecha_acceso=NOW() WHERE ID_usuario=" . usuario_cache('ID_usuario'); $resultado = db_consultar($c); db_agregar_datos(db_prefijo . 'acceso', array('ID_empresa' => usuario_cache('ID_empresa'), 'ID_usuario' => usuario_cache('ID_usuario'), 'tiempo' => mysql_datetime())); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['cache_datos_usuario']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function aplicacion_ingresar_nota($ID_aplicacion, $nota, $tipo_nota, $notificar = true) { db_agregar_datos(db_prefijo . 'historial', array('tipo' => $tipo_nota, 'fecha' => mysql_datetime(), 'cambio' => $nota, 'ID_aplicacion' => $ID_aplicacion, 'ID_usuario' => _F_usuario_cache('ID_usuario'))); if ($notificar) { $cNotificaciones = sprintf('SELECT DISTINCT correo FROM ' . db_prefijo . 'historial AS h LEFT JOIN ' . db_prefijo . 'usuarios AS u USING(ID_usuario) WHERE h.ID_usuario<>' . _F_usuario_cache('ID_usuario') . ' AND nivel="' . _N_agente_us . '" AND h.ID_aplicacion=' . $ID_aplicacion); $rNotificaciones = db_consultar($cNotificaciones); $mensaje = ' <p><b>' . _F_usuario_cache('nombre') . '</b> ha ingresado una nueva nota en una aplicación:</p> <p><b>' . $nota . '</b></p> <p><a href="' . PROY_URL . 'aplicaciones?ver=' . $ID_aplicacion . '">Ir a la aplicación</a></p> <hr /> <p> <small> Ud. ha recibido esta notificación por una de las siguientes causas: <ul> <li>Ud. es el agente que lleva el caso</li> <li>Ud. ha comentando en esta aplicación</li> </ul> <hr /> <span style="color:#F00;"> NO RESPONDA A ESTE CORREO, LOS CORREOS ENVIADOS A ' . htmlentities(PROY_MAIL_POSTMASTER) . ' NO SON REVISADOS.<br /> En su lugar puede comentar en la aplicación mencionada. </span> </small> </p> '; while (mysql_num_rows($rNotificaciones) && ($f = mysql_fetch_assoc($rNotificaciones))) { correoSMTP($f['correo'], '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje); } correoSMTP('*****@*****.**', '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje); } }
function enviar_prospecto($ID_aplicacion, $ID_prospecto, $lote = false) { db_actualizar_datos(db_prefijo . 'prospectos_aplicados', array('enviado' => mysql_datetime()), 'ID_aplicacion="' . $ID_aplicacion . '"'); $c = sprintf('SELECT `ID_prospecto`, `situacion`, `ultima_presentacion`, `intentos`, `apellido`, `nombre`, `direccion1`, `direccion2`, `especial1`, `ciudad`, `estado`, `zip`, `telefono`, `especial2`, `especial3`, `especial4`, `especial5`, `especial6`, `especial7`, `especial8`, `especial9`, `especial10`, `especial11`, `especial13`, `especial14`, `especial15`, `especial16`, `especial17`, `especial18`, `especial19`, `especial20`, `especial21`, `ID_aplicacion`, `ID_agente_sv`, `ID_agente_us`, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_sv`) AS nombre_agente_sv, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_us`) AS nombre_agente_us, `fecha_ingresada`, `fecha_cerrada`, `comision_agente_sv`, `comision_agente_us`, `comsion_ufs_sv`, `comision_ufs_us`, `enviado`, `notas` FROM %s LEFT JOIN %s USING (ID_prospecto) WHERE ID_prospecto="%s" ORDER BY fecha_ingresada ASC', db_prefijo . 'prospectos_aplicados', db_prefijo . 'prospectos', db_codex($ID_prospecto)); $r = db_consultar($c); $f = mysql_fetch_assoc($r); if ($lote) { $buffer = ' <table> <tr><th style="text-align:right;border-right:1px solid #000;">Agent SV</th><td>' . $f['nombre_agente_sv'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Agent US</th><td>' . $f['nombre_agente_us'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Prospect ID</th><td>' . $f['ID_prospecto'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Application date</th><td>' . $f['fecha_ingresada'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Name</th><td>' . $f['apellido'] . ', ' . $f['nombre'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Phone</th><td>' . $f['telefono'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Address</th><td>' . $f['direccion2'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">City</th><td>' . $f['ciudad'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Zip Code</th><td>' . $f['zip'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Date</th><td>' . $f['especial2'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Amount</th><td>$' . @number_format(preg_replace('/[^\\d]/', '', $f['especial5']), 2, '.', ',') . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Mortage rate</th><td>' . $f['especial7'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Sales Price</th><td>' . $f['especial3'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Lender</th><td>' . $f['especial6'] . '</td></tr> <tr><th style="text-align:right;border-right:1px solid #000;">Notas</th><td>' . $f['notas'] . '</td></tr> </table> <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a> '; } else { $buffer = ' <p>El agente <b>' . $f['nombre_agente_sv'] . '</b> ha ingresado una nueva aplicación.</p> <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a> <hr /> <p> <small> Ud. ha recibido esta notificación por una de las siguientes causas: <ul> <li>Ud. es un agente US registrado en el sistema UFS Online Network</li> <li>Ud. esta en la lista de administradores/supervisores</li> </ul> <hr /> <span style="color:#F00;"> NO RESPONDA A ESTE CORREO, LOS CORREOS ENVIADOS A ' . htmlentities(PROY_MAIL_POSTMASTER) . ' NO SON REVISADOS.<br /> En su lugar puede comentar en la aplicación mencionada. </span> </small> </p> '; } if ($lote) { return $buffer; } else { require_once 'php/mensajitos.us.php'; $c = 'SELECT usuario, nombre, correo, telefono, carrier FROM ' . db_prefijo . 'usuarios WHERE nivel="agente_us"'; $r = db_consultar($c); while (mysql_num_rows($r) && ($f = mysql_fetch_assoc($r))) { EnviarMensajitosUS($f['telefono'], $f['carrier'], 'Nueva aplicacion disponible en el sistema'); } correoSMTP('*****@*****.**', 'Nueva aplicación - ' . $ID_aplicacion . '+' . $ID_prospecto, $buffer); } }
function _F_usuario_acceder($email, $clave, $enlazar = true) { global $tablaUsuarios; $email = db_codex(trim($email)); $clave = db_codex(trim($clave)); $c = "SELECT * FROM {$tablaUsuarios} WHERE (LOWER(email)=LOWER('{$email}') OR LOWER(usuario)=LOWER('{$email}')) AND clave=SHA1(CONCAT(LOWER(usuario),'{$clave}')) AND estado!=" . _N_esp_activacion; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado); $c = "UPDATE {$tablaUsuarios} SET ultimo_acceso=NOW() WHERE id_usuario=" . _F_usuario_cache('id_usuario'); $resultado = db_consultar($c); return 1; } else { if ($enlazar) { // 30/09/2009 /* Con la integración de enlace.php en svcommunity.org, intentaremos verificar si el usuario existe ahí y crear la cuenta acá. Si no existe ni en SVC entonces fallar silenciosamente. */ $url = "http://www.svcommunity.org/forum/enlace.php?m={$email}&p={$clave}"; $SVC = @file_get_contents($url); if (strstr($SVC, '<?xml version="1.0" encoding="UTF-8"?>')) { $XML = new SimpleXMLElement($SVC); $datos["estado"] = _N_activo; $datos["nivel"] = _N_vendedor; $datos["ultimo_acceso"] = mysql_datetime(); $datos["registro"] = date('Y-m-d H:i:s', (double) $XML->date_registered); $datos["usuario"] = $XML->member_name; $datos["nombre"] = $XML->real_name; $datos["email"] = $XML->email_address; $datos["clave"] = $XML->passwd; db_agregar_datos("ventas_usuarios", $datos); echo "DATOS IMPORTADOS<br />"; return _F_usuario_acceder($email, $clave, false); } else { echo $SVC; } } unset($_SESSION['autenticado']); unset($_SESSION['id_usuario']); return -1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['id_usuario']); echo "Error general al autenticar!" . "<br />"; return 0; } }
public function create_news() { $this->load->model('news_model'); $this->data['page_title'] = 'Admin Panel - Create news'; $this->data["custom_js"] = array('bottom' => array("public/js/tinymce/tinymce.min.js", "public/js/tinymce/jquery.tinymce.min.js", "bower_components/moment/min/moment.min.js", "bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js", "bower_components/blueimp-file-upload/js/vendor/jquery.ui.widget.js", "bower_components/blueimp-file-upload/js/jquery.fileupload.js", "public/js/admin/news/create.js")); $this->data["custom_css"] = array("public/css/admin/sidebar.css", "bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css", "bower_components/blueimp-file-upload/css/jquery.fileupload.css"); $this->data['publish_date'] = mysql_datetime(); $this->data['title'] = 'Create a news'; $this->load->view('partials/admin_header', $this->data); $this->load->view('admin/news/create', $this->data); $this->load->view('partials/admin_footer', $this->data); }
public function set_news($id = null) { $userId = $this->ion_auth->get_user_id(); $now = mysql_datetime(); if ($id != null) { $data = array('title' => $this->input->post('title'), 'content' => $this->input->post('content'), 'updated_by' => $userId, 'updated_at' => $now, 'publish_date' => $this->input->post('publish_date')); return $this->db->update('news', $data, array('id' => $id)); } else { $slug = url_title($this->input->post('title'), 'dash', TRUE); $data = array('title' => $this->input->post('title'), 'slug' => $slug, 'content' => $this->input->post('content'), 'created_by' => $userId, 'created_at' => $now, 'updated_by' => $userId, 'updated_at' => $now, 'publish_date' => $this->input->post('publish_date')); return $this->db->insert('news', $data); } }
function _F_usuario_acceder($correo, $clave, $enlazar = true) { global $tablausuarios; $correo = db_codex(trim($correo)); $clave = db_codex(trim($clave)); $c = "SELECT * FROM {$tablausuarios} WHERE LOWER(usuario)=LOWER('{$correo}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_nombre_completo'] = db_fila_a_array($resultado); db_agregar_datos(db_prefijo . 'asistencia', array('fecha' => mysql_datetime(), 'ID_usuario' => $_SESSION['cache_datos_nombre_completo']['ID_usuario'])); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['codigo_nombre_completo']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function CONTENIDO_PUBLICACION($op = "") { global $HEAD_titulo, $HEAD_descripcion; if (!isset($_GET['publicacion'])) { echo Mensaje("PUBLICACION: ERROR INTERNO", _M_ERROR); return; } $ticket = db_codex($_GET['publicacion']); $publicacion = ObtenerDatos($ticket); if (!$publicacion) { echo Mensaje("disculpe, la publicación solicitada no existe.", _M_INFO); return; } echo ui_publicacion_barra_acciones('contenido', $publicacion); // Si ya fue vendido if ($publicacion['tipo'] == _A_vendido) { echo '<h1>Publicación concluida</h1>'; echo '<p>Lo sentimos, el vendedor nos ha informado la venta ya fue realizada.</p>'; echo '<p>¡Pero no se vaya!, puesto que puede revisar la categoría de esta publicación para encontrar uno similar! - <a href="clasificados-en-el-salvador-' . $publicacion['id_categoria'] . '-.html">Revisar la categoría de este producto</a></p>'; echo '<p>O bien puede aprovechar para realizar una publicación similar. - <a href="vender?op=' . $publicacion['id_categoria'] . '">Realizar publicación en esta categoría</a></p>'; return; } // Si no esta aprobado solo lo puede ver un Administrador if ($op != "previsualizacion" && $publicacion['tipo'] != _A_aceptado && _F_usuario_cache('nivel') != _N_administrador) { echo Mensaje("esta publicacion NO se encuentra disponible", _M_ERROR); return; } // Ya venció el tiempo de publicación?. if (@$_SESSION['opciones']['deshabilitar_tiempo_de_caducidad'] == 1 && $op != "previsualizacion" && strtotime($publicacion['fecha_fin']) < strtotime(date('d-m-Y', time()))) { echo Mensaje("disculpe, la publicación solicitada ha caducado.", _M_INFO); echo "Esta publicacion caducó el " . $publicacion['fecha_fin'] . "<br />"; if (_F_usuario_cache('id_usuario') == $publicacion['id_usuario']) { echo 'Para asegurarnos que su venta sigue vigente y con datos actuales, Ud. debera revisar su publicacion y publicarla nuevamente.' . ui_href("", "vender?ticket={$ticket}", "Presione en este enlace si desea extender el tiempo de su publicación"); } return; } // Operaciones especiales con la publicación que no necesite permisos de administración if (isset($_GET['se'])) { switch ($_GET['se']) { case 'pub2pdf': break; case 'pub2mail': CONTENIDO_PUB2MAIL($publicacion); return; break; case 'pubrep': CONTENIDO_PUBREP($publicacion); return; break; case 'cerrar': CONTENIDO_CERRAR($publicacion); return; break; case 'editar': CONTENIDO_EDITAR($publicacion); return; break; } } // Preprocesamos cualquier codigo de operación if (isset($_GET['op']) && isset($_GET['id']) && _F_usuario_cache('nivel') == _N_administrador) { $id = db_codex($_GET['id']); switch ($_GET['op']) { case "eliminar": $c = "DELETE FROM ventas_mensajes_publicaciones WHERE id='{$id}' LIMIT 1"; break; case "privado": $c = "UPDATE ventas_mensajes_publicaciones SET tipo='" . _MeP_Privado . "' WHERE id='{$id}' LIMIT 1"; break; case "publico": $c = "UPDATE ventas_mensajes_publicaciones SET tipo='" . _MeP_Publico . "' WHERE id='{$id}' LIMIT 1"; break; } $r = db_consultar($c); if (db_afectados() == 1) { echo Mensaje("Operación exitosa.", _M_INFO); } else { echo Mensaje("Operación erronea.", _M_ERROR); } } $Vendedor = _F_usuario_datos(@$publicacion['id_usuario']); $imagenes = ObtenerImagenesArr($ticket, ""); // Grabamos cualquier consulta enviada if (_autenticado() && isset($_POST['consulta']) && isset($_POST['enviar_consulta']) && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) { // Consulta publica $datos['id_usuario'] = _F_usuario_cache('id_usuario'); $datos['id_publicacion'] = $ticket; $datos['consulta'] = substr(strip_tags(db_codex($_POST['consulta'])), 0, 300); $datos['tipo'] = isset($_POST['tipo_consulta']) ? _MeP_Publico : _MeP_Privado; $datos['fecha_consulta'] = mysql_datetime(); db_agregar_datos("ventas_mensajes_publicaciones", $datos); unset($datos); // Enviamos un mensaje al vendedor email($Vendedor['email'], PROY_NOMBRE . " - nueva consulta en la publicación: " . $publicacion['titulo'], "Le han realizado una consulta en la siguiente publicacion: <a href=\"http://yomachete.com/clasificados-en-el-salvador-vendo-" . $publicacion['id_publicacion'] . "_" . SEO($publicacion['titulo']) . "\">" . $publicacion['titulo'] . '</a>'); } // Grabamos cualquier respuesta enviada if (_autenticado() && isset($_POST['cmdEnviarRespuesta']) && is_array($_POST['txtEnviarRespuesta']) && _F_usuario_cache('id_usuario') == @$Vendedor['id_usuario']) { foreach ($_POST['txtEnviarRespuesta'] as $id => $respuesta) { $respuesta = substr(strip_tags(db_codex($respuesta)), 0, 300); $id = db_codex($id); $c = "UPDATE ventas_mensajes_publicaciones SET respuesta='{$respuesta}', fecha_respuesta=NOW() WHERE id='{$id}' AND id_publicacion='{$ticket}' LIMIT 1"; $r = db_consultar($c); // Notificamos al dueño del mensaje if (db_afectados() > 0) { $c = 'SELECT email FROM ventas_usuarios WHERE id_usuario = (SELECT id_usuario FROM ventas_mensajes_publicaciones WHERE id=' . $id . ' AND id_publicacion=' . $ticket . ' LIMIT 1)'; $r = db_consultar($c); $f = mysql_fetch_assoc($r); if (!empty($f['email'])) { email($f['email'], PROY_NOMBRE . " - respuesta a su consulta en la publicación: " . $publicacion['titulo'], "Hay una respuesta a su consulta en la siguiente publicacion: <a href=\"http://yomachete.com/clasificados-en-el-salvador-vendo-" . $publicacion['id_publicacion'] . "_" . SEO($publicacion['titulo']) . "\">" . $publicacion['titulo'] . '</a>'); } } } } echo "<h1>" . @$publicacion['titulo'] . "</h1>"; echo "<hr /><div id=\"pub_descripcion_corta\">" . @$publicacion['descripcion_corta'] . "</div>"; echo "<hr />"; // Categoria en la que se encuentra ubicado el producto echo "<b>Categoría de la publicación:</b> " . get_path_format(@$publicacion); echo "<br />"; // Fechas de publicación echo "<b>Inicio de la publicación:</b> " . fecha_desde_mysql_datetime(@$publicacion['fecha_ini']); if (@$_SESSION['opciones']['deshabilitar_tiempo_de_caducidad'] == 0) { echo "<br /><b>Fin de la publicación:</b> " . fecha_desde_mysql_datetime(@$publicacion['fecha_fin']); } echo "<br />"; // Formas de entrega para el producto (no disponible para ciertos rubros: inmuebles. echo "<b>Formas de entrega:</b>" . " <span class=\"auto_mostrar\">[<a id=\"ver_mas_entrega\">ver...</a>]</span>"; echo "<div id=\"detalle_entrega\" class=\"auto_ocultar\">"; echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "entrega"), 'disabled="disabled"', "tipo='entrega'"); echo "</div>"; echo "<br />"; // Caracteristicas adicionales: echo "<b>Características adicionales:</b>" . " <span class=\"auto_mostrar\">[<a id=\"ver_mas_adicional\">ver...</a>]</span>"; echo "<div id=\"detalle_adicional\" class=\"auto_ocultar\">"; echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "venta"), 'disabled="disabled"', "tipo='venta'"); echo "</div>"; echo "<br />"; // Precio y formas de pago aceptadas echo "<b>Precio:</b> \$" . number_format(@$publicacion['precio'], 2, ".", ",") . " <span class=\"auto_mostrar\">[<a id=\"ver_mas_precio\">ver formas de pago...</a>]</span>"; echo "<div id=\"detalle_precio\" class=\"auto_ocultar\">"; echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "pago"), 'disabled="disabled"', "tipo='pago'"); echo "</div>"; echo "<br />"; // Datos sobre el vendedor echo "<b>Vendedor:</b> " . ui_href("", "perfil?id=" . $Vendedor['id_usuario'], $Vendedor['usuario']) . (_F_usuario_cache('id_usuario') != $Vendedor['id_usuario'] ? " / enviar un <b>" . ui_href("", PROY_URL . "perfil?op=mp&id=" . $Vendedor['id_usuario'], "Mensaje Privado") . "</b> " : " ") . "<span class=\"auto_mostrar\">[<a id=\"ver_mas_vendedor\">ver datos sobre el vendedor...</a>]</span>"; echo "<div id=\"detalle_vendedor\" class=\"auto_ocultar\">"; echo "<ul>"; echo "<li>Registrado desde: " . fechatiempo_desde_mysql_datetime(@$Vendedor['registro']) . "</li>"; echo "<li>Ultima actividad: " . fechatiempo_desde_mysql_datetime(@$Vendedor['ultimo_acceso']) . "</li>"; $Vendedor['cantidad_publicaciones'] = ObtenerEstadisticasUsuario(@$Vendedor['id_usuario'], _EST_CANT_PUB_ACEPT); echo "<li>Cantidad de publicaciones: " . $Vendedor['cantidad_publicaciones'] . "</li>"; echo "</ul>"; echo "</div>"; if (isset($imagenes) && is_array($imagenes)) { echo "<hr /><h1>Fotografías y/o ilustraciones</h1><center>"; foreach ($imagenes as $archivo) { echo "<div style='display:inline-block;margin:0 10px;'><a class=\"fancybox\" href=\"./imagen_" . $archivo . ".jpg\" target=\"_blank\" rel=\"contenido\"><img src=\"./imagen_" . $archivo . "m.jpg\" /></a><br /></div>"; } echo "<div style=\"clear:both\"></div>"; echo "</center>"; } echo "<hr /><h1>Descripción</h1><center><div class=\"clasificados-en-el-salvador-vendo-descripcion\">"; $descripcion = @$publicacion['descripcion']; if (!is_array($descripcion)) { echo $descripcion; } else { print_r($descripcion); } echo "</div></center>"; if ($op != "previsualizacion") { echo '<hr /><div class="cuadro_importante">'; $c = "SELECT id, id_usuario, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario=a.id_usuario) AS usuario, consulta, respuesta, respuesta, tipo, fecha_consulta, fecha_respuesta FROM ventas_mensajes_publicaciones AS a WHERE id_publicacion={$ticket}"; $r = db_consultar($c); if ($r && mysql_num_rows($r) > 0) { echo "<h1>Consultas</h1>"; echo '<form method="POST" action="clasificados-en-el-salvador-vendo-' . $ticket . '">'; echo '<table id="tabla_consultas" class="ancha">'; $flag_activar_enviar_respuestas = false; while ($f = mysql_fetch_array($r)) { // Si es consulta privada solo se muestra si corresponde al usuario actual o al vendedor if ($f['tipo'] == _MeP_Privado && _F_usuario_cache('id_usuario') != $f['id_usuario'] && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) { continue; } // Determinamos si es pregunta privada o publica $Privada = $f['tipo'] == _MeP_Privado ? "_privada" : ""; $ControlesAdmin = ""; if (_F_usuario_cache('nivel') == _N_administrador) { $ControlesAdmin = " [" . ui_href("", "./clasificados-en-el-salvador-vendo-{$ticket}?op=eliminar&id=" . $f['id'], "X") . "]" . ($f['tipo'] == _MeP_Publico ? "[" . ui_href("", "clasificados-en-el-salvador-vendo-{$ticket}?op=privado&id=" . $f['id'], "p") . "]" : "[" . ui_href("", "clasificados-en-el-salvador-vendo-{$ticket}?op=publico&id=" . $f['id'], "P") . "]"); } echo '<tr class="pregunta' . $Privada . '"><td class="col1">' . $f['usuario'] . '</td><td class="col2">' . htmlentities($f['consulta'], ENT_QUOTES, "utf-8") . "</td><td class=\"col3\">" . fechatiempo_h_desde_mysql_datetime($f['fecha_consulta']) . $ControlesAdmin . "</td></tr>"; // Si es el dueño de la venta y no ha respondido la consulta le damos la opción de hacerlo. if (!$f['respuesta'] && _F_usuario_cache('id_usuario') == @$Vendedor['id_usuario']) { $f['respuesta'] = ui_input("txtEnviarRespuesta[" . $f['id'] . "]", "", "text", "txtRespuesta", 'MAXLENGTH="300"'); $flag_activar_enviar_respuestas = true; } elseif (!$f['respuesta']) { $f['respuesta'] = htmlentities('<el vendedor aún no ha dado respuesta a esta consulta>', ENT_QUOTES, "utf-8"); } else { $f['respuesta'] = htmlentities($f['respuesta'], ENT_QUOTES, "utf-8"); } echo '<tr class="respuesta' . $Privada . '"><td class="col1">' . @$Vendedor['usuario'] . '</td><td class="col2">' . $f['respuesta'] . '</td><td class="col3">' . fechatiempo_h_desde_mysql_datetime($f['fecha_respuesta']) . "</td></tr>"; } if ($flag_activar_enviar_respuestas) { echo '<tr><td id="envio" colspan="3">' . ui_input("cmdEnviarRespuesta", "Enviar todas las respuestas", "submit") . '</td></tr>'; } echo '</table>'; echo '</form>'; } else { echo Mensaje("No hay consultas realizadas por el momento", _M_INFO); } // Enviar consultas if (!S_iniciado()) { echo "<hr />Necesitas iniciar sesión para poder <b>realizar consultas</b>.<br />"; require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); } elseif (_autenticado() && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) { echo '<div id="area_consulta"><form method="POST" action="' . $_SERVER['REQUEST_URI'] . '"><p>Realizar consulta al vendedor:</p>' . ui_input("consulta", "", "text", "", "width:100%;", 'MAXLENGTH="300"') . "<br />" . "<table><tr><td>" . ui_input("tipo_consulta", "publica", "checkbox") . " marque esta opción si desea hacer pública esta consulta (<a title=\"Usela si Ud. cree que las demas personas deben leer esta pregunta y su respectiva respuesta\">?</a>).</td><td id=\"trbtn\">" . ui_input("enviar_consulta", "Enviar", "submit") . "</td></tr></table>" . '</form></div>'; } echo '</div>'; // Mostrar "Otros productos de este vendedor". Si tiene mas de un producto claro :) if ($Vendedor['cantidad_publicaciones'] > 1) { echo '<hr />'; echo '<div class="cuadro_importante centrado">'; echo '<h1>Otras publicaciones de este vendedor</h1>'; echo VISTA_ArticuloEnBarra("a.id_publicacion <> '" . $publicacion['id_publicacion'] . "' AND a.id_usuario = '" . $Vendedor['id_usuario'] . "' AND a.tipo='" . _A_aceptado . "' AND a.fecha_fin >= CURDATE()"); echo '</div>'; } // Mostrar "Productos similares". Escoger de la misma categoria los // productos que esten en el rango de +/-25% del precio actual $PrecioMin = (double) @$publicacion['precio'] * 0.5; // -50% $PrecioMax = (double) @$publicacion['precio'] * 1.5; // +50% echo '<hr />'; echo '<div class="cuadro_importante centrado">'; echo '<h1>Publicaciones similares</h1>'; echo VISTA_ArticuloEnBarra("a.id_categoria IN (SELECT id_categoria FROM ventas_categorias WHERE padre = (SELECT padre from ventas_categorias WHERE id_categoria='" . $publicacion['id_categoria'] . "' LIMIT 1)) AND precio >= '{$PrecioMin}' AND precio <= '{$PrecioMax}' AND id_publicacion <> '" . $publicacion['id_publicacion'] . "' AND a.tipo='" . _A_aceptado . "' AND a.fecha_fin >= CURDATE()"); echo '</div>'; // Mostrar opciones adicionales echo ' <a href="' . $_SERVER['REQUEST_URI'] . '?se=pub2pdf"><img src="IMG/pub_extop_ipdf.gif" title="Obtener una copia de esta venta en formato PDF" alt="[descargar venta en PDF]" /></a> <a href="' . $_SERVER['REQUEST_URI'] . '?se=pub2mail"><img src="IMG/pub_extop_mail.gif" title="Enviar esta publicación a un amigo" alt="[enviar por email]" /></a> <a href="' . $_SERVER['REQUEST_URI'] . '?se=pubrep"><img src="IMG/pub_extop_reportar.gif" title="Notificar a los administradores de una publicación fraudulenta" alt="[reportar publicación]" /></a> '; } echo JS_onload(' $(".auto_ocultar").hide(); $(".auto_mostrar").show(); $("#ver_mas_precio").click(function() {$("#detalle_precio").toggle("fast");}); $("#ver_mas_entrega").click(function() {$("#detalle_entrega").toggle("fast");}); $("#ver_mas_adicional").click(function() {$("#detalle_adicional").toggle("fast");}); $("#ver_mas_vendedor").click(function() {$("#detalle_vendedor").toggle("fast");}); '); $HEAD_titulo = PROY_NOMBRE . ' - ' . @$publicacion['titulo']; $HEAD_descripcion = @$publicacion['descripcion_corta']; }
$usuario['clave'] = sha1($usuario['usuario'] . 'vendedor'); $usuario['nombre'] = 'Vendedor Ejemplo'; $usuario['email'] = '*****@*****.**'; $usuario['nivel'] = _N_vendedor; $usuario['ultimo_acceso'] = mysql_datetime(); $usuario['registro'] = mysql_datetime(); _F_usuario_agregar($usuario); // Agregamos al usuario Tienda $usuario['usuario'] = 'tienda'; $usuario['clave'] = sha1($usuario['usuario'] . 'tienda'); $usuario['nombre'] = 'Tienda Ejemplo'; $usuario['email'] = '*****@*****.**'; $usuario['nivel'] = _N_vendedor; $usuairo['tienda'] = 1; $usuario['ultimo_acceso'] = mysql_datetime(); $usuario['registro'] = mysql_datetime(); _F_usuario_agregar($usuario); unset($usuario); // Tabla de tiendas $campos = "id_tienda INT NOT NULL AUTO_INCREMENT PRIMARY KEY, id_usuario INT, tiendaURL VARCHAR(50), tiendaTitulo VARCHAR(100), tiendaSubtitulo VARCHAR(200), tiendaCSS LONGTEXT"; echo db_crear_tabla("ventas_tienda", $campos, false || $forzar); // Tabla de categorias $campos = "id_categoria INT NOT NULL AUTO_INCREMENT PRIMARY KEY, padre INT, nombre VARCHAR(200), descripcion VARCHAR(500), rubro VARCHAR(15)"; echo db_crear_tabla("ventas_categorias", $campos, false || $forzar); $uid = db_agregar_datos("ventas_categorias", array("padre" => NULL, "nombre" => "Inmuebles", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Campo", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de apartamentos", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de apartamentos amueblados", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de casas", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de casas amuebladas", "descripcion" => "", "rubro" => "inmueble")); db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Venta de casas", "descripcion" => "", "rubro" => "inmueble"));
function SSL_COMPRA_PROCESAR() { global $variedad; if (isset($_POST['btn_cancelar'])) { if (isset($_POST['variedad'])) { $c = 'SELECT titulo, descripcion FROM flores_producto_contenedor LEFT JOIN flores_producto_variedad USING (codigo_producto) WHERE codigo_variedad="' . db_codex($_POST['variedad']) . '"'; $r = mysql_fetch_assoc(db_consultar($c)); $location = PROY_URL . 'arreglos-florales-floristerias-en-el-salvador-' . SEO($f['titulo'] . '-' . $f['codigo_producto']); } else { $location = PROY_URL; } header("Location: " . $location); ob_end_clean; exit; } if (!isset($_POST['btn_comprar']) || !isset($_POST['variedad'])) { return false; } // Revisamos si ya envió la compra, no vaya a ser doble compra. if (db_contar(db_prefijo . 'SSL_compra_contenedor', 'transaccion="' . db_codex($_POST['transaccion']) . '"')) { header("Location: " . PROY_URL); exit; } // Verificamos que todos los datos sean válidos $ERRORES = array(); require_once 'PHP/ssl.vericard.php'; $_POST['txt_numero_t_credito'] = preg_replace('/[^\\d]/', '', $_POST['txt_numero_t_credito']); if (!checkCreditCard($_POST['txt_numero_t_credito'], $_POST['cmb_tipo_t_credito'], $ccerror, $ccerrortext)) { $ERRORES[] = $ccerrortext; } // Tratamos de ver si la direccion de entrega es valida if (strlen(preg_replace('[^\\w]', '', $_POST['txt_direccion_entrega'])) < 10) { $ERRORES[] = 'Por favor revise que la dirección de entrega sea correcta y suficimientemente detallada.'; } // Tratamos de ver si la direccion de entrega es valida if (!preg_match('/^\\d{4}-\\d{2}-\\d{2}$/', $_POST['txt_fecha_entrega'])) { $ERRORES[] = 'Por favor revise que la fecha de entrega sea en este formato: año-mes-dia.'; } if (!preg_match('/^\\d{2}\\/\\d{2}$/', $_POST['txt_fecha_expiracion'])) { $ERRORES[] = 'Por favor revise que la fecha de expiración de la tarjeta de crédito sea en el formato MES/AÑO incluyendo la pleca (/).'; } if (!preg_match('/^\\d{3,4}$/', $_POST['txt_ccv'])) { $ERRORES[] = 'Por favor revise que el número de verificación de la tarjeta de crédito sean tres (3) números. Sirvase de las instrucciones para encontrar este número en su tarjeta de crédito.'; } if (strlen($_POST['txt_nombre_t_credito']) < 10) { $ERRORES[] = 'El nombre del acreedor de la tarjeta de crédito parece inválido'; } /* if (!validcorreo($_POST['txt_correo_contacto'])) { $ERRORES[] = 'El correo ingresado no parece valido, por favor compruebelo.'; } */ if (count($ERRORES) > 0) { echo '<h1>Lo sentimos, hay errores en los datos ingresados</h1>'; echo '<p>Hemos detectado los siguientes errores en los datos introducidos y no podremos procesar su compra a menos que sean corregidos:</p>'; echo '<p class="error">' . join('</p><p class="error">', $ERRORES) . '</p>'; return; } // Encriptamos la tarjeta de credito $t_credito = db_codex(preg_replace('/[^\\d]/', '', trim($_POST['txt_numero_t_credito']))); $c = sprintf('SELECT AES_ENCRYPT("%s","%s") AS t_credito_AES', $t_credito, db__key_str); $r = db_consultar($c); $f = mysql_fetch_assoc($r); $DATOS['codigo_compra'] = '0'; $DATOS['codigo_usuario'] = '0'; $DATOS['estado'] = 'nuevo'; $DATOS['fecha'] = mysql_datetime(); $DATOS['codigo_variedad'] = @$variedad['codigo_variedad']; $DATOS['precio_grabado'] = @$variedad['precio']; $DATOS['n_credito'] = @$f['t_credito_AES']; $DATOS['tipo_t_credito'] = @$_POST['cmb_tipo_t_credito']; $DATOS['telefono_destinatario'] = @$_POST['txt_telefono_destinatario']; $DATOS['telefono_remitente'] = @$_POST['txt_telefono_remitente']; $DATOS['fecha_exp_t_credito'] = @$_POST['txt_fecha_expiracion']; $DATOS['nombre_t_credito'] = @$_POST['txt_nombre_t_credito']; $DATOS['pin_4_reverso_t_credito'] = @$_POST['txt_ccv']; $DATOS['direccion_entrega'] = @$_POST['txt_direccion_entrega']; $DATOS['fecha_entrega'] = @$_POST['txt_fecha_entrega']; $DATOS['tarjeta_de'] = @$_POST['txt_tarjeta_de']; $DATOS['tarjeta_para'] = @$_POST['txt_tarjeta_para']; $DATOS['tarjeta_cuerpo'] = @$_POST['txt_tarjeta_cuerpo']; $DATOS['usuario_notas'] = @$_POST['txt_usuario_notas']; $DATOS['correo_contacto'] = @$_POST['txt_correo_contacto']; $DATOS['transaccion'] = @$_POST['transaccion']; $DATOS['precio_envio'] = @(double) $_POST['destino']; if ($_POST['txt_numero_t_credito'] == str_repeat('1', 16)) { return '<p>ERROR</p>'; } return db_agregar_datos(db_prefijo . 'SSL_compra_contenedor', $DATOS); }
$buffer = ''; if (isset($_POST['saldar']) && isset($_POST['ID_pago']) && is_numeric($_POST['ID_pago'])) { $datos['pendiente'] = 0; $datos['fecha_saldado'] = mysql_datetime(); db_actualizar_datos(db_prefijo . 'empresa_pago', $datos, 'ID_pago=' . $_POST['ID_pago']); $buffer .= '<h2>Resultado</h2><p>El pago pendiente fue saldado.</p>'; } if (isset($_POST['grabar']) && is_array($_POST['ID_empresa'])) { foreach ($_POST['ID_empresa'] as $ID_empresa) { unset($datos); $datos['ID_empresa'] = $ID_empresa; $datos['ID_usuario'] = usuario_cache('ID_usuario'); $datos['fecha_registro'] = mysql_datetime(); $_POST['pendiente'] = (int) @$_POST['pendiente']; if ($_POST['pendiente'] == 0) { $datos['fecha_saldado'] = mysql_datetime(); } if (empty($_POST['cantidad_dias']) && empty($_POST['fecha_fin'])) { $errores[] = 'No especifico duracion en dias ni fecha limite'; } if (!empty($_POST['cantidad_dias']) && is_numeric($_POST['cantidad_dias'])) { $_POST['fecha_fin'] = mysql_date($_POST['fecha_inicio'] . ' +' . $_POST['cantidad_dias'] . ' day'); } if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_inicio'])) { $errores[] = 'La fecha de inicio no es válida'; } if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_fin'])) { $errores[] = 'La fecha de fin no es válida'; } $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('fecha_inicio', 'fecha_fin', 'pago', 'pendiente')))); if (isset($errores)) {
} if (isset($_POST['recordatorio'])) { $fecha = date('Y-m-d', strtotime(str_replace('/', '-', $_POST['fecha']))) . ' ' . $_POST['hora']; db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'recordatorio'), 'ID_prospecto=' . db_codex($_POST['ID_prospecto'])); db_agregar_datos(db_prefijo . 'recordatorio', array('ID_usuario' => _F_usuario_cache('ID_usuario'), 'ID_prospecto' => $_POST['ID_prospecto'], 'fecha' => $fecha, 'nota' => $_POST['notas'])); db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'] . '<hr /><small>Recordatorio establecido para <b>' . $fecha . '</b></small>', 'fecha' => mysql_datetime(), 'accion' => 'recordatorio')); // Guardemos lo que llevamos de la encuesta _prospecto_guardar_encuesta(); } if (isset($_POST['reciclar'])) { db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'luego'), 'ID_prospecto=' . $_POST['ID_prospecto']); db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'], 'fecha' => mysql_datetime(), 'accion' => 'luego')); } if (isset($_POST['descartar'])) { db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'descartado'), 'ID_prospecto=' . $_POST['ID_prospecto']); db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'], 'fecha' => mysql_datetime(), 'accion' => 'descartado')); } } // Obtener un prospecto a la suerte. // Solo que debe cumplir las siguientes condiciones: // * Situacion = nuevo // * ultima_presentacion = núnca o 7 días antes // * preferencia horaria: east, central, west /* FIX: usar transacción para evitar condición de carrera */ // Esta viendo un recordatorio if (isset($_GET['p']) && isset($_GET['r'])) { $cRecordatorio = 'SELECT `ID_recordatorio`, `ID_usuario`, `ID_prospecto`, `fecha`, `nota` FROM `' . db_prefijo . 'recordatorio` WHERE ID_recordatorio = "' . db_codex($_GET['r']) . '" AND ID_prospecto = "' . db_codex($_GET['p']) . '"'; $rRecordatorio = db_consultar($cRecordatorio); if (mysql_num_rows($rRecordatorio) && ($fRecordatorio = mysql_fetch_assoc($rRecordatorio))) { db_consultar('DELETE FROM ' . db_prefijo . 'recordatorio WHERE ID_recordatorio="' . $fRecordatorio['ID_recordatorio'] . '" AND ID_prospecto="' . db_codex($fRecordatorio['ID_prospecto']) . '"'); db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'nuevo'), 'ID_prospecto=' . $fRecordatorio['ID_prospecto']);
if (empty($_POST['fecha'])) { $_POST['fecha'] = date('Y-m-d'); } elseif (strtotime($_POST['fecha'] . ' ' . $_POST['tiempo'] . ' ' . $_POST['tiempo2']) > time()) { $errores[] = 'La fecha especificada es posterior a la fecha actual'; } elseif (!empleado_validar__fecha_dentro_de_periodo_laboral_activo($empleado['ID_empleado'], $_POST['fecha'])) { $errores[] = 'La fecha espeficada no es permitida puesto que no corresponde con el periodo laboral activo del empleado.'; } if (isset($errores)) { echo '<h2>Errores encontrados en la comprobación</h2><p class="error">' . join('</p><p class="error">', $errores) . '</p>'; } else { $mensaje[] = array('tipo' => 'info', 'mensaje' => 'El usuario <strong>' . usuario_cache('nombre') . '</strong>, añadió una acción de personal de tipo <strong>' . @$_POST['categoria'] . '</strong> con intensidad "<strong>' . @$_POST['intensidad'] . '</strong>" y con justificacion "<strong>' . @$_POST['justificacion'] . '</strong>" para el empleado <strong>' . $empleado['apellidos'] . ', ' . $empleado['nombres'] . '</strong>.'); mensaje(array(usuario_cache('ID_empresa')), $mensaje); $datos['grupo'] = "accion_de_personal"; $datos['ID_empleado'] = $empleado['ID_empleado']; $datos['fecha_registro'] = mysql_datetime(); $_POST['valor_fecha'] = mysql_datetime($_POST['fecha'] . ' ' . $_POST['tiempo'] . ' ' . $_POST['tiempo2']); $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('categoria', 'detalle1', 'detalle2', 'valor', 'valor_fecha')))); $ID_empleado_anexo = db_agregar_datos(db_prefijo . 'empleado_anexo', $datos); if ($ID_empleado_anexo) { echo '<h1>Registro anexado</h1>'; echo '<p>El registro ha sido ingresado a la base de datos.</p>'; echo '<p><input type="button" onclick="javascript:window.close()" value="Cerrar ventana"/></p>'; echo '<hr class="consulta" />'; } else { echo '<h1>Error</h1>'; echo '<p class="error">Lo sentimos, sucedio un error desconocido y su solicitud no pudo ser procesada, puede intentarlo nuevamene si lo desea</p>'; } } } $arrCSS[] = 'overcast/jquery-ui-1.8rc3.custom'; $arrJS[] = 'jquery-ui-1.8rc3.min';
function CONTENIDO_REGISTRAR() { if (S_iniciado()) { header("location: ./"); return; } if (isset($_POST['registrar_proceder'])) { $flag_registroExitoso = true; if (!empty($_POST['registrar_campo_email'])) { if (!validEmail($_POST['registrar_campo_email'])) { 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_email'], "email")) { 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['email'] = $_POST['registrar_campo_email']; } else { echo mensaje("Por favor ingrese su email e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_usuario'])) { if (_F_usuario_existe($_POST['registrar_campo_usuario'])) { echo mensaje("Este nombre de usuario ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (strpos(trim($_POST['registrar_campo_usuario']), " ")) { echo mensaje("Este nombre de usuario no es válido (contiene espacios), por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['usuario'] = trim($_POST['registrar_campo_usuario']); } else { echo mensaje("Por favor ingrese su usuario 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(strtolower($datos['usuario']) . 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'])) { if (_F_usuario_existe($_POST['registrar_campo_telefono'], "telefono1")) { echo mensaje("Este teléfono ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['telefono1'] = $_POST['registrar_campo_telefono']; } else { echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if ($flag_registroExitoso) { $datos["estado"] = _N_esp_activacion; $datos["nivel"] = _N_vendedor; $datos["ultimo_acceso"] = mysql_datetime(); $datos["registro"] = mysql_datetime(); db_agregar_datos("ventas_usuarios", $datos); echo "¡Su solicitud de registro ha sido procesada!<br />Sin embargo su cuenta estará activa cuando un Administrador apruebe su nueva cuenta.<br />Un mensaje será enviado su correo electrónico en el que se le confirmará que su cuenta esta activa.<br />Este proceso puede tardar entre 10 minutos y 2 horas en llevarse a cabo, gracias por su espera.<br />"; echo "Le invitamos a seguir navegando en nuestro sitio mientras su cuenta es activada. " . ui_href("registrar_continuar", "./", "Continuar") . "<br />"; email($datos['email'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario en " . PROY_NOMBRE . " ha sido exitoso, sin embargo los Administradores deberán activar manualmente su cuenta para que Ud. puede acceder.<br />\nSe le notificará por esta vía cuando la activación sea realizada.<br />\n\n<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['email'] . "</strong><br />\nUsuario: <strong>" . $datos['usuario'] . "</strong><br />\n<br /><br />Gracias por su amable espera.<br />" . PROY_NOMBRE . "<br />" . PROY_URL); email_x_nivel(_N_administrador, "Aprobación de nuevo usuario pendiente: " . $_POST['registrar_campo_usuario'] . ' ~ ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay un nuevo usuario esperando aprobación.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_usuarios_activacion">Administración: activación de usuarios</a>'); return; } } echo "¡Bienvenido!, ¿deseas formar parte del comercio electrónico?<br />Si ya posees una cuenta puedes " . ui_href("registrar_iniciar_sesion", "./iniciar", "iniciar sesión") . ".<br />Todos los campos son requeridos<br />"; 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_email", _F_form_cache("registrar_campo_email"))) . ui_td('<span id="registrar_respuesta_email"></span>')); echo ui_tr(ui_td("<acronym title='Este es el nombre que se le mostrará a los usuarios del sitio. Puede utilizar su código de vendedor o el apodo que Ud. prefiera'>Nombre de Usuario</acronym>") . ui_td(ui_input("registrar_campo_usuario", _F_form_cache("registrar_campo_usuario"))) . ui_td('<span id="registrar_respuesta_usuario"></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 y teléfono no serán revelados al público ni vendidos a terceras personas.</strong>"; echo JS_onload(' $("#registrar_campo_email").blur(function(){$("#registrar_respuesta_email").load("./registro_correo_existe:"+$("#registrar_campo_email").val());}); $("#registrar_campo_usuario").blur(function(){$("#registrar_respuesta_usuario").load("./registro_usuario_existe:"+$("#registrar_campo_usuario").val());}); '); }
function INTERFAZ__ADMIN_USUARIOS_EDITAR() { if (!empty($_POST['modificar'])) { $flag_registroExitoso = true; if (!empty($_POST['registrar_campo_email'])) { if (!validEmail($_POST['registrar_campo_email'])) { 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; } $datos['email'] = $_POST['registrar_campo_email']; } else { echo mensaje("Por favor ingrese su email e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_usuario'])) { if (strpos(trim($_POST['registrar_campo_usuario']), " ")) { echo mensaje("Este nombre de usuario no es válido (contiene espacios), por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['usuario'] = trim($_POST['registrar_campo_usuario']); } else { echo mensaje("Por favor ingrese su usuario 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(strtolower($datos['usuario']) . 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; } } if (!empty($_POST['registrar_campo_nombre'])) { $datos['nombre'] = $_POST['registrar_campo_nombre']; } if (isset($_POST['registrar_campo_telefono'])) { $datos['telefono1'] = $_POST['registrar_campo_telefono']; } if ($flag_registroExitoso) { $datos["estado"] = _N_activo; $datos["nivel"] = $_POST['nivel']; $datos["nPubMax"] = $_POST['nPubMax']; $datos["nImgMax"] = $_POST['nImgMax']; $datos["nDiasVigencia"] = $_POST['nDiasVigencia']; $datos["ultimo_acceso"] = mysql_datetime(); $datos["tienda"] = isset($_POST['tienda']) ? "1" : "0"; if (db_actualizar_datos("ventas_usuarios", $datos, "id_usuario=" . db_codex($_GET['usuario']))) { echo Mensaje("Usuario editado exitosamente"); echo '<h1>Opciones</h1>'; echo ui_href("", "admin_usuarios_admin", "Retornar a lista de usuarios"); } else { echo Mensaje("Usuario NO PUDO ser editado o no se realizo ningun cambio", _M_ERROR); } if (isset($_POST['enviar_notificacion'])) { email($datos['email'], sprintf("Estimado %s, sus datos han sido modificados en " . PROY_NOMBRE . " por un Administrador", $datos['usuario']), "Sus datos de usuario en " . PROY_NOMBRE . " han sido modificados por un administrador.<br />\n\n<hr><br />\n<h1>Datos actuales</h1><br />\nCorreo electrónico: <strong>" . $datos['email'] . "</strong><br />\nUsuario: <strong>" . $datos['usuario'] . "</strong><br /><br />" . PROY_NOMBRE . "<br />" . PROY_URL); } return; } } $usuario = _F_usuario_datos($_GET['usuario']); ?> <h1>Edición de usuario</h1> <form action="<?php echo $_SERVER['REQUEST_URI']; ?> " method="post" > <table> <tr><td>Correo electrónico</td><td><input name="registrar_campo_email" type="text" value="<?php echo $usuario['email']; ?> " /></tr> <tr><td>Usuario</td><td><input name="registrar_campo_usuario" type="text" value="<?php echo $usuario['usuario']; ?> " /></tr> <tr><td>Nombre</td><td><input name="registrar_campo_nombre" type="text" value="<?php echo $usuario['nombre']; ?> " /></tr> <tr><td>Clave</td><td><input name="registrar_campo_clave" type="password" value="" /></tr> <tr><td>Clave (confirmar)</td><td><input name="registrar_campo_clave_2" type="password" value="" /></tr> <tr><td>Teléfono de contacto</td><td><input name="registrar_campo_telefono" type="text" value="<?php echo $usuario['telefono1']; ?> " /></tr> <tr><td>Días de vigencia para publicaciones</td><td><input name="nDiasVigencia" type="text" value="<?php echo $usuario['nDiasVigencia']; ?> " /></tr> <tr><td>Publicaciones máximas</td><td><input name="nPubMax" type="text" value="<?php echo $usuario['nPubMax']; ?> " /></tr> <tr><td>Imagenes máximas</td><td><input name="nImgMax" type="text" value="<?php echo $usuario['nImgMax']; ?> " /></tr> <tr> <td>Nivel</td> <td> <select name="nivel"> <option <? echo ($usuario['nivel'] == _N_administrador ? 'selected="selected"' : ""); ?> value="<?php echo _N_administrador; ?> ">Administrador</option> <option <? echo ($usuario['nivel'] == _N_moderador ? 'selected="selected"' : ""); ?> value="<?php echo _N_moderador; ?> ">Moderador</option> <option <? echo ($usuario['nivel'] == _N_vendedor? 'selected="selected"' : ""); ?> value="<?php echo _N_vendedor; ?> ">Vendedor</option> </select> </td> </tr> </table> <input name="tienda" value="1" <?php echo $usuario['tienda'] == 1 ? 'checked="checked"' : ""; ?> type="checkbox"/> Habilitar Tienda<br /> <input name="enviar_notificacion" value="Si" checked="checked" type="checkbox"/> Enviar notificación sobre este cambio al usuario<br /> <br /> <input name="modificar" value="Modificar" type="submit"/> </form> <?php echo JS_onload(' $("#registrar_campo_email").keyup(function(){$("#registrar_respuesta_email").load("./registro_correo_existe:"+$("#registrar_campo_email").val());}); $("#registrar_campo_usuario").keyup(function(){$("#registrar_respuesta_usuario").load("./registro_usuario_existe:"+$("#registrar_campo_usuario").val());}); '); }
function CONTENIDO_REGISTRAR() { if (S_iniciado()) { header("location: ./"); return; } if (isset($_POST['registrar_proceder'])) { $flag_registroExitoso = true; if (!empty($_POST['registrar_campo_correo'])) { if (!validcorreo($_POST['registrar_campo_correo'])) { echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (_F_usuario_existe($_POST['registrar_campo_correo'], "correo")) { echo mensaje("Este correo electrónico ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['correo'] = $_POST['registrar_campo_correo']; } else { echo mensaje("Por favor ingrese su correo e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_nombre_completo'])) { $datos['nombre_completo'] = trim($_POST['registrar_campo_nombre_completo']); } else { echo mensaje("Por favor ingrese su nombre completo e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) { //Contraseñas iguales? if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) { //Tamaño adecuado? if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) { $datos['clave'] = sha1(trim($_POST['registrar_campo_clave'])); } else { echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR); $flag_registroExitoso = false; } } else { echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } } else { echo mensaje("Por favor ingrese su contraseña e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } if (empty($_POST['registrar_campo_telefono'])) { echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR); $flag_registroExitoso = false; } $datos['telefono'] = $_POST['registrar_campo_telefono']; if ($flag_registroExitoso) { $datos["nivel"] = _N_usuario; $datos["ultimo_acceso"] = mysql_datetime(); $datos["registro"] = mysql_datetime(); db_agregar_datos(db_prefijo . 'usuarios', $datos); echo Mensaje('¡Su solicitud de registro ha sido procesada!.'); echo '<p>Puede probar su nueva cuenta ingresando al sistema con el formulario a continuación</p>'; // Comprobamos que no haya ingresado al sistema if (!S_iniciado()) { require_once "PHP/inicio.php"; CONTENIDO_INICIAR_SESION(); return; } correo($datos['correo'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario en " . PROY_NOMBRE . " ha sido exitoso<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['correo'] . "</strong><br />\nNombre completo: <strong>" . $datos['nombre_completo'] . "</strong><br />\n<br /><br />Gracias por registarse.<br />" . PROY_NOMBRE . "<br />" . PROY_URL); return; } } $HEAD_titulo = PROY_NOMBRE . ' - Registrar cuenta'; echo "<p>¡Bienvenido!, ¿desea vivir la mejor experiencia en compra de flores en El Salvador?<br />Si ya posee una cuenta puede " . ui_href("", "./iniciar", "iniciar sesión") . '</p>'; echo __PORQUE_TENER_CUENTA; echo "<form action=\"registrar\" method=\"POST\">"; echo "<table>"; echo ui_tr(ui_td("<acronym title='Ud. ingresará a nuestro sistema usando esta dirección de correo electronico. Asegurese que la dirección exista, puesto que será necesaria en caso de que desee recuperar su contraseña.'>Correo electronico (e-mail)</acronym>") . ui_td(ui_input("registrar_campo_correo", _F_form_cache("registrar_campo_correo"))) . ui_td('<span id="registrar_respuesta_correo"></span>')); echo ui_tr(ui_td("<acronym title='Este es el nombre que utilizaremos al contactarlo'>Nombre Completo</acronym>") . ui_td(ui_input("registrar_campo_nombre_completo", _F_form_cache("registrar_campo_nombre_completo"))) . ui_td('<span id="registrar_respuesta_nombre_completo"></span>')); echo ui_tr(ui_td("<acronym title='Le permitirá validar su identidad en nuestro sistema. Deberá ser mayor a 6 carácteres'>Contraseña</acronym>") . ui_td(ui_input("registrar_campo_clave", "", "password"))); echo ui_tr(ui_td("<acronym title='Por favor ingrese nuevamente su contraseña (verificación)'>Contraseña (verificación)</acronym>") . ui_td(ui_input("registrar_campo_clave_2", "", "password"))); echo ui_tr(ui_td("<acronym title='Número de contacto principal. Le llamaremos a este número si es necesario esclarecer datos sobre una venta'>Teléfono de contacto</acronym>") . ui_td(ui_input("registrar_campo_telefono", _F_form_cache("registrar_campo_telefono")))); echo "</table>"; echo ui_input("registrar_proceder", "Proceder", "submit") . "<br />"; echo "</form>"; echo "<strong>Su correo electrónico, teléfono, dirección u otros datos no serán revelados al público ni vendidos a terceras personas.</strong>"; echo JS_onload(' $("#registrar_campo_correo").blur(function(){$("#registrar_respuesta_correo").load("./registro_correo_existe:"+$("#registrar_campo_correo").val());}); '); }
function CONTENIDO_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 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 empleado_buscar($op) { $arrErrores = array(); $arrAdvertencias = array(); // Revisamos las opciones $funcion = isset($op['funcion']) ? $op['funcion'] : 'empleado_buscar__vista_estandar'; $arrPARAMS = array_intersect_key($op, array('ID_empresa' => '', 'DUI' => '', 'NIT' => '', 'nombres' => '', 'apellidos' => '')); $WHERE = $CAMPOS = $PARAMS = $ORDER_BY = $GROUP_BY = ''; if (count($arrPARAMS)) { foreach ($arrPARAMS as $campo => $valor) { if ($valor) { $valor = db_codex($valor); $PARAMS .= " AND empleado.{$campo}=\"{$valor}\""; } } } if (!empty($op['nombre_completo'])) { $op['nombre_completo'] = db_codex($op['nombre_completo']); $PARAMS .= ' AND MATCH (nombres,apellidos) AGAINST("' . $op['nombre_completo'] . '" IN BOOLEAN MODE)'; if (isset($op['limite']) && $op['limite'] == 'solo_activos_si_nombre') { $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) = 0'; } } if (isset($op['limite']) && $op['limite'] == 'solo_activos') { $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) = 0'; } if (isset($op['limite']) && $op['limite'] == 'solo_inactivos') { $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) > 0'; } if (isset($op['estricto'])) { if (empty($arrPARAMS['DUI']) || empty($arrPARAMS['NIT']) || !preg_match('/\\d{8}-\\d/', $arrPARAMS['DUI']) || !preg_match('/\\d{4}-\\d{6}-\\d{3}-\\d/', $arrPARAMS['NIT'])) { $arrErrores[] = 'DUI o NIT faltantes o inválidos'; $PARAMS = '= 0'; } } if (!empty($op['campos'])) { $CAMPOS = ',' . $op['campos']; } if (!empty($op['WHERE'])) { $WHERE = ' ' . $op['WHERE']; } if (!empty($op['ORDER_BY'])) { $ORDER_BY = ' ORDER BY ' . $op['ORDER_BY']; } if (!empty($op['GROUP_BY'])) { $GROUP_BY = ' GROUP BY ' . $op['GROUP_BY']; } $c = sprintf('SELECT %s %s FROM `empleado` LEFT JOIN `empresa` USING(ID_empresa) LEFT JOIN `usuario` USING(`ID_usuario`) LEFT JOIN `cese` USING(ID_empleado) WHERE 1 %s %s %s %s', SQL_CAMPOS_EMPLEADO, $CAMPOS, $WHERE, $PARAMS, $ORDER_BY, $GROUP_BY); $r = db_consultar($c); // Grabar el resultado de la consulta solo si no es un admin o admin disfrazado de empresa if (usuario_cache('nivel') != NIVEL_administrador && !isset($_SESSION['cache_datos_usuario']['su'])) { unset($datos); $datos['ID_empresa'] = usuario_cache('ID_empresa'); $datos['ID_usuario'] = usuario_cache('ID_usuario'); $datos['DUI'] = @$op['DUI']; $datos['NIT'] = @$op['NIT']; $datos['contenido'] = @$op['nombre_completo']; $datos['limite'] = @$op['limite']; $datos['query'] = $c; $datos['modalidad'] = @$op['modo']; $datos['tiempo'] = mysql_datetime(); db_agregar_datos('consulta', $datos); } if (!isset($op['no_resultados_no_error']) && !mysql_num_rows($r)) { $arrErrores[] = 'No se encontraron registros de empleados <strong>activos</strong> que coincidan con su criterio de búsqueda'; } return call_user_func($funcion, $r, $arrErrores, $arrAdvertencias, $op); }
function EnviarNota($Mensaje, $Usuario = NULL, $Tipo = _M_INFO, $Contexto = _MC_broadcast) { // Solo los administradores pueden enviar mensajes a TODOS los usuarios. if (_F_usuario_cache('nivel') != _N_administrador && !$Usuario) { return 1; } // Solo los administradores pueden enviar mensajes "BroadCast" if (_F_usuario_cache('nivel') != _N_administrador && ($Contexto = _MC_broadcast)) { return 1; } $datos['id_usuario_rmt'] = _F_usuario_cache('id_usuario'); $datos['mensaje'] = $Mensaje; $datos['tipo'] = $Tipo; $datos['contexto'] = $Contexto; $datos['fecha'] = mysql_datetime(); $id_msj = db_agregar_datos("ventas_mensajes", $datos); unset($datos); $datos['id_usuario_dst'] = $Usuario; $datos['id_msj'] = $id_msj; $datos['leido'] = 0; $datos['eliminado'] = 0; $ret = db_agregar_datos("ventas_mensajes_dst", $datos); return true; }