<?php function lookup_user($query=false, $order=false, $fields=false, $where=false){ $err = ""; $searchresult = false; if ($order !== false) $order = "ORDER BY $order"; if ($fields === false) $fields = "acctid,login,name,level,laston,loggedin,gentimecount,gentime,lastip,uniqueid,emailaddress"; $sql = "SELECT $fields FROM " . db_prefix("accounts"); if ($query != "") { // First try for an exact match on username or login if ($where === false) $sql_where = "WHERE login LIKE '$query' OR name LIKE '$query' OR acctid = 'query' OR emailaddress LIKE '$query' OR lastip LIKE '$query' OR uniqueid LIKE '$query'"; else $sql_where = "WHERE $where"; $searchresult = db_query($sql . " $sql_where $order LIMIT 2"); } if ($query !== false || $searchresult) { if (db_num_rows($searchresult) != 1) { // we didn't find an exact match $name_query = "%"; for ($x=0;$x<strlen($query);$x++){ $name_query .= substr($query,$x,1)."%"; } if ($where === false) $sql_where="WHERE login LIKE '%$query%' OR acctid LIKE '%$query%' OR name LIKE '%$name_query%' OR emailaddress LIKE '%$query%' OR lastip LIKE '%$query%' OR uniqueid LIKE '%$query%' OR gentimecount LIKE '%$query%' OR level LIKE '%$query%'"; else $sql_where = "WHERE $where"; $searchresult = db_query($sql . " $sql_where $order LIMIT 101"); } if (db_num_rows($searchresult)<=0){ $err = "`\$No results found`0"; }elseif (db_num_rows($searchresult)>100){ $err = "`\$Too many results found, narrow your search please.`0"; }else{ // Everything is good } } return array($searchresult, $err); } ?>