We have several different groups that require join requests to be moderated. Since upgrading to 1.8, if someone applies to join any group, an email request goes to the leaders of all groups. There's no way to tell which group the person is asking to join, except that the leaders it doesn't apply to don't see anything when they come to approve the request. Any idea what's going on there? And how to fix it?
It's a bug which will be fixed in 1.8.5. For now you can open usercp.php and change:
foreach($groupleaders as $key => $groupleader)
{
foreach($groupleader as $leader)
{
$leader_user = get_user($leader['uid']);
// Load language
$lang->set_language($leader_user['language']);
$lang->load("messages");
$subject = $lang->sprintf($lang->emailsubject_newjoinrequest, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->email_groupleader_joinrequest, $leader_user['username'], $mybb->user['username'], $usergroups[$leader['gid']]['title'], $mybb->settings['bbname'], $mybb->get_input('reason'), $mybb->settings['bburl'], $leader['gid']);
my_mail($leader_user['email'], $subject, $message);
}
}
to:
foreach($groupleaders[$usergroup['gid']] as $leader)
{
// Load language
$lang->set_language($leader['language']);
$lang->load("messages");
$subject = $lang->sprintf($lang->emailsubject_newjoinrequest, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->email_groupleader_joinrequest, $leader['username'], $mybb->user['username'], $usergroup['title'], $mybb->settings['bbname'], $mybb->get_input('reason'), $mybb->settings['bburl'], $leader['gid']);
my_mail($leader['email'], $subject, $message);
}
And:
$query = $db->query("
SELECT g.*, u.username, u.displaygroup, u.usergroup
FROM ".TABLE_PREFIX."groupleaders g
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=g.uid)
ORDER BY u.username ASC
");
to:
$query = $db->query("
SELECT g.*, u.username, u.displaygroup, u.usergroup, u.email, u.language
FROM ".TABLE_PREFIX."groupleaders g
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=g.uid)
ORDER BY u.username ASC
");
MyBB has groups ? How to use it ? Does it need a separate plugin ?
ACP >> Users and Groups >> Groups, add a new group...
After creating the group you can find "Publicly Joinable Options" under its settings, you can set those options as required...