MyBB Community Forums

Full Version: registrations
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
when a new member register to the forum and they put a name in the referred by box.

can it be set so it shows under the new members name and not the name of the reffered person

thanks all
jumpinjack Wrote:can it be set so it shows under the new members name and not the name of the reffered person
What is "it"?
And where do you want it to show?
rite

at present when a new member sign up and they put a referrers name in the box, the referers name shows in the
USER MANAGEMENT / MISCELLANIOUS OPTIONS / SHOWS USERS THIS MEMBER REFFERED.

under the members name that was put in the box.

what i want to do is try and change a couple of bits

1. USER MANAGEMENT / MISCELLANIOUS OPTIONS / SHOWS USERS THIS MEMBER REFFERED.

change to

USER MANAGEMENT / MISCELLANIOUS OPTIONS / SHOWS USERS THAT REFFERED THIS MEMBER.

2. instead of puting the new members name under the refferer, it actually put the refferers name under the new member.

If that makes sence
In admin/users.php, find:
if($mybb->input['action'] == "showreferrers")
{
	cpheader();
	$uid = intval($mybb->input['uid']);
	if($uid)
	{
		$query = $db->simple_select(TABLE_PREFIX."users", "username", "uid='$uid'");
		$user = $db->fetch_array($query);
		$plugins->run_hooks("admin_users_showreferrers");
		$lang->members_referred_by = sprintf($lang->members_referred_by, $user['username']);

		starttable();
		tableheader($lang->members_referred_by, '', 6);
		echo "<tr>\n";
		echo "<td class=\"subheader\">$lang->username</td>\n";
		echo "<td class=\"subheader\">$lang->posts</td>\n";
		echo "<td class=\"subheader\">$lang->email</td>\n";
		echo "<td class=\"subheader\">$lang->reg_date</td>\n";
		echo "<td class=\"subheader\">$lang->last_visit</td>\n";
		echo "</tr>\n";

		$query = $db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE referrer='$uid' ORDER BY regdate DESC");
		while($refuser = $db->fetch_array($query))
		{
			$bgcolor = getaltbg();
			$regdate = gmdate("d-m-Y", $refuser['regdate']);
			$lvdate = gmdate("d-m-Y", $refuser['lastvisit']);
			echo "<tr>\n";
			echo "<td class=\"$bgcolor\">$refuser[username]</td>\n";
			echo "<td class=\"$bgcolor\">$refuser[postnum]</td>\n";
			echo "<td class=\"$bgcolor\">$refuser[email]</td>\n";
			echo "<td class=\"$bgcolor\">$regdate</td>\n";
			echo "<td class=\"$bgcolor\">$lvdate</td>\n";
			echo "</tr>\n";
		}
		endtable();
	}
}
Replace with:
if($mybb->input['action'] == "showreferrers")
{
	cpheader();
	$uid = intval($mybb->input['uid']);
	if($uid)
	{
		$query = $db->query("SELECT r.* FROM (".TABLE_PREFIX."users u, ".TABLE_PREFIX."users r) WHERE r.uid=u.referrer AND u.uid='{$uid}'");
		$refuser = $db->fetch_array($query);

		starttable();
		tableheader("User Who Referred This User, '', 6);
		echo "<tr>\n";
		echo "<td class=\"subheader\">$lang->username</td>\n";
		echo "<td class=\"subheader\">$lang->posts</td>\n";
		echo "<td class=\"subheader\">$lang->email</td>\n";
		echo "<td class=\"subheader\">$lang->reg_date</td>\n";
		echo "<td class=\"subheader\">$lang->last_visit</td>\n";
		echo "</tr>\n";

		$bgcolor = getaltbg();
		$regdate = gmdate("d-m-Y", $refuser['regdate']);
		$lvdate = gmdate("d-m-Y", $refuser['lastvisit']);
		echo "<tr>\n";
		echo "<td class=\"$bgcolor\">$refuser[username]</td>\n";
		echo "<td class=\"$bgcolor\">$refuser[postnum]</td>\n";
		echo "<td class=\"$bgcolor\">$refuser[email]</td>\n";
		echo "<td class=\"$bgcolor\">$regdate</td>\n";
		echo "<td class=\"$bgcolor\">$lvdate</td>\n";
		echo "</tr>\n";

		endtable();
	}
}

In inc/languages/english/admin/users.lang.php, find:
$l['show_referred_members'] = "Show users this member referred";
Replace with:
$l['show_referred_members'] = "Show member's referrer";

Untested code
I'm moving this to the Customization forums as this is thread does not qualify as "General Support"
There's also a better solution to this, posted in a separate post in order to clearly separate the two modifications apart. Since each user can only have one referrer, personally I would show the user's referrer when you edit the user.

In admin/users.php, find:
	makelabelcode($lang->reg_ip, $user['regip']);
Below it, add:
$query = $db->simple_select(TABLE_PREFIX."users", "username", "uid='{$user['referrer']}'");
$referrer = $db->fetch_array($query);
makelabelcode("Referrer", $referrer['username']);

In inc/languages/english/admin/users.lang.php, find:
$l['show_referred_members'] = "Show users this member referred";
Replace with:
$l['show_referred_members'] = "Show member's referrer";

Untested code