Hola! soy algo nuevo en esto del php =)
Estoy creando un foro que solo el admin puede crear las cuentas de usuario. Quiero que al crear una nueva cuenta de usuario le mande un mail a ese nuevo usuario con su nombre de usuario y contraseña. (ps: no encontré ningun hack que haga eso, si conocen alguno me sería muy util =) )
Ya inserté el código en "user.php?do=update" para que mande el correo al crear la cuenta y funciona muy bien, pero lo que no consigo hacer es que funcione con los datos del formulario! Cuales son las variables que tengo que utilizar para el usuario, la direccion de correo y contraseña?
Este es mi código:
Código PHP:// esto es en admincp/user.php?do=update
if ($_POST['do'] == 'update')
{
$vbulletin->input->clean_array_gpc('p', array(
'userid' => TYPE_UINT,
'password' => TYPE_STR,
'user' => TYPE_ARRAY,
'options' => TYPE_ARRAY_BOOL,
'adminoptions' => TYPE_ARRAY_BOOL,
'userfield' => TYPE_ARRAY,
'modifyavatar' => TYPE_NOCLEAN,
'modifyprofilepic' => TYPE_NOCLEAN,
'modifysigpic' => TYPE_NOCLEAN,
'modifycss' => TYPE_NOCLEAN,
'subscriptionlogid' => TYPE_ARRAY_KEYS_INT,
'olduser' => TYPE_BINARY
));
// check for 'undeletable' users
if (is_unalterable_user($vbulletin->GPC['userid']))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
// init data manager
$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_CP);
$userdata->adminoverride = true;
// set existing info if this is an update
if ($vbulletin->GPC['userid'])
{
$userinfo = fetch_userinfo($vbulletin->GPC['userid']);
if (!$userinfo)
{
print_stop_message('invalid_user_specified');
}
$userinfo['posts'] = intval($vbulletin->GPC['user']['posts']);
$userdata->set_existing($userinfo);
}
$olduser = @unserialize(verify_client_string($vbulletin->GPC['olduser']));
// user options
foreach ($vbulletin->GPC['options'] AS $key => $val)
{
if (!$vbulletin->GPC['userid'] OR $olduser["$key"] != $val)
{
$userdata->set_bitfield('options', $key, $val);
}
}
foreach($vbulletin->GPC['adminoptions'] AS $key => $val)
{
$userdata->set_bitfield('adminoptions', $key, $val);
}
$displaygroupid = ($vbulletin->GPC['user']['displaygroupid'] <= 0) ? $vbulletin->GPC['user']['usergroupid'] : $vbulletin->GPC['user']['displaygroupid'];
// custom user title
$userdata->set_usertitle(
$vbulletin->GPC['user']['usertitle'],
$vbulletin->GPC['user']['customtitle'] ? false : true,
$vbulletin->usergroupcache["$displaygroupid"],
true,
$vbulletin->GPC['user']['customtitle'] == 1 ? true : false
);
unset($vbulletin->GPC['user']['usertitle'], $vbulletin->GPC['user']['customtitle']);
// user fields
foreach ($vbulletin->GPC['user'] AS $key => $val)
{
if (!$vbulletin->GPC['userid'] OR $olduser["$key"] != $val)
{
$userdata->set($key, $val);
}
}
// password
if (!empty($vbulletin->GPC['password']))
{
$userdata->set('password', $vbulletin->GPC['password']);
}
else if (!$vbulletin->GPC['userid'])
{
print_stop_message('invalid_password_specified');
}
if (empty($vbulletin->GPC['user']['membergroupids']))
{
$userdata->set('membergroupids', '');
}
// custom profile fields
$userdata->set_userfields($vbulletin->GPC['userfield'], false, 'admin');
($hook = vBulletinHook::fetch_hook('useradmin_update_save')) ? eval($hook) : false;
// save data
$userid = $userdata->save();
if ($vbulletin->GPC['userid'])
{
$userid = $vbulletin->GPC['userid'];
}
// #############################################################################
// now do the redirect
if ($vbulletin->GPC['modifyavatar'])
{
define('CP_REDIRECT', "usertools.php?do=avatar&u=$userid");
}
else if ($vbulletin->GPC['modifyprofilepic'])
{
define('CP_REDIRECT', "usertools.php?do=profilepic&u=$userid");
}
else if ($vbulletin->GPC['modifysigpic'])
{
define('CP_REDIRECT', "usertools.php?do=sigpic&u=$userid");
}
else if ($vbulletin->GPC['subscriptionlogid'])
{
define('CP_REDIRECT', "subscriptions.php?do=adjust&subscriptionlogid=" . array_pop($vbulletin->GPC['subscriptionlogid']));
}
else if ($vbulletin->GPC['modifycss'])
{
define('CP_REDIRECT', "usertools.php?do=usercss&u=$userid");
}
else
{
$handled = false;
($hook = vBulletinHook::fetch_hook('useradmin_update_choose')) ? eval($hook) : false;
if (!$handled)
{
define('CP_REDIRECT', "user.php?do=modify&u=$userid" . ($userdata->insertedadmin ? '&insertedadmin=1' : ''));
}
}
//variables para mail
$mail_to="aqui la variable del correo del usuario";
$mail_mesg="aqui las variables del nombre de usuario y contraseña";
include("Mail.php");
/* mail setup recipients, subject etc */
$recipients = $mail_to;
$headers["From"] = "correo@delqueenvia.com";
$headers["To"] = $mail_to;
$headers["Subject"] = "Usted tiene una nueva cuenta";
$mailmsg = $mail_mesg;
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "mail.host.com";
$smtpinfo["port"] = "26";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "usuario";
$smtpinfo["password"] = "pass";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);
print_stop_message('saved_user_x_successfully', $user['username']);
}
Temas Similares:


LinkBack URL
About LinkBacks
Responder Citando