yagara
Usuario Novato
Usuario Novato

Hola.
Ya he abierto otro tema hoy pero este es para preguntar cómo se deshabilita la opción en phpnuke para que el registro de usuario no se haga mediante confirmación de email.
Debido a la desactivación por parte de miarroba del envió de amils, cómo se puede ahcer para que el usuario no tenga problemas a la hora de registrarse en una página phpnuke alojada en miarroba?

Gracias

Avatar Image
@man / @woman
@man / @woman

¿Has probado a buscar en Google?
nuke deshabilitar mail

Avatar Image
Usuario habitual
Usuario habitual

aver si te puedo ayudar con esto fijate vien en todo ok?

Realmente este manual se basa en la versión 6.7 si bien los códigos son los mismos pero puede existir alguna variación en cuanto a su localización dentro del fichero

Vale la pena seguir paso a paso el proceso y hacer una copia de seguridad del archivo anterior a su modificación en caso que tengamos problemas de edición

Abrimos el archivo index.php de modules/Your_Account y vas a la function finishNewUser que está sobre la línea 119, dentro de esa function tienes esto:

$time = time();

$finishlink = "$nukeurl/modules.php?name=$module_name&op=activate&username=$username&check_num=$check_num";

$new_password = md5($user_password);
$username = check_html($username, nohtml);
$user_email = check_html($user_email, nohtml);

$db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', '$user_regdate', '$check_num', '$time')";-) ;

if(!$result) {
echo ""._ERROR."";
} else {
$message = ""._WELCOMETO." $sitename!"._YOUUSEDEMAIL." ($user_email) "._TOREGISTER." $sitename."._TOFINISHUSER."<br>$finishlink<br>"._FOLLOWINGMEM."<br>"._UNICKNAME." $username
<br>"._UPASSWORD." $user_password";

$subject = ""._ACTIVATIONSUB."";
$from = "$adminmail";

mail($user_email, $subject, $message, "From: $fromX-Mailer: PHP/" . phpversion());

title("$sitename: "._USERREGLOGIN."";-) ;

OpenTable();
echo " <center><b>"._ACCOUNTCREATED."</b>";
echo ""._YOUAREREGISTERED.""
."<br>"
.""._FINISHUSERCONF."<br>"
.""._THANKSUSER." $sitename! </center>";
CloseTable();
}


Tienes que eliminar esto:


$finishlink = "$nukeurl/modules.php?name=$module_name&op=activate&username=$username&check_num=$check_num";



y lo siguiente:


$message = ""._WELCOMETO." $sitename!"._YOUUSEDEMAIL." ($user_email) "._TOREGISTER." $sitename."._TOFINISHUSER."<br>$finishlink<br>"._FOLLOWINGMEM."<br>"._UNICKNAME." $username
<br>"._UPASSWORD." $user_password";

$subject = ""._ACTIVATIONSUB."";
$from = "$adminmail";

mail($user_email, $subject, $message, "From: $fromX-Mailer: PHP/" . phpversion());


Ahora seleccionamos esta línea:

$db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', '$user_regdate', '$check_num', '$time')";-) ;


y lo cambias por esto:

$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_password, user_avatar, user_regdate, user_lang) VALUES (NULL, '$username', '$user_email', '$new_password', 'blank.gif', '$user_regdate', '$language')";-) ;


Para finalizar con este archivo se elimina la function activate que es este código:

function activate($username, $check_num) {

global $db, $user_prefix, $module_name, $language;

$past = time()-86400;

$db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE time < $past";-) ;

$sql = "SELECT * FROM ".$user_prefix."_users_temp WHERE username='$username' AND check_num='$check_num'";

$result = $db->sql_query($sql);

if ($db->sql_numrows($result) == 1) {

$row = $db->sql_fetchrow($result);

if ($check_num == $row[check_num];-) {

$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_password, user_avatar, user_regdate, user_lang) VALUES (NULL, '$row[username]', '$row[user_email]', '$row[user_password]', 'blank.gif','$row[user_regdate]', '$language')";-) ;

$db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE username='$username' AND check_num='$check_num'";-) ;

include("header.php";-) ;

title(""._ACTIVATIONYES."";-) ;

OpenTable();
echo "<center>$row[username]:"._ACTMSG."</center>";
CloseTable();

include("footer.php";-) ;
die();
} else {

include("header.php";-) ;

title(""._ACTIVATIONERROR."";-) ;

OpenTable();

echo "<center>"._ACTERROR1."</center>";

CloseTable();

include("footer.php";-) ;

die();

}

} else {
include("header.php";-) ;
title(""._ACTIVATIONERROR."";-) ;
OpenTable();
echo "<center>"._ACTERROR2."</center>";
CloseTable();
include("footer.php";-) ;
die();
}

}


Por último en el final del archivo se eliminamos esto:

Case "activate":
activate($username, $check_num);
break;


Salvamos los cambios y cerramos.

Ahora abrimos el lang-spanish.php del Your_Account y buscamos esto:

define("_FINISHUSERCONF","Tu solicitud para una nueva cuenta ha sido procesada. Recibirás un email en los próximos segundoscon un enlace de activación que deberás visitar dentro de las próximas 24 horas para poder activar tu cuenta de usuario.";-) ;


Y lo cambiamos por por el texto que nosotros utilicemos
para la confirmación de la creación de usuario, por ejemplo podría ser este:

define("_FINISHUSERCONF","Tu solicitud para una nueva cuenta ha sido procesada. Ya puedes loguearte para disfrutar de todos los contenidos de tu web desde <a href=\"modules.php?name=Your_Account\">aqui</a>.";-) ;


Volvemos a salvar los cambios y con esto se ha finalizado el proceso.
Avatar Image
Machacateclados
Machacateclados

 Mi sistema creo que es mas sencillo aunque mas patoso, consiste en incluir un enlace al final del registro para la activación del usuario directamente.

La cosa quedaría de esta forma

Codigo


 mail($user_email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());

     title("$sitename: "._USERREGLOGIN."");

     OpenTable();

     echo "<center><b>"._ACCOUNTCREATED."</b><br><br>";

     echo ""._YOUAREREGISTERED.""

         ."<br><br>"

  .""._FINISHUSERCONF."<br><br>"

  .""._THANKSUSER."  <a href=$finishlink><strong>"._ACTIVAUSUARI." </strong></a></center><br><br><center> "._UPASSWORD." <strong>$user_password</strong>";

     CloseTable();


    

Y incluiremos en el archivo del lenguaje la siguiente variable

Codigo

 
 
frank_salce
Usuario Novato
Usuario Novato

Muchas gracias a ambos, me ayudó esto aunque era para otra persona, gracias, el de reemplazar varias cosas no se que hize mal pero me decia error de syntaxis en Your_account
Y el otro me funciono de primera, tuve que editar language-spanish para quitarle lo de "Te llegara un mensaje a tu email ......"


Salce

Escrito originalmente por frank_salce

Muchas gracias a ambos, me ayudó esto aunque era para otra persona, gracias, el de reemplazar varias cosas no se que hize mal pero me decia error de syntaxis en Your_account
Y el otro me funciono de primera, tuve que editar language-spanish para quitarle lo de "Te llegara un mensaje a tu email ......"


Salce

¿Eres la misma persona que inicio el tema?, ya que dar las gracias por la ayuda un año y medio despues, es algo poco habitual.....sobre todo por no revivir temas viejos, pero en fin, el agradecimiento siempre es bueno.

Nunca es tarde si la dicha es buena (mi duda es si alguno de los que te ayudaron, llegaran a ver algun dia tu agradecimiento   ).
Salu2
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 20/Oct/2008, 11:12
may_myers kikelidia universales Ellocodelataquilla52kOct/08
Por: , el 20/May/2008, 03:18
bobesponjaweb NoSetup.org12kMay/08
Por: , el 15/Jun/2004, 21:22
kascad NoSetup.org32kJun/04
Por: , el 30/May/2004, 18:09
Ataliano InmortalBlade JaMeSjIMmYjAm b3elz3bub Carlestoliendas42kJul/04