function DATA_clientes($sub) { switch ($sub) { case 'registrar': if (isset($_POST['cmdEnviar'])) { unset($_POST['cmdEnviar']); // Chequear validez if (_F_form_cache('usuario') && strlen(_F_form_cache('clave')) > 5 && _F_form_cache('nombre') && _F_form_cache('email')) { $_POST['usuario'] = strtolower($_POST['usuario']); $_POST['clave'] = md5($_POST['clave']); $_POST['nivel'] = _N_usuario; $_POST['contraclave'] = ''; $_POST['avatar'] = ''; $_POST['u_acceso'] = time(); if (_F_usuario_agregar($_POST)) { echo JS_growl("Usuario exitosamente agregado."); unset($_POST); } else { echo JS_growl("Usuario NO pudo ser registrado, ya existia."); } } else { echo JS_growl("Faltan datos o contraseña demasiado corta (6 caracteres minimo)."); } } echo "<div style='position:absolute;left:200px;width:70%'>"; echo "<form action='./?accion=clientes&sub=registrar' method='POST'>"; echo "<table class='limpia'>"; echo ui_tr(ui_td("Nombre del usuario", "", "font-weight:bold") . ui_td(ui_input("usuario", _F_form_cache('usuario')))); echo ui_tr(ui_td("Clave del usuario", "", "font-weight:bold") . ui_td(ui_input("clave", _F_form_cache('clave'), "password"))); echo ui_tr(ui_td("Nombre del cliente", "", "font-weight:bold") . ui_td(ui_input("nombre", _F_form_cache('nombre')))); echo ui_tr(ui_td("email", "", "font-weight:bold") . ui_td(ui_input("email", _F_form_cache('email')))); echo ui_tr(ui_td("Telefono 1") . ui_td(ui_input("telefono1", _F_form_cache('telefono1')))); echo ui_tr(ui_td("Telefono 2") . ui_td(ui_input("telefono2", _F_form_cache('telefono2')))); echo ui_tr(ui_td("Telefono 3") . ui_td(ui_input("telefono3", _F_form_cache('telefono3')))); //echo ui_tr(ui_td("").ui_td(ui_input(""))); //Avatar echo ui_tr(ui_td("Notas") . ui_td(ui_textarea("notas", _F_form_cache('notas')))); echo "</table>"; echo ui_input("cmdEnviar", "Registrar", "submit"); echo ui_input("cmdCancelar", "Cancelar", "button"); echo "</form>"; echo "<br /><br />\nNotas:\n<ol>\n<li>El nombre de usuario será convertido a minúsculas</li>\n<li>La contraseña debe ser mayor a 6 letras</li>\n<li>Los campos en negrita son obligatorios</li>\n</ol>"; echo "</div>"; echo JS_onload('$("#cmdCancelar").click(function(){window.location="./?accion=clientes"});'); break; case "editar": case "materiales": $id_usuario = mysql_real_escape_string($_GET['usuario']); $c = "SELECT id_material, material, coalesce((SELECT costo FROM ahm_materiales_indv AS b WHERE id_usuario='{$id_usuario}' and a.id_material = b.id_material),0) AS costo, (SELECT activo FROM ahm_materiales_indv AS b WHERE id_usuario='{$id_usuario}' and a.id_material = b.id_material) as activo FROM ahm_materiales AS a;"; $resultado = db_consultar($c); $n_filas = mysql_num_rows($resultado); echo "<div style='position:relative;width:90%;margin-left:auto;margin-right:auto'>"; echo "<form action='./?accion=clientes' method='POST'>"; echo "<table style='width:100%' summary='Materiales disponibles'>"; echo "<thead>"; echo ui_tr(ui_th("Código") . ui_th("Material") . ui_th("Coto (\$)") . ui_th("Activo")); echo "</thead>"; echo "<tfoot>"; echo "<tr><td colspan='8'>Se encontraron en total <span style='color:#00F'>{$n_filas}</span> materiales disponibles. " . ui_input("cmdGrabarMateriales", "Grabar lista de materiales", "submit") . ui_input("cmdCancelar", "Cancelar", "button", "", "", 'onclick="window.location=\'./?accion=clientes\'"') . "</td></tr>"; echo "</tfoot>"; echo "<tbody>"; for ($i = 0; $i < $n_filas; $i++) { $id_material = mysql_result($resultado, $i, "id_material"); $material = mysql_result($resultado, $i, "material"); $costo = ui_input("txt_" . mysql_result($resultado, $i, "id_material"), mysql_result($resultado, $i, "costo")); $activo = ui_input("chk_" . mysql_result($resultado, $i, "id_material"), "1", "checkbox", "", "", mysql_result($resultado, $i, "activo") ? 'checked="checked"' : ''); echo ui_tr(ui_td($id_material) . ui_td($material) . ui_td($costo) . ui_td($activo)); } echo "</tbody>"; echo "</table>"; echo ui_input('id_usuario', $_GET['usuario'], 'hidden'); echo "</form>"; echo "</div>"; break; default: echo "<div style='position:relative;width:90%;margin-left:auto;margin-right:auto'>"; //************************************************************************** // ¿Será que necesitamos registrar los materiales? //__________________________________________________________________________ if (isset($_POST['cmdGrabarMateriales']) && isset($_POST['id_usuario'])) { // echo print_ar($_POST); // Primero nos deshacemos de los materiales a su cuenta. $id_usuario = mysql_real_escape_string($_POST['id_usuario']); $c = "DELETE FROM ahm_materiales_indv WHERE id_usuario='{$id_usuario}'"; db_consultar($c); foreach ($_POST as $key => $value) { if (ereg("^txt_([0-9]+)\$", $key, $reg_)) { $activo = isset($_POST['chk_' . $reg_[1]]) ? 1 : 0; db_agregar_datos("ahm_materiales_indv", array("id_usuario" => $id_usuario, "id_material" => $reg_[1], "costo" => $_POST['txt_' . $reg_[1]], "activo" => $activo)); } } echo "<b>Los materiales fueron registrados.</b><br /><br />"; } //************************************************************************** $c = "SELECT id_usuario, usuario, nombre, email, u_acceso FROM ahm_usuarios"; $resultado = db_consultar($c); $n_filas = mysql_num_rows($resultado); echo "<table style='width:100%' summary='Lista de clientes'>"; echo "<thead>"; echo ui_tr(ui_th("N°") . ui_th("Usuario") . ui_th("Nombre") . ui_th("email") . ui_th("Acceso") . ui_th("Acción")); echo "</thead>"; echo "<tfoot>"; echo "<tr><td colspan='8'>Se encontraron en total <span style='color:#00F'>{$n_filas}</span> usuarios/clientes registrados. <a href='./?accion=clientes&sub=registrar'>Clic aquí para registrar uno nuevo</a></td></tr>"; echo "</tfoot>"; echo "<tbody>"; for ($i = 0; $i < $n_filas; $i++) { $id_usuario = mysql_result($resultado, $i, "id_usuario"); $usuario = mysql_result($resultado, $i, "usuario"); $nombre = mysql_result($resultado, $i, "nombre"); $email = mysql_result($resultado, $i, "email"); $u_acceso = date("h:ia @ d/m/Y", mysql_result($resultado, $i, "u_acceso")); $Accion = "[<a href='./?accion=clientes&sub=editar&usuario={$id_usuario}'>Modificar</a>][<a href='./?accion=clientes&sub=materiales&usuario={$id_usuario}'>Materiales</a>]"; echo ui_tr(ui_td($id_usuario) . ui_td($usuario) . ui_td($nombre) . ui_td($email) . ui_td($u_acceso) . ui_td($Accion)); } echo "</tbody>"; echo "</table>"; echo "</div>"; } }
function CONTENIDO_PUB2MAIL($publicacion) { if (!empty($_POST['nr']) && !empty($_POST['nd']) && !empty($_POST['correo']) && !empty($_POST['enviar_pub2mail'])) { // Nos conformamos con que exista el destinatario: if (validEmail($_POST['correo'])) { $MensajeMail = ""; if (email($_POST['correo'], "Publicación: " . $publicacion['titulo'], "Estimado(a) " . $_POST['nd'] . ",<br />\nQuiero que revises la siguiente publicación: " . curPageURL(true) . " en " . PROY_NOMBRE . "<br />\n" . (!empty($_POST['comentario']) ? "<br />\nEl usuario también ha includio el siguiente comentario para Ud.<br />\n" . $_POST['comentario'] . "<br />\n<br />\n" : "") . "Gracias,<br />\n" . $_POST['nr'])) { echo Mensaje("Su mensaje ha sido enviado"); echo ui_href("", curPageURL(true), "Retornar a la publicación"); } else { echo Mensaje("Su mensaje NO ha sido enviado debido a fallas técnicas, por favor intente en otro momento"); } return; } else { echo Mensaje("Parece que el correo electronico esta mal escrito", _M_ERROR); } } echo '<h1>Envío de publicación</h1>'; echo '<p>Enviar la publicación "<strong>' . $publicacion['titulo'] . '</strong>" a un amigo</p>'; echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">'; echo '<table class="semi-ancha limpio centrado">'; echo ui_tr(ui_td('Nombre remitente', 'fDer') . ui_td(ui_input("nr", _F_form_cache('nr') ? _F_form_cache('comentario') : _F_usuario_cache('usuario'), "text", "", "width:100%"), "fInput")); echo ui_tr(ui_td('Nombre destinatario', 'fDer') . ui_td(ui_input("nd", _F_form_cache('nd'), "text", "", "width:100%"), "fInput")); echo ui_tr(ui_td('Correo electrónico destinatario', 'fDer') . ui_td(ui_input("correo", _F_form_cache('correo'), "text", "", "width:100%"), "fInput")); echo ui_tr(ui_td('Comentario', 'fDer') . ui_td(ui_textarea("comentario", _F_form_cache('comentario'), "", "width:100%"), "fInput")); echo '<tr><td colspan="2" class="fDer">' . ui_input("enviar_pub2mail", "Enviar", "submit") . '</td></tr>'; echo '</table>'; echo '</form>'; echo '<h1>Opciones</h1>'; echo ui_href("", curPageURL(true), "Cancelar y retornar a la publicación"); }
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_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 CargarDatos($id_publicacion, $id_usuario) { // HTML purifier require_once "PHP/HTMLPurifier.standalone.php"; $config = HTMLPurifier_Config::createDefault(); $config->set('HTML.Doctype', 'XHTML 1.0 Strict'); $config->set('Filter.YouTube', true); $purifier = new HTMLPurifier($config); HTMLPurifier_Bootstrap::autoload('HTMLPurifier_Filter_YouTube'); $id_publicacion = db_codex($id_publicacion); $id_usuario = db_codex($id_usuario); if (_F_usuario_cache('nivel') != _N_administrador) { $datos["tipo"] = _A_temporal; $datos["fecha_ini"] = mysql_datetime(); $datos["fecha_fin"] = mysql_datetime(); } $datos["id_categoria"] = _F_form_cache("id_categoria"); // $datos["id_usuario"] = $id_usuario; // No usar. $datos["precio"] = _F_form_cache("precio"); $datos["titulo"] = _F_form_cache("titulo"); $datos["descripcion_corta"] = strip_html_tags(_F_form_cache("descripcion_corta")); $datos["descripcion"] = $purifier->purify(_F_form_cache("descripcion")); $ret = db_actualizar_datos("ventas_publicaciones", $datos, "id_publicacion='{$id_publicacion}'"); unset($datos); // Tags // Procesamos los nuevos tags (eliminamos los espacios, las comas finales y hacemos array) // Nota: no evaluamos las comas finales con posibles espacios porque se eliminan con la primera pasada $tags = explode(",", preg_replace(array('/ */', '/^,/', '/,$/'), '$1', @$_POST['tags']), 5); // Eliminamos posible exploit en los tags $tags = db_codex($tags); // Insertamos los nuevos tags $val_tags = implode("'),('", $tags); db_consultar("INSERT IGNORE INTO ventas_tag (tag) VALUES('{$val_tags}')"); // Ponemos los tags en referencia a la publicación actual // +Eliminados los tags de esta publicación primero+++++++++++++++++++++++++ $val_tags = implode("','", $tags); $c = "DELETE FROM ventas_tag_uso WHERE id_publicacion='{$id_publicacion}'"; $r = db_consultar($c); // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ db_consultar("INSERT INTO ventas_tag_uso (id_tag,id_publicacion) SELECT id, {$id_publicacion} FROM ventas_tag WHERE tag IN ('{$val_tags}')"); // Hay que eliminar los flags antes que nada. $c = "DELETE FROM ventas_flags_pub WHERE id_publicacion='{$id_publicacion}'"; $r = db_consultar($c); $datos['id'] = NULL; $datos['id_publicacion'] = $id_publicacion; foreach (array("venta", "pago", "entrega") as $campo) { if (isset($_POST[$campo]) && is_array($_POST[$campo])) { foreach ($_POST[$campo] as $llave => $valor) { $datos['id_flag'] = $valor; $datos['tipo'] = $campo; db_agregar_datos("ventas_flags_pub", $datos); } } } }