Darathor
Citation :
But : Ce MOD ajoute des possibilité de filtrage dans la lsite des membres. On peut alors rechercher des membres selon leur pseudo, lleur localisation ou leur site web.
Auteur : Darathor (darathor@free.fr)
Version : 1.0 (12/10/2005)
Compatibilité phpBB : 2.0.17
Dans "memberlist.php" :
Code :
#
# Trouver
#
//
// End session management
//
#
# Ajouter après
#
// DEBUT MOD Memberlist filters
// Récupération des variables.
$filtre_pseudo = '';
if(!empty($HTTP_POST_VARS['filtre_pseudo'])) { $filtre_pseudo = $HTTP_POST_VARS['filtre_pseudo']; }
elseif(!empty($HTTP_GET_VARS['filtre_pseudo'])) { $filtre_pseudo = $HTTP_GET_VARS['filtre_pseudo']; }
$filtre_localisation = '';
if(!empty($HTTP_POST_VARS['filtre_localisation'])) { $filtre_localisation = $HTTP_POST_VARS['filtre_localisation']; }
elseif(!empty($HTTP_GET_VARS['filtre_localisation'])) { $filtre_localisation = $HTTP_GET_VARS['filtre_localisation']; }
$filtre_site = '';
if(!empty($HTTP_POST_VARS['filtre_site'])) { $filtre_site = $HTTP_POST_VARS['filtre_site']; }
elseif(!empty($HTTP_GET_VARS['filtre_site'])) { $filtre_site = $HTTP_GET_VARS['filtre_site']; }
// Éléments de requêtes SQL.
$sql_filtre_pseudo = ($filtre_pseudo != '') ? (' AND username LIKE "' . str_replace("*", "%", addslashes($filtre_pseudo)) . '"') : '';
$sql_filtre_localisation = ($filtre_localisation != '') ? (' AND user_from LIKE "' . str_replace("*", "%", addslashes($filtre_localisation)) . '"') : '';
$sql_filtre_site = ($filtre_site != '') ? (' AND user_website LIKE "' . str_replace("*", "%", addslashes($filtre_site)) . '"') : '';
$sql_filtre = $sql_filtre_pseudo . $sql_filtre_localisation . $sql_filtre_site;
// FIN MOD Memberlist filters
#
# Trouver
#
'L_PM' => $lang['Private_Message'],
#
# Ajouter après
#
// DEBUT MOD Memberlist filters
'L_FILTRES' => $lang['MeFi_Filtres'],
'L_FILTRE_EXPLAIN' => $lang['MeFi_Filtres_explain'],
'FILTRE_USERNAME' => stripslashes(htmlspecialchars($filtre_pseudo)),
'FILTRE_LOCALISATION' => stripslashes(htmlspecialchars($filtre_localisation)),
'FILTRE_SITE' => stripslashes(htmlspecialchars($filtre_site)),
// DEBUT MOD Memberlist filters
#
# Trouver
#
default:
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
}
#
# Ajouter après
#
// COMMENTAIRE MOD Memberlist filters : La requête qui suit a été modifiée.
// -- DEBUT Ajouté
// . $sql_filtre
// -- FIN Ajouté
#
# Trouver
#
WHERE user_id <> " . ANONYMOUS . "
#
# Remplacer par
#
WHERE user_id <> " . ANONYMOUS . $sql_filtre . "
#
# Trouver
#
if ( $mode != 'topten' || $board_config['topics_per_page'] < 10 )
{
#
# Ajouter après
#
// COMMENTAIRE MOD Memberlist filters : La requête qui suit a été modifiée.
// -- DEBUT Ajouté
// . $sql_filtre
// -- FIN Ajouté
#
# Trouver
#
WHERE user_id <> " . ANONYMOUS;
#
# Remplacer par
#
WHERE user_id <> " . ANONYMOUS . $sql_filtre;
#
# Trouver
#
$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order", $total_members, $board_config['topics_per_page'], $start). ' ';
#
# Remplacer par
#
// DEBUT MOD Memberlist filters
// -- DEBUT Enlevé
// $pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order", $total_members, $board_config['topics_per_page'], $start). ' ';
// -- FIN Enlevé
$filtres = ($filtre_pseudo != '') ? ("&filtre_pseudo=" . stripslashes(htmlspecialchars($filtre_pseudo))) : '';
$filtres .= ($filtre_localisation != '') ? ("&filtre_localisation=" . stripslashes(htmlspecialchars($filtre_localisation))) : '';
$filtres .= ($filtre_site != '') ? ("&filtre_site=" . stripslashes(htmlspecialchars($filtre_site))) : '';
$pagination = generate_pagination("memberlist.$phpEx?mode=$mode&order=$sort_order$filtres", $total_members, $board_config['topics_per_page'], $start). ' ';
// FIN MOD Memberlist filters
Dans "memberlist.tpl" :
Code :
#
# Trouver
#
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
<td align="right" nowrap="nowrap"><span class="genmed">{L_SELECT_SORT_METHOD}: {S_MODE_SELECT} {L_ORDER} {S_ORDER_SELECT}
<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
</span></td>
</tr>
</table>
#
# Remplacer par
#
<!-- DEBUT MOD Memberlist filters -->
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
</tr>
</table>
<table width="100%" cellspacing="1" cellpadding="3" border="0" class="forumline">
<tr>
<th height="100" colspan="3">{L_FILTRES}</th>
</tr>
<tr align="center">
<td class="row2" colspan="3"><span class="gensmall">{L_FILTRE_EXPLAIN}</span></td>
</tr>
<tr align="center">
<td class="row1" width="33%"><span class="gen">{L_USERNAME}</span></td>
<td class="row1" width="33%"><span class="gen">{L_FROM}</span></td>
<td class="row1" width="33%"><span class="gen">{L_WEBSITE}</span></td>
</tr>
<tr align="center">
<td class="row1"><input class="post" type="text" name="filtre_pseudo" value="{FILTRE_USERNAME}" size="20" /></td>
<td class="row1"><input class="post" type="text" name="filtre_localisation" value="{FILTRE_LOCALISATION}" size="20" /></td>
<td class="row1"><input class="post" type="text" name="filtre_site" value="{FILTRE_SITE}" size="20" /></td>
</tr>
<tr>
<td class="catBottom" align="right" nowrap="nowrap" colspan="3"><span class="genmed">{L_SELECT_SORT_METHOD}: {S_MODE_SELECT} {L_ORDER} {S_ORDER_SELECT}
<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" />
</span></td>
</tr>
</table>
<br class="gensmall" />
<!-- FIN MOD Memberlist filters -->
Dans "lang_main.php" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Memberlist filters
$lang['MeFi_Filtres'] = 'Filtres à appliquer';
$lang['MeFi_Filtres_explain'] = 'Chaque * dans les filtres suivant sera traduite par "zéro ou plusieurs caractères quelconques". La casse n\'est pas prise en compte (c\'est à dire qu\'il n\'y a pas de distinction entre majuscules et minuscules).';
// FIN MOD Memberlist filters