function contenidos() { global $__BD, $__CAT, $__LIB, $__SEC, $__CLI; global $CLEAN_GET, $CLEAN_POST; echo '<h1>' . _MI_CUENTA . '</h1>'; echo '<div class="cajaTexto">'; $codigo = ""; if (isset($CLEAN_GET["codigo"])) { $codigo = $CLEAN_GET["codigo"]; } // Usuario de vuelta, ya tiene el codigo enviado por mail if ($codigo) { $email = $__BD->db_valor("select email from recordarcontras where codigo='{$codigo}'"); // Cambio de contra if ($email) { $contra = $__LIB->generarPassword(6); $contraSha = sha1($contra); $result = $__BD->db_query("update clientes set password='******' where email='{$email}'"); $titulo = $_SESSION["opciones"]["titulo"] . ' - ' . _NUEVA_CONTRA; $texto = _NUEVA_CONTRA . ' ' . $contra; $__LIB->enviarMail($email, $titulo, $texto); echo _CONTRA_CAMBIADA; echo '<p><a href="' . _WEB_ROOT_SSL . 'cuenta/login.php">' . _ENTRAR . '</a>'; } else { echo _CODIGO_INCORRECTO; } echo '</div>'; include "../includes/right_bottom.php"; exit; } $errores = array(); $procesar = 0; if (isset($CLEAN_POST["procesar"])) { $procesar = $CLEAN_POST["procesar"]; } // Primera fase, el usuario indica su email if ($procesar == 1) { $validacion = $__SEC->validarRecordarContra($CLEAN_POST, "datosCuenta"); $CLEAN_POST = $validacion["datos"]; $errores = $validacion["errores"]; $pasa = $validacion["pasa"]; $email = $CLEAN_POST["email"]; // control de email if ($pasa) { if (!$__BD->db_valor("select codcliente from clientes where email='{$email}'")) { $errores["email"] = _MAIL_NO_REGISTRADO; $pasa = false; } } if ($pasa) { mt_srand((double) microtime() * 1000000); $randValor = mt_rand(); $fecha = time(); $link = _WEB_ROOT_SSL . 'cuenta/olvide_contra.php?codigo=' . $randValor; $texto = '<a href="' . $link . '">' . $link . '</a>'; // Popular tabla de recordar contras $id = $__BD->db_valor("select max(id) from recordarcontras"); if (!$id) { $id = 0; } $id++; $result = $__BD->db_query("insert into recordarcontras(id, fecha, codigo, email) values({$id}, '{$fecha}', {$randValor}, '{$email}')"); if (!$result) { echo _ERROR_FATAL; include "../includes/right_bottom.php"; exit; } $titulo = $_SESSION["opciones"]["titulo"] . ' - ' . _CAMBIO_CONTRA; $texto = _MAIL_CONTRA . '<p>' . $texto; // Envio del correo $__LIB->enviarMail($email, $titulo, $texto); echo _CONTRA_RECORDADA; include "../includes/right_bottom.php"; exit; } } echo _RECORDAR_CONTRA; ?> <p> <form action="cuenta/olvide_contra.php" method="post"><div> <?php $codigo .= formularios::recordarContra($CLEAN_POST, $errores); $codigo .= formularios::botEnviar(); echo $codigo; ?> <input type="hidden" name="procesar" value="1"> </div></form> </div> <?php }