MyBB Community Forums

Full Version: memberlist search
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Can this be moved to the top of the memberlist versus the bottom? I'm using Lex's memberlist mod, so I'll post my memberlist.php and the memberlist theme edit...not sure which of the 2 you guys need.

<?php
/**
 * MyBB 1.2
 * Copyright © 2006 MyBB Group, All Rights Reserved
 *
 * Website: http://www.mybboard.net
 * License: http://www.mybboard.net/eula.html
 *
 * $Id: memberlist.php 3478 2007-11-15 04:11:36Z Tikitiki $
 */

define("IN_MYBB", 1);

$templatelist = "memberlist,memberlist_row";
$templatelist .= ",postbit_www,postbit_email,multipage_nextpage,multipage_page_current,multipage_page,multipage_start,multipage_end,multipage";
require_once "./global.php";

// Load global language phrases
$lang->load("memberlist");

if($mybb->settings['enablememberlist'] == "no")
{
	error($lang->memberlist_disabled);
}

$plugins->run_hooks("memberlist_start");

add_breadcrumb($lang->nav_memberlist);

if($mybb->usergroup['canviewmemberlist'] == "no")
{
	error_no_permission();
}

if($mybb->input['by'] != "regdate" && $mybb->input['by'] != "postnum" && $mybb->input['by'] != "username")
{
	if($mybb->input['usersearch'])
	{
		$mybb->input['by'] = "username";
	}
	else
	{
		$mybb->input['by'] = $mybb->settings['default_memberlist_sortby'];
		if(!$mybb->input['by'])
		{
			$mybb->input['by'] = "regdate";
		}
	}
}

if($mybb->input['order'] != "DESC" && $mybb->input['order'] != "ASC")
{
	// top posters first
	if($mybb->input['by'] == "postnum")
	{
		$mybb->input['order'] = "DESC";
	}
	else
	{
		$mybb->input['order']= $mybb->settings['default_memberlist_order'];
	}
}

if($mybb->input['usersearch'])
{
	$query = $db->simple_select(TABLE_PREFIX."users", "COUNT(*) AS users", "username LIKE '%".$db->escape_string($mybb->input['usersearch'])."%'");
	$linkaddon = "&amp;usersearch=".$mybb->input['usersearch'];
}
else
{
	$query = $db->simple_select(TABLE_PREFIX."users", "COUNT(*) AS users");
	$linkaddon = '';
}
if($mybb->input['action'] == "short")
{
	if($mybb->input['how'] == "#")
      {
            $condition = "u.username NOT REGEXP(\"^[a-zA-Z]\")";
      }
      else if($mybb->input['how'] == "all")
      {
            $condition = "";
      }
	else
	{
		$condition = "u.username LIKE '".$db->escape_string($mybb->input['how'])."%'";
	}

	$query = $db->simple_select(TABLE_PREFIX."users u", "COUNT(*) AS users", $condition);
	$linkaddon = "&amp;action=short&amp;how=".$mybb->input['how'];
}

if($mybb->input['action'] == "groupsort")
{
	$gid = intval($mybb->input['gid']);
      	$query = $db->query("
           	SELECT COUNT(*) as users
           	FROM ".TABLE_PREFIX."users u
           	LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
	     	WHERE u.additionalgroups != '' OR u.usergroup = {$gid}
      	");
	$linkaddon = "&amp;action=groupsort&amp;gid=".$gid;
}

$num = $db->fetch_field($query, "users");
$page = intval($mybb->input['page']);
if($page)
{
	$start = ($page - 1) * $mybb->settings['membersperpage'];
}
else
{
	$start = 0;
	$page = 1;
}
$multipage = multipage($num, $mybb->settings['membersperpage'], $page, "memberlist.php?by=".$mybb->input['by']."&amp;order=".$mybb->input['order'].$linkaddon);

if($mybb->input['by'] == "postnum")
{
	$postnumsel = " selected=\"selected\"";
}
elseif($mybb->input['by'] == "username")
{
	$usernamesel = " selected=\"selected\"";
}
else
{
	$regdatesel = " selected=\"selected\"";
}
if($mybb->input['order'] == "DESC")
{
	$descsel = " selected=\"selected\"";
}
else
{
	$ascsel = " selected=\"selected\"";
}

if($mybb->input['usersearch'])
{
	$query = $db->query("
		SELECT u.*, f.*
		FROM ".TABLE_PREFIX."users u
		LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
		WHERE u.username LIKE '%".$db->escape_string($mybb->input['usersearch'])."%'
		ORDER BY u.".$mybb->input['by']." ".$mybb->input['order']."
		LIMIT $start, ".$mybb->settings['membersperpage']
	);
}
else
{
	$query = $db->query("
		SELECT u.*, f.*
		FROM ".TABLE_PREFIX."users u
		LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
		ORDER BY u.".$mybb->input['by']." ".$mybb->input['order']."
		LIMIT $start, ".$mybb->settings['membersperpage']
	);
}
if($mybb->input['action'] == "groupsort")
{
	$gid = intval($mybb->input['gid']);
      	$query = $db->query("
         	  SELECT u.*, f.*
             	  FROM ".TABLE_PREFIX."users u
           	  LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
	     	  WHERE u.usergroup = {$gid} OR u.additionalgroups != ''
           	  LIMIT $start, ".$mybb->settings['membersperpage']
      	);
}
if($mybb->input['action'] == "short")
{
	if($mybb->input['how'] == "#")
        {
            $condition = " WHERE u.username NOT REGEXP(\"^[a-zA-Z]\")";
        }
        else
        {
	  	if($mybb->input['how'] == "all")
	 	{
			$condition = "ORDER BY u.uid ASC";
	 	}
		else
		{
            	$condition = "WHERE u.username LIKE '".$db->escape_string($mybb->input['how'])."%' ORDER BY u.username ASC";
		}
        }

        $query = $db->query("
            SELECT u.*, f.*
            FROM ".TABLE_PREFIX."users u
            LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
            ".$condition."
            LIMIT $start, ".$mybb->settings['membersperpage']
        );
}
$member = '';
while($users = $db->fetch_array($query))
{
	$plugins->run_hooks("memberlist_user");

	if($mybb->input['action'] == "groupsort")
	{
		if($users['usergroup'] != $gid)
		{
			$groups = $users['additionalgroups'];
			if($groups != "")
			{		
				$groups = explode(",", $groups);
				if(!in_array($gid, $groups))
				{
					continue;
				}
			}	
		}
	}
	// Make variables for postbit templates
	$post = &$users;

	if($users['website'] == '' || $users['website'] == "http://")
    {
        $usersite = "<img src=\"./images/unknown.gif\" /> "; 
    }
    else
    {
        eval("\$usersite = \"".$templates->get("postbit_www")."\";");
    } 
	$users['location'] = $users['fid1'];
	if($users['location'] == "")
    {
        $users['location'] = "<img src=\"./images/unknown.gif\" /> "; 
    }
    else
    {
        $users['location'] = htmlspecialchars_uni(stripslashes($users['location']));
    } 
	if($users['xfire'] == "")
    {
        $xfire = "<img src=\"./images/unknown.gif\" /> "; 
    }
    else
    {
        $xfire = $users['xfire'];
    } 
	if($users['hideemail'] == "yes")
	{
		$useremail = "<img src=\"./images/unknown.gif\" />";
	}
	else
	{
		eval("\$useremail = \"".$templates->get("postbit_email")."\";");
	}
	$users['regdate'] = my_date($mybb->settings['dateformat'], $users['regdate']);
	$users['username'] = format_name($users['username'], $users['usergroup'], $users['displaygroup']);
	if($users['away'] == "yes")
{
    $online = "<img src=\"./images/away.gif\" />";
}
else if($users['lastactive'] > time() - $mybb->settings['wolcutoff'])
{
    $online = "<img src=\"./images/online.gif\" />";
}
else
{
    $online = "<img src=\"./images/offline.gif\" />";
} 
	eval("\$member .= \"".$templates->get("memberlist_row")."\";");
}
// GET GROUPS
$groupcache = $cache->read("usergroups");
$ex = array('1','3','5','6','7');
foreach($groupcache as $group)
{
	if(in_array($group['gid'], $ex))
	{
		continue;
	}
	$format = $group['namestyle'];
	$userin = substr_count($format, "{username}");
	if($userin == 0)
	{
		$format = "{username}";
	}
	$format = stripslashes($format);
	$usergroup = str_replace("{username}", $group['title'], $format);
	$groupsort .= $sep."<strong><a href=\"./memberlist.php?action=groupsort&amp;gid={$group['gid']}\">{$usergroup}</a></strong>";
	$sep = ", ";
}

// just in case there's no matching search results, or no registered members
if(!$member)
{
	$member = "<tr>\n<td colspan=\"8\" align=\"center\" class=\"trow1\">$lang->error_no_members</td>\n</tr>";
}
$usersearch = htmlspecialchars_uni($mybb->input['usersearch']);
if($mybb->input['action'] == "short" && $db->escape_string($mybb->input['how']) != "all")
{
	$how = strtoupper($mybb->input['how']);
	$sorted = "<span style=\"font-size:9px;\">=> [ Sorted On {$how} ]</span>";
}
else
{
	$sorted = "";
}
$plugins->run_hooks("memberlist_end");

eval("\$memberlist = \"".$templates->get("memberlist")."\";");
output_page($memberlist);
?>

<html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->member_list}</title>
{$headerinclude}
</head>
<body>
{$header}
{$multipage}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" align="center">
<tr>
<td class="thead" colspan="8"><strong>{$lang->member_list} {$sorted}</strong></td>
</tr>
<tr ><td colspan="8"><span class="smalltext">Sort On : [ <a href="memberlist.php?action=short&how=%23"> # </a> ] [ <a href="memberlist.php?action=short&how=a">A </a> ] [ <a href="memberlist.php?action=short&how=b">B </a> ] [ <a href="memberlist.php?action=short&how=c"> C </a> ] [ <a href="memberlist.php?action=short&how=d"> D</a> ] [ <a href="memberlist.php?action=short&how=e"> E </a> ] [ <a href="memberlist.php?action=short&how=f"> F </a> ] [ <a href="memberlist.php?action=short&how=g"> G </a> ] [ <a href="memberlist.php?action=short&how=h"> H </a> ] [ <a href="memberlist.php?action=short&how=i"> I </a> ] [ <a href="memberlist.php?action=short&how=j"> J </a> ] [ <a href="memberlist.php?action=short&how=k"> K </a> ] [ <a href="memberlist.php?action=short&how=l"> L </a> ] [ <a href="memberlist.php?action=short&how=m">M </a> ] [ <a href="memberlist.php?action=short&how=n">N </a> ] [ <a href="memberlist.php?action=short&how=o">O </a> ] [ <a href="memberlist.php?action=short&how=p">P</a> ] [ <a href="memberlist.php?action=short&how=q">Q </a> ] [ <a href="memberlist.php?action=short&how=r">R </a> ] [ <a href="memberlist.php?action=short&how=s">S </a> ] [ <a href="memberlist.php?action=short&how=t">T </a> ] [ <a href="memberlist.php?action=short&how=u">U </a> ] [ <a href="memberlist.php?action=short&how=v">V </a> ] [ <a href="memberlist.php?action=short&how=w">W </a> ] [ <a href="memberlist.php?action=short&how=x">X </a> ] [ <a href="memberlist.php?action=short&how=y">Y </a> ] [ <a href="memberlist.php?action=short&how=z">Z </a> ] [ <a href="memberlist.php?action=short&how=all">All </a> ] </span>
</td></tr>
<tr><td align="left" colspan="8" ><span class="smalltext">Sort On UserGroup: {$groupsort}</span></td></tr>
<tr>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->username}</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>Status</strong></span></td>
<td class="tcat" align="center"><span class="smalltext" align="center"><strong>Xfire:</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->email}</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->website}</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->location}</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->joined}</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>{$lang->posts}</strong></span></td>
</tr>
{$member}
<tr>
<td align="center" colspan="8" class="tfoot">
<form action="memberlist.php" method="post">
<input type="hidden" name="page" value="{$page}" />
{$lang->sort_by} <select name="by">
<option value="regdate"{$regdatesel}>{$lang->sort_regdate}</option>
<option value="username"{$usernamesel}>{$lang->sort_username}</option>
<option value="postnum"{$postnumsel}>{$lang->sort_posts}</option>
</select> {$lang->sort_in} <select name="order">
<option value="ASC"{$ascsel}>{$lang->sort_asc}</option>
<option value="DESC"{$descsel}>{$lang->sort_desc}</option>
</select> {$lang->order} {$lang->search_for} <input type="text" class="textbox" name="usersearch" value="{$usersearch}" size="20" /> {$gobutton}
</form>
</td>
</tr>
</table>
<div style="float:left"><span class="smalltext">[<a href="showteam.php">{$lang->forumteam}</a>]</span></div><div style="float:right">{$multipage}</div>
<br />
{$footer}
</body>
</html>
what are you trying to do here? Move the search box to the top!?
yep, exactly...to me, it just makes sense for it to be at the top.