Quote:
Originally Posted by Bludysky
I don't mind that this is grouped by forum usergroups, but I would like the users in those usergroups sorted by their character Class and then Character Name.
|
Never mind.. I broke down and looked up the stupid custom sort function... If anyone else would like to order by custom fields so that you have your users broken down by usergroups (as it is by default), and then arranged by a custom field (I use character class/profession), and then alphabetical by character name (as defined by a custom field, this is not the same as the normal username) the following code will work.
Below the print_users function, create a seperate function:
PHP Code:
function myCmpName($a, $b){
if($a['field6'] == $b['field6']){
return strnatcasecmp($a['field7'],$b['field7']);
}
else{
return strnatcasecmp($a['field6'],$b['field6']);
}
}
In my case, field6 is the character class, and field7 is the user defined character name. You may change these fields to any # you wish according to what fields you wish to sort by. In my case field6 is the first level to sort by, and field7 is the second.
*NOTE* If you want to arrange by the actual vBulletin username/login, I believe you can replace the above ['field7'] with ['username']
Now, scroll down until you see the chunk of code:
PHP Code:
foreach ($groupcache AS $users) {
//if ($usersort == 'username') { ksort($users); } else { krsort($usersort); }
ksort($users); // Alphabetically Sort Users
Replace that with:
PHP Code:
foreach ($groupcache AS $users) {
//if ($usersort == 'username') { ksort($users); } else { krsort($usersort); }
//ksort($users); // Alphabetically Sort Users
usort($users, myCmpName);
That will give you a roster that looks something like:
GUILD ROSTER
Council:
Bian - Druid
Irk - Druid
Lila - Necro
Aaler - Ranger
Fina - Ranger
Taje - Warrior
Members:
Aamoon - Bard
Beats - Bard
Eyo - Bard
Yian - Bard
Kabb - Berzerker
Vash - Berzerker
Bin - Cleric
Fye - Cleric
Hika - Cleric
Laur - Cleric
etc etc etc.
Hope thats clear, and that i didn't forget to add anything