Activación de registro por correo Activación de registro por correo
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Activación de registro por correo

Started by marioo, January 08, 2012, 03:08:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

marioo

Se que mis preguntas son numerosas pero es que las respuestas inexistentes  :-\ y me gustaría obtener soluciones alguna vez, se que de los errores se aprende y eso voy haciendo poco a poco, y después de muchos intentos, pero sin la ayuda de alguien que realmente sepa se me hace muy difícil, pero bueno, no dejo de postear mis problemas:

Tengo marcada la opción "El administrador activa los registros de usuario" dentro de configuración de galería > Registro de usuarios, de ésta manera, cada vez que un usuario decide registrarse, me llega un mail de activación, pero en este mail solo me sale el nombre del usuario que tramita la petición:

A new user with the username "xxx" has registered in your gallery.
In order to activate the account, you need to click on the link below or copy
and paste it in your web browser.
http://mariofotos.site88.net/gallery/register.php?activate=492fbb92e31ee606307a89a6151793b2


me gustaría saber si cabe la posibilidad de que, en el mail, además de salirme el nombre de usuario (xxx) salgan otros datos que también se solicitan en el registro, (campos personalizados para perfiles de usuarios) como son, location, interests, website, occupation...

Sigo esperando respuestas  :)

jmatute

Quote from: marioo on January 08, 2012, 03:08:12 PM
Se que mis preguntas son numerosas pero es que las respuestas inexistentes  :-\ y me gustaría obtener soluciones alguna vez,

Me parece que soy el único que responde últimamente, y en el curro tenemos un apretón de la leche.

Aparte de eso,
Quote from: marioo on January 08, 2012, 03:08:12 PM
se que de los errores se aprende y eso voy haciendo poco a poco, y después de muchos intentos, pero sin la ayuda de alguien que realmente sepa se me hace muy difícil, pero bueno, no dejo de postear mis problemas:

Ese es el espíritu. Otra cosa es que te pueda ayudar.

Quote from: marioo on January 08, 2012, 03:08:12 PM
Tengo marcada la opción "El administrador activa los registros de usuario" dentro de configuración de galería > Registro de usuarios, de ésta manera, cada vez que un usuario decide registrarse, me llega un mail de activación, pero en este mail solo me sale el nombre del usuario que tramita la petición:

A new user with the username "xxx" has registered in your gallery.
In order to activate the account, you need to click on the link below or copy
and paste it in your web browser.
http://mariofotos.site88.net/gallery/register.php?activate=492fbb92e31ee606307a89a6151793b2

¿Por qué te sale en inglés?

Quote from: marioo on January 08, 2012, 03:08:12 PM
me gustaría saber si cabe la posibilidad de que, en el mail, además de salirme el nombre de usuario (xxx) salgan otros datos que también se solicitan en el registro, (campos personalizados para perfiles de usuarios) como son, location, interests, website, occupation...

Tendrías que meterte a modificar el archivo register.php. Es desde donde se manda el correo de activación.

Quote from: marioo on January 08, 2012, 03:08:12 PM
Sigo esperando respuestas  :)

No sé si te he ayudado.

Saludos,

marioo

Quote
Me parece que soy el único que responde últimamente, y en el curro tenemos un apretón de la leche.
ya veo, te lo agradezco muchísimo y prometo ser más paciente ahora que lo sé :D
Quote
¿Por qué te sale en inglés?
ni idea :S supongo que habrá que modificar alguna línea de language en "registrer.php", porque el resto del foro me sale en español, pero no consigo acertar, aunque para mi es lo de menos, con mis escasos conocimientos de inglés consigo descifrar lo que me interesa :)
Quote
Tendrías que meterte a modificar el archivo register.php. Es desde donde se manda el correo de activación.
Gracias de nuevo, eso acabo de intentar hacer, pero la buena intención no es suficiente cuando no se tiene ni idea de php, html y demás, aunque me gustaría subir mis intentos por si sirvieran a alguien de algo y me pudiera decir si me acerco o en qué me equivoco, no antes sin remarcar que estas modificaciones son solo fruto de la intuición de alguien que no tiene ni idea :), a parte, ¿puede que también tenga algo que ver el archivo "mailer.inc.php"?

1. abrí el .php con Dreamweaver (sé que no es muy recomendado porque embellece pero no dispongo de conocimientos ni programas alternativos a parte del WordPad que me hace más difícil el trabajo porque no numera las líneas)
2. fui bajando, leyendo detenidamente y parándome donde me parecía que llegaba a los fragmentos que afectaban a lo que quería modificar. Finalmemte, el fragmento escogido:
   
   - L669 -> If the admin has to activate the login, give them the link to do so; but only if users don't have to verify their email address
        en el que inserté las líneas
     
Quote'{user_profile1_name}' => $user_profile1_name,
               '{user_profile2_name}' => $user_profile2_name,
               '{user_profile3_name}' => $user_profile3_name,
               '{user_profile6_name}' => $user_profile6_name,

Adjunto la imagen más abajo

Quote
No sé si te he ayudado.
Porsupuesto y por vez mil, gracias :D





jmatute


marioo

perdón, no lo he dicho, después de los cambios no obtuve resultado, sin embargo, parece que no voy mal encaminado.
Estoy leyendo varios posts en inglés, gente que quería hacer lo mismo que yo y lo consiguió.
Pero es gente que, si no bastaba con que hablara inglés, encima es mucho más experimentada sobre el tema, todo esto dificulta mi comprensión, pero no me doy por vencido y voy a conseguir que en el email de petición de registro me aparezcan los "campos personalizados para perfiles de usuarios" :D

Aunque no desprecio cualquier tipo de ayuda, es más, lo agradecería. Los posts en inglés:
Custom Fields added but registration email does display the custom field value -> http://forum.coppermine-gallery.net/index.php/topic,74051.0.html
field required at registration -> http://forum.coppermine-gallery.net/index.php/topic,37086.msg175005.html#msg175005
Additional Fields in Admin Notification -> http://forum.coppermine-gallery.net/index.php/topic,39006.msg184822.html#msg184822
New user admin notification email details -> http://forum.coppermine-gallery.net/index.php/topic,59101.0.html

Mario :)

jmatute

Con los enlaces que has encontrado se puede probar una cosa:

Entra en el fichero lang/spanish.php y busca la sección $lang_register_approve_email. Añade en ella el hueco donde irán los campos personalizados. Algo parecido a esto:


$lang_register_approve_email = <<< EOT
Se ha registrado un nuevo usuario de nombre "{USER_NAME}" en tu galería.
Para terminar de activar la cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de InterNet.

<a href="{ACT_LINK}">{ACT_LINK}</a>


Información:
Nombre           : "{user_profile1_name}"
Contacto         : "{user_profile2_name}"
Sabe patinar    : "{user_profile3_name}"
Sabe bailar      : "{user_profile4_name}"
Navega           : "{user_profile5_name}"

EOT;


Mucho cuidado con el EOT; del final. Tiene que estar solo y al principio de su línea.

En register.php busca
"SELECT user_active, user_email, user_email_valid, user_name FROM {$CONFIG['TABLE_USERS']} WHERE user_actkey = '$act_key' LIMIT 1"

y detrás de user_name añade, separados por comas, los campos 'user_profile1' a 'user_profile6' (según uses). En mi ejemplo termina en 5

Falta rellenar el array: donde has escrito (cambia la X por números)

'{user_profileX_name}' => $user_profileX_name

pon

'{user_profileX_name}' => $row['user_profileX'],


Naturalmente haz copia de seguridad de todo lo que modifiques!

A ver qué tal.

marioo

Ya casi esta!! solo me falta corregir algún fallo en los php

Todo depende de las casillas que marque en configuración de galería>registro de usuarios
- El registro de usuarios requiere verificación de correo       
- Notificar por email al administrador del registro de nuevos usuarios       
- El administrador activa los registros de usuario   

a) con la última opción marcada "El administrador activa los registros de usuario" el mail de activación que me llega:
Quote
Se ha registrado un nuevo usuario de nombre "fulanito" en tu galería.

Información:
Nombre : "{user_profile1_name}"
Dirección : "{user_profile2_name}"
Ocupación : "{user_profile3_name}"
Hijos en el club : "{user_profile6_name}"

Para terminar de activar la cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de InterNet.

http://todocoches.hostei.com/galeria/register.php?activate=e09855aa347442ba018988f0c2e570d0
b) con las dos últimas opciones marcadas "El administrador activa los registros de usuario" y "Notificar por email al administrador del registro de nuevos usuarios" el mail de activación que me llega, el mismo:
Quote
Se ha registrado un nuevo usuario de nombre "fulanito" en tu galería.

Información:
Nombre : "{user_profile1_name}"
Dirección : "{user_profile2_name}"
Ocupación : "{user_profile3_name}"
Hijos en el club : "{user_profile6_name}"

Para terminar de activar la cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de InterNet.

http://todocoches.hostei.com/galeria/register.php?activate=54ddb6f1bbac3e0787eb88f89a5fb114
C) con las tres opciones marcadas el mail de activación que me llega:
Quote
Se ha registrado un nuevo usuario con el nombre "fulanito" en tu galería
al darle al link, le llega un mail al futuro usuario
Quote
Gracias por registrarte en Todocoches

Tu nombre de usuario es: "fulanito"

Para terminar de activar tu cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de InterNet.

http://todocoches.hostei.com/galeria/register.php?activate=60426114407b7d4da6f84455c038d9c7

Saludos.

Los administradores de Todocoches
y, por último, me llega el email de activación definitivo
Quote
Se ha registrado un nuevo usuario de nombre "fulanito" en tu galería.

Información:
Nombre : "Fulanito Menganito"
Dirección : "c/ de la piruleta"
Ocupación : "bombero"
Hijos en el club : "Zipi Menganito 01.01.12
Zape Menganito 01.01.12"

Para terminar de activar la cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de InterNet.

http://todocoches.hostei.com/galeria/register.php?activate=60426114407b7d4da6f84455c038d9c7

Visto todo esto, yo quiero que me lleguen los datos (como en el último quote) pero sin necesidad de confirmación del usuario por mail
Pido un último empujón, no soy capaz de corregir esto :-\
ya estamos más cerca!!

PD: ya me llegan los mails en español :D creo que ha sido cambiando 'english' por 'spanish' en alguna línea del registrer.php

jmatute

Tienes que hacer esto dos veces dentro de register.php.

Quote from: jmatute on January 11, 2012, 07:27:15 AM
Falta rellenar el array: donde has escrito (cambia la X por números)

'{user_profileX_name}' => $user_profileX_name

pon

'{user_profileX_name}' => $row['user_profileX'],



En el fichero original que tengo yo habría que hacerlo en las líneas 674 y 796.

Saludos,

marioo

uf, perdón por no contestar hasta el momento, primero tuve problemas con el servicio donde alojaba mi galería y cuando por fin lo solucioné me puse a hacer pruebas y pruebas referentes a todo esto hasta el punto de acabar al borde del aburrimiento, y no es lo que quiero, así que lo dejaré a un lado (no para un futuro muy lejano) y me pondré con los miles de problemas que me han ido surgiendo.

Gracias a jmatute por la enorme ayuda que me ofreces en cada post y espero que no deje de ser así  :)

marioo

Ya lo he conseguido :D

el usuario rellena el formulario de registro y confirma por mail su petición
el administrador activa la petición
el usuario es avisado

para conseguirlo he modificado mil veces el "spanish.php" y "registrer.php" siguiendo lo que me dijo Jmatute (o intentándolo), publico aquí los cambios que he hecho en cada archivo.

registrer.php (lo añadido en negrita y subrayado)

Quote// Activate pending registration
if ($superCage->get->keyExists('activate')) {

    $act_key = $superCage->get->getAlnum('activate');
   
    if (strlen($act_key) != 32) {
        cpg_die(ERROR, $lang_register_php['acct_act_failed'], __FILE__, __LINE__);
    }

    $sql = "SELECT user_active, user_email, user_email_valid, user_name, user_profile1, user_profile2, user_profile3, user_profile6 FROM {$CONFIG['TABLE_USERS']} WHERE user_actkey = '$act_key' LIMIT 1";
    $result = cpg_db_query($sql);
Quote//check if the admin language is available
            if (file_exists("lang/{$admin['lang']}.php")) {
                $lang_register_php_def = cpg_get_default_lang_var('lang_register_php', $admin['lang']);
                $lang_register_approve_email_def = cpg_get_default_lang_var('lang_register_approve_email', $admin['lang']);
            } else {
                $lang_register_php_def = cpg_get_default_lang_var('lang_register_php');
                $lang_register_approve_email_def = cpg_get_default_lang_var('lang_register_approve_email');
            }
   
            $act_link = rtrim($CONFIG['site_url'], '/') . '/register.php?activate=' . $act_key;

            $template_vars = array(
                '{SITE_NAME}' => $CONFIG['gallery_name'],
                '{USER_NAME}' => $row['user_name'],
            '{USER_PASS}' => $row['user_pass'],
                '{ACT_LINK}' => $act_link,
            '{USER_EMAIL}' => $row['user_email'],
            '{user_profile1_name}' => $row['user_profile1'],
            '{user_profile2_name}' => $row['user_profile2'],
            '{user_profile3_name}' => $row['user_profile3'],
            '{user_profile6_name}' => $row['user_profile6'],
            );

spanish.php
Quote$lang_register_php['confirm_email'] = <<< EOT
Hola "{USER_NAME}"
Gracias por registrarte en {SITE_NAME}

Para activar tu solicitud de cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de Internet.

<a href="{ACT_LINK}">{ACT_LINK}</a>

Saludos.

Los administradores de {SITE_NAME}

EOT;

$lang_register_approve_email = <<< EOT
Se ha registrado un nuevo usuario de nombre "{USER_NAME}" y contraseña "{USER_PASS}" en tu galería.

Información:
Nombre           : "{user_profile1_name}"
Dirección        : "{user_profile2_name}"
Ocupación          : "{user_profile3_name}"
Hijos            : "{user_profile6_name}"
Correo           : "{user_email}"

Para activar la cuenta, debes pulsar sobre el enlace que aparece debajo, o copialo y pégalo en tu navegador de Internet.

<a href="{ACT_LINK}">{ACT_LINK}</a>

EOT;

$lang_register_php['activated_email'] = <<< EOT
Se ha aprobado y activado tu cuenta.

Ya te puedes validar en <a href="{SITE_LINK}">{SITE_LINK}</a> como el usuario "{USER_NAME}" y contraseña "{USER_PASS}"


Saludos.

Los administradores de {SITE_NAME}

EOT;
}





Para terminar me queda una cosa :), el correo electrónico y la contraseña son datos que no me aparecen, solo necesito saber qué y dónde ponerlo, mejor explicado está en las imágenes que adjunto, un caso entre Roberto (usuarios que se quiere registrar) y Mario (administrador)

Mario :)

marioo


jmatute

Quote from: marioo on January 26, 2012, 09:46:14 AM
Ya lo he conseguido :D

...

Para terminar me queda una cosa :), el correo electrónico y la contraseña son datos que no me aparecen
...

Para el correo te falta incluir una sección '{USER_EMAIL}' en el correo (en el spanish.php) o poner en mayúsculas la '{user_email}' que has puesto.

La contraseña te saldrá encriptada si te sale.

Saludos.

marioo

Muchísimas gracias :D ya está todo ;D

En otro post he leido que me has dicho:
QuoteLa contraseña de los usuarios se guarda encriptada y no puedes verla 'limpia'. Es un ataque a su privacidad.

De verdad que lo siento, mi intención era que en el último correo que recibe el usuario avisándole de que su cuenta ya está activa apareciera la información de cuenta (usuario y contraseña) para poder guardarla y consultar en cuanto olvidara
Por otra parte, entiendo que se considere como ataque a su privacidad y por eso no insistiré más, así está muy que muy bien :D

Gracias nuevamente

Mario :)