Cyricx |
03-08-2005 02:19 AM |
It's not working for me at all, and I've followed the instructions to a T... even followed the "non-instructions" by adding the phrase in ;)
The pm title comes across as "Join Request:"
and the message comes up with what I set in as the variable with nothing else, so it's not pulling the $groupname[title] and I'm not sure what the "convert to url" code is supposed to do.
Here is my insertjoinrequest function and you can see from it I've followed your instructions to a T.
Code:
if ($_POST['do'] == 'insertjoinrequest')
{
require_once('./includes/functions_bbcodeparse.php');
require_once('./includes/functions_newpost.php');
globalize($_POST, array('usergroupid' => INT));
$url = "profile.php?do=editusergroups";
if ($request = $DB_site->query_first("SELECT * FROM " . TABLE_PREFIX . "usergrouprequest
WHERE userid=$bbuserinfo[userid] AND usergroupid=$usergroupid"))
{
// request already exists, just say okay...
eval(print_standard_redirect('usergroup_requested'));
}
else
{
// insert the request
$DB_site->query("
INSERT INTO " . TABLE_PREFIX . "usergrouprequest
(userid,usergroupid,reason,dateline)
VALUES
($bbuserinfo[userid], $usergroupid, '" .
addslashes(htmlspecialchars_uni($_POST['reason'])) . "', " . TIMENOW . ")
");
$leaders = $DB_site->query("
SELECT ugl.userid, username
FROM " . TABLE_PREFIX . "usergroupleader AS ugl
INNER JOIN " . TABLE_PREFIX . "user AS user USING(userid)
WHERE ugl.usergroupid = $usergroupid
");
$groupname = $DB_site->query_first("
SELECT title
FROM " . TABLE_PREFIX . "usergroup
WHERE usergroupid = $usergroupid
ORDER BY usergroupid DESC
LIMIT 1
");
if ($DB_site->num_rows($leaders))
{
$_groupleaders = array();
$tostring = array();
while ($leader = $DB_site->fetch_array($leaders))
{
// Send a PM to the leaders letting them know a join request has been
made.
$message =
construct_phrase($vbphrase['group_memberships_message'], $groupname[title]);
$message = convert_url_to_bbcode($message);
$tostring["$leader[userid]"] = $leader['username'];
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid,
fromusername, title, message, touserarray, iconid, dateline,
showsignature)\nVALUES\n\t($bbuserinfo[userid], '" . addslashes($bbuserinfo['username']) . "',
'Join Request:', '".addslashes(htmlspecialchars($message))."', '" .
addslashes(serialize($tostring)) . "', 0, " . TIMENOW . ", 1)");
$pmtextid = $DB_site->insert_id();
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pm (pmtextid, userid,
messageread) VALUES ($pmtextid, $leader[userid], 0)");
$DB_site->shutdown_query("UPDATE " . TABLE_PREFIX . "user SET
pmtotal=pmtotal+1, pmunread=pmunread+1 WHERE userid = $leader[userid]");
}
}
eval(print_standard_redirect('usergroup_requested'));
}
}
Your absolutely right, I can't believe the devs didn't add this in by default. Would really love to have this hack working though, any help is appreciated :)
|