============================================================================================================================
Title: Sort Member List By Letter

Version: 1.0

Author: John Briggs

Description: This modification will give you the option to search the member list by letter assortment.

Copyright:  2009 John Briggs. All rights reserved.

Compatibility: XMB 1.9.8 SP4

Install Note: Before adding this modification to your forum you should back up all files related to this modification.

License Note: This modification is released under the GPL v3 License. A copy is provided with this software package.

Author Note: This modification is developed and released for use with XMB 1.9.8 SP4 which is provided by XMBGarage.com.

============================================================================================================================
=======
Step 1:
=======
=======================
Edit File: lang/English.lang.php
=======================

============================
Add Code To End Of File Above ?>
============================

// Sort Member List By Letter Mod Begin
$lang['letterall'] = "All";
$lang['lettermisc'] = "Misc";
$lang['lettersortby'] = "Sort By Letter:";
// Sort Member List By Letter Mod End

============================================================================================================================
=======
Step 2:
=======
===============
Edit File: misc.php
===============
==========
Find Code:
==========

        if (strtolower($desc) != 'desc') {
            $desc = 'asc';
        }

===============
Add Code Below:
===============

        // Sort Member List By Letter Mod Begin
        $letters = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',$lang['lettermisc']);
        $lettersort = '<tr>';
        $list = (isset($list)) ? $list : '';
        if ($list != '') {
            $lettersort .= '<td class="ctrtablerow" bgcolor="'.$THEME['altbg2'].'"><u><a href="misc.php?action=list">'.$lang['letterall'].'</a></u></td>';
        } else {
            $lettersort .= '<td class="ctrtablerow" bgcolor="'.$THEME['altbg1'].'"><strong>'.$lang['letterall'].'</strong></td>';
        }

        for($i = 0; $i < count($letters); $i++) {
            if ($list == strtolower($letters[$i])) {
                $lettersort .= '<td class="ctrtablerow" bgcolor="'.$THEME['altbg1'].'"><strong>'.$letters[$i].'</strong></td>';
            } else {
                $lettersort .= '<td class="ctrtablerow" bgcolor="'.$THEME['altbg2'].'"><u><a href="misc.php?action=list&amp;list='.strtolower($letters[$i]).'">'.$letters[$i].'</a></u></td>';
            }
        }
        $lettersort .= '</tr>';

        $ltrqry = '';
        if ($list != '' && $list != 'misc') {
            $ltrqry = " username LIKE '$list%' ";
        }

        if ($list == 'misc') {
            $ltrqry = " username NOT LIKE 'A%' ";
            for($i = 0; $i < count($letters); $i++) {
                $ltrqry .= " AND username NOT LIKE '$letters[$i]%' ";
            }
        }

        $listsort = '';
        if ($list != '' && $list != 'misc') {
            $listsort = '&amp;list='.$list;
        }
        // Sort Member List By Letter Mod End


==========
Find Code:
==========

        $where[] = " lastvisit!=0 ";

===============
Add Code Below:
===============

        // Sort Member List By Letter Mod Begin
        if ($ltrqry != '') {
            $where[] = $ltrqry;
        }
        // Sort Member List By Letter Mod End

==========
Find Code:
==========

        if (!isset($memberperpage)) {
            $memberperpage = $postperpage;
        }

        $mpurl = 'misc.php?action=list&amp;desc='.$desc.''.$ext;
        if (($multipage = multi($num, $memberperpage, $page, $mpurl)) === false) {
            $multipage = '';
        } else {
            eval('$multipage = "'.template('misc_mlist_multipage').'";');
        }

================
Replace Code With:
================

        // Sort Member List By Letter Mod Begin
        if (!isset($SETTINGS['memberperpage'])) {
            $SETTINGS['memberperpage'] = $SETTINGS['postperpage'];
        }

        $mpurl = 'misc.php?action=list'.$listsort.'&amp;desc='.$desc.''.$ext;
        if (($multipage = multi($num, $SETTINGS['memberperpage'], $page, $mpurl)) === false) {
            $multipage = '';
        } else {
            eval('$multipage = "'.template('misc_mlist_multipage').'";');
        }
        // Sort Member List By Letter Mod End



============================================================================================================================
=======
Step 3:
=======
==========================
Go To Admin Panel --> Templates
==========================
====================
Edit Template: misc_mlist
====================
==========
Find Code:
==========

<table cellspacing="0" cellpadding="0" border="0" width="$tablewidth" align="center">
<tr>
<td bgcolor="$bordercolor">
<table border="0" cellspacing="{$THEME['borderwidth']}" cellpadding="$tablespace" width="100%">
<tr>
<td colspan="5" class="category"><font color="$cattext"><strong>$lang[textsortby]</strong></font></td>
</tr>
<tr class="ctrtablerow">
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=postnum&amp;desc=desc"><strong>$lang[textpostnum]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=username"><strong>$lang[textalpha]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list"><strong>$lang[textregdate]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=status"><strong>$lang[status]</strong></a></td>
<td bgcolor="$altbg2" width="10%"><a href="misc.php?action=list&amp;desc=$init[ascdesc]&amp;page=$page$ext"><strong>$ascdesc</strong></a></td>
</tr>
</table>
</td>
</tr>
</table>
<br />

================
Replace Code With:
================

<table cellspacing="0" cellpadding="0" border="0" width="$THEME[tablewidth]" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%">
<tr>
<td colspan="5" class="category"><font color="$THEME[cattext]"><strong>$lang[textsortby]</strong></font></td>
</tr>
<tr class="ctrtablerow" bgcolor="$THEME[altbg2]">
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=postnum&amp;desc=desc"><strong>$lang[textpostnum]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=username"><strong>$lang[textalpha]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort"><strong>$lang[textregdate]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=status"><strong>$lang[status]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;desc=$init[ascdesc]&amp;page=$page$ext"><strong>$ascdesc</strong></a></td>
</tr>
</table>
</td>
</tr>
</table>
<br />
<table cellspacing="0" cellpadding="0" border="0" width="$THEME[tablewidth]" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%">
<tr class="category">
<td colspan="28"><strong><font color="$THEME[cattext]"><strong>$lang[lettersortby]</strong></font></strong></td>
</tr>
$lettersort
</table>
</td>
</tr>
</table>
<br />

============================================================================================================================
=======
Step 4:
=======
==========================
Go To Admin Panel --> Templates
==========================
========================
Edit Template: misc_mlist_admin
========================

==========
Find Code:
==========

<table cellspacing="0" cellpadding="0" border="0" width="$tablewidth" align="center">
<tr>
<td bgcolor="$bordercolor">
<table border="0" cellspacing="{$THEME['borderwidth']}" cellpadding="$tablespace" width="100%">
<tr>
<td colspan="5" class="category"><font color="$cattext"><strong>$lang[textsortby]</strong></font></td>
</tr>
<tr class="ctrtablerow">
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=postnum&amp;desc=desc"><strong>$lang[textpostnum]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=username"><strong>$lang[textalpha]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list"><strong>$lang[textregdate]</strong></a></td>
<td bgcolor="$altbg2" width="18%"><a href="misc.php?action=list&amp;order=status"><strong>$lang[status]</strong></a></td>
<td bgcolor="$altbg2" width="10%"><a href="misc.php?action=list&amp;desc=$init[ascdesc]&amp;page=$page$ext"><strong>$ascdesc</strong></a></td>
</tr>
</table>
</td>
</tr>
</table>
<br />

================
Replace Code With:
================

<table cellspacing="0" cellpadding="0" border="0" width="$THEME[tablewidth]" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%">
<tr>
<td colspan="5" class="category"><font color="$THEME[cattext]"><strong>$lang[textsortby]</strong></font></td>
</tr>
<tr class="ctrtablerow" bgcolor="$THEME[altbg2]">
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=postnum&amp;desc=desc"><strong>$lang[textpostnum]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=username"><strong>$lang[textalpha]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort"><strong>$lang[textregdate]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;order=status"><strong>$lang[status]</strong></a></td>
<td width="20%"><a href="misc.php?action=list$listsort&amp;desc=$init[ascdesc]&amp;page=$page$ext"><strong>$ascdesc</strong></a></td>
</tr>
</table>
</td>
</tr>
</table>
<br />
<table cellspacing="0" cellpadding="0" border="0" width="$THEME[tablewidth]" align="center">
<tr>
<td bgcolor="$THEME[bordercolor]">
<table border="0" cellspacing="$THEME[borderwidth]" cellpadding="$THEME[tablespace]" width="100%">
<tr class="category">
<td colspan="28"><strong><font color="$THEME[cattext]"><strong>$lang[lettersortby]</strong></font></strong></td>
</tr>
$lettersort
</table>
</td>
</tr>
</table>
<br />

============================================================================================================================
Enjoy!