Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Memberlist filters (1.0)

Poster un nouveau sujet Répondre au sujet

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 12 Oct 2005 12:36
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
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&amp;order=$sort_order", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';

#
# Remplacer par
#
      // DEBUT MOD Memberlist filters
      // -- DEBUT Enlevé
      // $pagination = generate_pagination("memberlist.$phpEx?mode=$mode&amp;order=$sort_order", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';
      // -- FIN Enlevé   
      $filtres = ($filtre_pseudo != '') ? ("&amp;filtre_pseudo=" . stripslashes(htmlspecialchars($filtre_pseudo))) : '';
      $filtres .= ($filtre_localisation != '') ? ("&amp;filtre_localisation=" . stripslashes(htmlspecialchars($filtre_localisation))) : '';
      $filtres .= ($filtre_site != '') ? ("&amp;filtre_site=" . stripslashes(htmlspecialchars($filtre_site))) : '';
      $pagination = generate_pagination("memberlist.$phpEx?mode=$mode&amp;order=$sort_order$filtres", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';
      // 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}:&nbsp;{S_MODE_SELECT}&nbsp;&nbsp;{L_ORDER}&nbsp;{S_ORDER_SELECT}&nbsp;&nbsp;
      <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}:&nbsp;{S_MODE_SELECT}&nbsp;&nbsp;{L_ORDER}&nbsp;{S_ORDER_SELECT}&nbsp;&nbsp;
      <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

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum