OK gang, here is what you need to do to a) send the PM after the member activates their account and b) make sure the message is new.
In actuality, doing a seems to ensure b. So this is easy.
INSTEAD OF doing this step in Overgrow's hack:
find
Code:
$DB_site->query("UPDATE session SET userid=$userid WHERE sessionhash='".addslashes($session['dbsessionhash'])."'");
directly after this, add
Code:
// send default PM to new user
eval("\$newpmtitle.= \"".gettemplate("newpm_title")."\";");
eval("\$newpmmessage.= \"".gettemplate("newpm_message")."\";");
$originating_user = 1;
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,messageread,folderid) VALUES (NULL,$userid,$userid,$originating_user,'".addslashes(htmlspecialchars($newpmtitle))."','".addslashes($newpmmessage)."',".time().",0,0)");
// send default PM to new user
DO THIS:
Find:
Code:
} else {
// activate account
if ($userinfo['customtitle']==0) {
$usergroup=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid=2");
if ($usergroup[usertitle]=="") {
$gettitle=$DB_site->query_first("SELECT title FROM usertitle WHERE minposts<=$userinfo[posts] ORDER BY minposts DESC
LIMIT 1");
$usertitle=$gettitle[title];
} else {
$usertitle=$usergroup[usertitle];
}
$dotitle=", usertitle='".addslashes($usertitle)."'";
} else {
$dotitle = '';
}
$DB_site->query("UPDATE user SET usergroupid=2 $dotitle WHERE userid='$u'");
$username=$userinfo[username];
Add AFTER:
Code:
// send default PM to new user
eval("\$newpmtitle.= \"".gettemplate("newpm_title")."\";");
eval("\$newpmmessage.= \"".gettemplate("newpm_message")."\";");
$originating_user = 22;
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,messageread,folderid) VALUES
(NULL,$u,$u,$originating_user,'".addslashes(htmlspecialchars($newpmtitle))."','".addslashes($newpmmessage)."',".time().",0,0)");
// send default PM to new user
if ($noshutdownfunc) {
$DB_site->query("UPDATE user SET pmpopup=2 WHERE userid=$u");
} else {
$shutdownqueries[]="UPDATE LOW_PRIORITY user SET pmpopup=2 WHERE userid=$u";
}
If you have done it correctly, the next line you see in the code is:
Code:
eval("standarderror(\"".gettemplate("error_activatedthanks")."\");");
Amy