MyBB Community Forums

Full Version: Group join requests
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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
	");
Thank you!
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...
Thank you Smile