Show usernames starting with a certain letter
Verfasst: 26.01.2003 15:15
Hallo zusammen,###############################################
## Mod Title: Show usernames starting with a certain letter
## Mod Version: 1.0
## Author: Vincent Grouls (macology@gmx.net)
## Description: This enables people to search for users that have their name starting
## with a specific letter. You can also choose "others" (meaning non-alpha
## characters), and "all" (the regular list).
##
## This mod is based on phpBB2 v2.0.3, but might work on any phpBB2.
##
##
## Installation Level: Easy
## Installation Time: 4-5 Minutes
## Files To Edit: 3
## memberlist.php
## language/lang_english/lang_main.php
## templates/SubSliver/memberlist_body.tpl
##
## Included Files:
## None
##
## History
## None
##
###############################################
## This MOD is released under the GPL License.
## Intellectual Property is retained by the MOD Author(s) listed above
###############################################
#
#-----[ OPEN ]--------------------------------------------
#
./memberlist.php
#
#-----[ FIND ]--------------------------------------------
#
//
// End session management
//
#
#-----[ AFTER, ADD ]--------------------------------------
#
if(isset($HTTP_POST_VARS['letter']))
{
$by_letter = ($HTTP_POST_VARS['letter']) ? $HTTP_POST_VARS['letter'] : 'all';
}
else if(isset($HTTP_GET_VARS['letter']))
{
$by_letter = ($HTTP_GET_VARS['letter']) ? $HTTP_GET_VARS['letter'] : 'all';
}
#
#-----[ FIND ]--------------------------------------------
#
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
}
#
#-----[ AFTER, ADD ]--------------------------------------
#
//
// Set per-letter selection
//
$others_sql = '';
$select_letter = '';
for ($i = 97; $i <= 122; $i++)
{
$others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
$select_letter .= ( $by_letter == chr($i) ) ? chr($i) : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a> ';
}
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a> ';
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>';
$template->assign_vars(array(
'L_SORT_PER_LETTER' => $lang['Sort_per_letter'],
'S_LETTER_SELECT' => $select_letter,
'S_LETTER_HIDDEN' => '<input type="hidden" name="letter" value="' . $by_letter . '">')
);
if($by_letter == 'all')
{
$letter_sql = "";
}
else if($by_letter == 'others')
{
$letter_sql = $others_sql;
}
else
{
$letter_sql = " AND username LIKE '$by_letter%' ";
}
#
#-----[ FIND ]--------------------------------------------
#
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
#
#-----[ REPLACE WITH ]------------------------------------
#
WHERE user_id <> " . ANONYMOUS . "$letter_sql
ORDER BY $order_by";
#
#-----[ FIND ]--------------------------------------------
#
$sql = "SELECT count(*) AS total
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS;
#
#-----[ REPLACE WITH ]------------------------------------
#
$sql = "SELECT count(*) AS total
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "$letter_sql";
#
#-----[ FIND ]--------------------------------------------
#
generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order
#
#-----[ AFTER, ADD ]--------------------------------------
#
# (this is before the quote!)
#
&letter=$by_letter
#
#-----[ OPEN ]--------------------------------------------
#
# (make sure to edit this file for every language)
#
./language/lang_english/lang_main.php
#
#-----[ FIND ]--------------------------------------------
#
//
// That's all Folks!
// -------------------------------------------------
#
#-----[ BEFORE, ADD ]-------------------------------------
#
//
// Sort per letter
//
$lang['Sort_per_letter'] = 'Show only usernames starting with';
$lang['Others'] = 'others';
$lang['All'] = 'all';
#
#-----[ OPEN]--------------------------------------------
#
# (make sure to edit this file for every template)
#
./templates/subSilver/memberlist_body.tpl
#
#-----[ FIND ]--------------------------------------------
#
<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
</span></td>
</tr>
#
#-----[ AFTER, ADD ]--------------------------------------
#
<tr>
<td colspan="2" align="right" nowrap="nowrap"><span class="genmed">{L_SORT_PER_LETTER}: {S_LETTER_SELECT}{S_LETTER_HIDDEN}</span></td>
</tr>
#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
habe ein Problem mit diesem MOD , er zeigt nur eine Seite an, dass heisst
zum Beispiel " zeige alle Members in alphabetischer Reihenfolge an" ,zeigt er eine von vier Seiten an, wenn ich auf eine andere Seite wechseln will, nix da.
Danke im voraus für die Hilfe