/** * Función que envía un correo electrónico * @param array $datos */ public function enviar_mail(array $datos = array()) { $validacion_catcha = true; // Iniciamos la variable. if (\core\Configuracion::$form_insertar_externo_catcha) { require_once PATH_APP . 'lib/php/recaptcha-php-1.11/recaptchalib.php'; $privatekey = "6Lem1-sSAAAAAPfnSmYe5wyruyuj1B7001AJ3CBh"; $resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { $validacion_catcha = false; $datos['errores']['validacion'] = 'Error de intruducción del captcha.'; // \core\Distribuidor::cargar_controlador("usuarios", "form_login", $datos); } } if (self::enviar_mail_validar($datos) && $validacion_catcha) { $_SESSION["mensaje"] = "Su mensaje ha sido enviado."; // Envío del email $to = \core\Configuracion::$email_info; $subject = \core\Array_Datos::contenido("asunto", $_REQUEST); $from = \core\Configuracion::$email_noreply; $mensaje = \core\Array_Datos::contenido("mensaje", $_REQUEST); $nombre = $datos["values"]["nombre"]; $responder_a = $datos["values"]["email"]; $login = \core\Usuario::$login; if ($login != 'anonimo') { $tabla_users = \core\Modelo_SQL::get_prefix_tabla('usuarios'); $sql = 'select * from ' . $tabla_users . ' where login = "******"'; $email_BD = \core\Modelo_SQL::execute($sql); $email_BD = $email_BD[0]['email']; } else { $email_BD = 'No disponible'; } $message = "\n<html>\n<head>\n<title>{$subject}</title>\n</head>\n<body>\n<div style='text-align:left;'>\n<h4>Mensaje de:</h4>\n<ul>\n <li>Nombre: {$nombre}</li>\n <li>Email de contacto dado: {$responder_a}</li>\n <li>Mensaje enviado por usuario: {$login}</li>\n <li>Email que figura en la base de datos: {$email_BD}</li>\n</ul>\n<h4><span style='text-decoration:underline;'/>Asunto:</span> {$subject}</h4>\n<p>{$mensaje}</p>\n</div>\n</body>\n</html>"; $additional_headers = "From: " . \core\Configuracion::$email_noreply . "\r\n"; $additional_headers .= 'MIME-Version: 1.0' . "\r\n"; $additional_headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $additional_headers .= 'X-Mailer: PHP/' . phpversion(); if ($envio_email = mail($to, $subject, $message, $additional_headers)) { $datos["mensaje"] = "Su mensaje ha sido enviado con el siguiente texto:<br/>{$message}"; } else { // Si falla el envío del email $datos["mensaje"] .= "No se ha podido enviar el mensaje."; } $this->cargar_controlador('mensajes', 'mensaje', $datos); } else { if (!$validacion_catcha) { usset($datos["errores"]); $datos["errores"]["validacion"] = "Errores en el código catcha."; } \core\Distribuidor::cargar_controlador("contacto", "index", $datos); } }
public function _initialize() { if (isset($_COOKIE['remeber']) && !isset($_SESSION['user'])) { $remeber = explode('|', base64_decode($_COOKIE['remeber'])); $ip = get_client_ip(); if ($ip == $remeber[1]) { $id = $remeber[0]; $user = M('user')->where(array('id' => $id))->find(); if ($user) { usset($user['password']); $_SESSION['user'] = $user; } } } }
public function __construct() { parent::__construct(); if (isset($_COOKIE['adminuser']) && !isset($_SESSION['admin'])) { $remeber = explode('|', base64_decode($_COOKIE['adminuser'])); $ip = get_client_ip(); if ($ip == $remeber[1]) { $id = $remeber[0]; $user = D('UserRelation')->getUserInfo($id); if ($user) { usset($user['password']); $_SESSION['admin'] = $user; } } } if (!isset($_COOKIE['adminuser']) && !isset($_SESSION['admin']['id'])) { go(U('Admin/Login/index')); } if (!$this->checkAdminAccess()) { $this->error("没有操作权限"); } }
public function form_insertar_externo_validar(array $datos = array()) { // Guardamos la password sin cifrar $password = \core\Array_Datos::contenido("password", $_REQUEST); // Datos que no han venido en el formulario $_REQUEST['clave_confirmacion'] = \core\Random_String::generar(30); $validacion_catcha = true; // Iniciamos la variable. if (\core\Configuracion::$form_insertar_externo_catcha) { require_once PATH_APP . 'lib/php/recaptcha-php-1.11/recaptchalib.php'; $privatekey = "6Lem1-sSAAAAAPfnSmYe5wyruyuj1B7001AJ3CBh"; $resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { $validacion_catcha = false; $datos['errores']['validacion'] = 'Error de intruducción del captcha.'; // \core\Distribuidor::cargar_controlador("usuarios", "form_login", $datos); } } if (self::form_insertar_validar($datos) && $validacion_catcha) { $datos["mensaje"] = "Se ha grabado correctamente el usuario. "; // Envío del email $url = \core\URL::generar("usuarios/confirmar_alta/{$datos['values']['id']}/" . urlencode($datos['values']['clave_confirmacion'])); $to = $datos["values"]["email"]; $subject = "Confirmación de alta de usuario en " . TITULO; $message = "\n<html>\n<head>\n <title>Confirmación cuenta en " . TITULO . "</title>\n</head>\n<body>\n\t<h3>Confirmación cuenta en " . TITULO . "</h3>\n\t<p>Login: <b>{$datos['values']['login']}</b><br/> Password: <b>{$password}</b></p>\n\t<p>Bienvenido a " . TITULO . ". Para confirmar su registro pulse en el siguiente hipervínculo:<br/><a href='{$url}' target='_blank' >{$url}</a>\n\t</p>\n\t<p>En caso de no funcionar puede copiar y pegar el hipervínculo en la barra de direcciones de su navegador.</p>\n</body>\n</html>"; $additional_headers = "From: " . \core\Configuracion::$email_noreply . "\r\n"; $additional_headers .= 'MIME-Version: 1.0' . "\r\n"; $additional_headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $additional_headers .= 'X-Mailer: PHP/' . phpversion(); if ($envio_email = mail($to, $subject, $message, $additional_headers)) { //$datos["mensaje"] .= "<p>Se ha enviado un correo electrónico a la cuenta de email aportada.</p> <p>Para confimar su alta, consulte su correo electrónico y haga click en el vínculo que se le ha enviado. Si no lo encuentra en la bandeja de entrada <b>revise su spam</b>, por favor.</p>"; $datos["mensaje"] .= iText('mensajeRegistro', 'frases'); } else { // Si falla el envío del email $datos["mensaje"] .= "No se ha podido enviar el correo electrónico. Su cuenta está pendiente de confirmar por email, pinchando en el enlace que se envía <a href='{$url}' target='_blank'>{$url}</a>"; } $this->cargar_controlador('mensajes', 'mensaje', $datos); } else { if (!$validacion_catcha) { usset($datos["errores"]); $datos["errores"]["validacion"] = "Errores en el código catcha."; } \core\Distribuidor::cargar_controlador("usuarios", "form_insertar_externo", $datos); } }