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 AJAX_cambio_en_estado_de_orden() { protegerme(true); $DATOS['estado'] = $_POST['estado']; $DATOS['estado_notas'] = $_POST['estado_notas']; db_actualizar_datos(db_prefijo . 'SSL_compra_contenedor', $DATOS, 'codigo_compra="' . db_codex($_POST['codigo_compra']) . '"'); }
$nota = '**La aplicación se ha vendido**'; aplicacion_ingresar_nota($_POST['ID_aplicacion'], $nota, _T_historial_sistema); //...y falsificamos una nota anexa si hay algo escrito $_POST['anexar_nota'] = true; } if (isset($_POST['vigilar'])) { db_agregar_datos(db_prefijo . 'prospectos_aplicados_vigilados', array('ID_aplicacion' => $_POST['ID_aplicacion'], 'ID_usuario' => _F_usuario_cache('ID_usuario'))); } if (isset($_POST['desvigilar'])) { $c = 'DELETE FROM ' . db_prefijo . 'prospectos_aplicados_vigilados WHERE ID_aplicacion="' . db_codex($_POST['ID_aplicacion']) . '" AND ID_usuario="' . _F_usuario_cache('ID_usuario') . '"'; db_consultar($c); } if (isset($_POST['asignar_agente']) && isset($_POST['ID_agente_us'])) { $f = db_obtener_fila(db_prefijo . 'usuarios', 'ID_usuario', $_POST['ID_agente_us']); $nota = 'Se ha asignado el agente UFS US <b>' . $f['nombre'] . '</b> a esta aplicación'; db_actualizar_datos(db_prefijo . 'prospectos_aplicados', array('ID_agente_us' => $_POST['ID_agente_us'], 'fecha_aceptada' => mysql_datetime()), 'ID_aplicacion="' . db_codex($_POST['ID_aplicacion']) . '" AND ID_prospecto="' . db_codex($_POST['ID_prospecto']) . '"'); db_agregar_datos(db_prefijo . 'historial', array('tipo' => _T_historial_sistema, 'fecha' => mysql_datetime(), 'cambio' => $nota, 'ID_aplicacion' => $_POST['ID_aplicacion'], 'ID_usuario' => _F_usuario_cache('ID_usuario'))); correo($f['correo'], 'Le han asignado una nueva aplicación', enviar_prospecto($_POST['ID_aplicacion'], $_POST['ID_prospecto'], true) . '<hr /><a href="' . PROY_URL_ACTUAL . '?ver=' . $_POST['ID_aplicacion'] . '">Ir a la aplicación</a>'); //TODO: enviar mensajito.us } if (isset($_POST['recordatorio']) && isset($_POST['notas'])) { $fecha = date('Y-m-d', strtotime(str_replace('/', '-', $_POST['fecha']))) . ' ' . $_POST['hora']; db_agregar_datos(db_prefijo . 'prospectos_aplicados_recordatorio', array('ID_usuario' => _F_usuario_cache('ID_usuario'), 'ID_aplicacion' => $_POST['ID_aplicacion'], 'fecha' => $fecha, 'nota' => $_POST['notas'])); // Un historial para decir que puso un recordatorio $nota = "Recordatorio establecido para {$fecha}"; aplicacion_ingresar_nota($_POST['ID_aplicacion'], $nota, _T_historial_sistema); //...y falsificamos una nota anexa si hay algo escrito $_POST['anexar_nota'] = true; } if (isset($_POST['anexar_nota']) && !empty($_POST['notas'])) { aplicacion_ingresar_nota($_POST['ID_aplicacion'], $_POST['notas'], _T_historial_comentario);
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());}); '); }
<?php protegerme(); $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';
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); } } } }
<?php //exit; require_once "PHP/vital.php"; set_time_limit(0); $c = 'SELECT codigo_producto, titulo, descripcion FROM flores_producto_contenedor WHERE twitted=0 ORDER BY codigo_producto ASC LIMIT 1'; $r = db_consultar($c); if (mysql_num_rows($r) == 0) { exit; } $f = mysql_fetch_assoc($r); $status = preg_replace(array('/Medida.*/i', '/Tamaño.*/i'), '', PROY_URL . 'arreglos-florales-floristerias-en-el-salvador-' . SEO($f['titulo'] . '-' . $f['codigo_producto']) . ' - ' . $f['descripcion']); tweet($status); $datos['twitted'] = "1"; db_actualizar_datos(db_prefijo . 'producto_contenedor', $datos, 'codigo_producto=' . $f['codigo_producto']); exit($status);
} // Viendo un prospecto numerado if (isset($_GET['p']) && empty($_GET['r'])) { $WHERE = 'ID_prospecto="' . db_codex($_GET['p']) . '"'; } $c = 'SELECT `ID_prospecto`, `situacion`, IF(`ultima_presentacion`,`ultima_presentacion`,"Nunca") AS "ultima_presentacion", `intentos`, `apellido`, `nombre`, `direccion1`, `direccion2`, `ciudad`, `estado`, `zip`, `telefono`, `especial2`, `especial3`, `especial5`, `especial6`, `especial7`, `interes`, `tipo` FROM `' . db_prefijo . 'prospectos` WHERE ' . $WHERE; $r = db_consultar($c); if (!mysql_num_rows($r)) { echo '<p>No hay prospectos disponibles en este momento.</p>'; return; } $f = mysql_fetch_assoc($r); // Configuracion de _prospecto_encuesta $ID_prospecto = $f['ID_prospecto']; // Tocar para que no le salga a nadie mas por este dia db_actualizar_datos(db_prefijo . 'prospectos', array('ultima_presentacion' => mysql_date()), 'ID_prospecto=' . $f['ID_prospecto']); // Obtengamos los recordatorios de esta hora... $c = 'SELECT `ID_recordatorio`, `ID_usuario`, `ID_prospecto`, `fecha`, `nota`, `nombre`, `apellido` FROM `' . db_prefijo . 'recordatorio` LEFT JOIN `' . db_prefijo . 'prospectos` USING(ID_prospecto) WHERE ID_usuario=' . _F_usuario_cache('ID_usuario') . ' AND ( `fecha` < (NOW() + INTERVAL 5 MINUTE) )'; $rr = db_consultar($c); echo '<h2>Recordatorios programados para esta hora</h2>'; if (mysql_num_rows($rr)) { echo '<table class="tabla-estandar">'; echo '<tr><th width="30%">Fecha</th><th>Prospecto</th><th width="50%">Nota</th><th>Enlace</th></tr>'; while ($ff = mysql_fetch_assoc($rr)) { echo sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', $ff['fecha'], $ff['apellido'] . ' , ' . $ff['nombre'], $ff['nota'], '<a href="' . PROY_URL_ACTUAL . '?p=' . $ff['ID_prospecto'] . '&r=' . $ff['ID_recordatorio'] . '">ver</a>'); } echo '</table><hr style="border:1px solid #F00;"/>'; } else { echo '<p>Por el momento no hay ningún recordatorio que mostrar.<br /> Todos los recordatorios pendientes se muestran 5 minutos antes de la hora programada.</p>'; } if ($f['tipo'] == 'debt') {