Ejemplo n.º 1
0
 /**
  * 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);
     }
 }
Ejemplo n.º 2
0
 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;
             }
         }
     }
 }
Ejemplo n.º 3
0
 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("没有操作权限");
     }
 }
Ejemplo n.º 4
0
 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);
     }
 }