Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[FIX] Recherche par user_id (TEST - A)

Ce forum est verrouillé, vous ne pouvez pas poster, ni répondre, ni éditer les sujets. Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.

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

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 06 Jan 2006 18:00
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
But : Permet de rechercher des messages par id du posteur plutôt que par pseudo. Outre le fait de corriger une invalidité XHTML avec certains pseudos, ceci corrige le bug qui faisait qu'une recherche sur les message d'un membre dont le nom d'utilisateur compte moins de 3 caractère renvoyait un résultat vide.

Auteur : Darathor (darathor@free.fr)
Version : 1.0 TEST - A (02/01/2006)
Compatibilité phpBB : 2.0.19


Dans "search.php" :
Code :
#
# Trouver
#
//
// encoding match for workaround
//

#
# Ajouter avant
#
// DEBUT MOD Recherche par user_id
if ( isset($HTTP_POST_VARS['user_id']) || isset($HTTP_GET_VARS['user_id']) )
{
   $s_user_id = (isset($HTTP_POST_VARS['user_id'])) ? intval($HTTP_POST_VARS['user_id']) : intval($HTTP_GET_VARS['user_id']);
   $search_author = 'SEARCH_BY_USER_ID';
}
else { $s_user_id = 0; }
// FIN MOD Recherche par user_id

#
# Trouver
#
            if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))

#
# Ajouter avant
#
            // DEBUT MOD Recherche par user_id
            if($s_user_id == 0)
            {
            // FIN MOD Recherche par user_id

#
# Trouver
#
            $sql = "SELECT post_id
               FROM " . POSTS_TABLE . "
               WHERE poster_id IN ($matching_userids)";

#
# Ajouter avant
#
            // DEBUT MOD Recherche par user_id
            }
            else { $matching_userids = $s_user_id; }
            // FIN MOD Recherche par user_id

#
# Trouver
#
                  $from_sql = POSTS_TABLE . " p";
                  
                  if ( $search_author != '' )

#
# Remplacer par
#
                  $from_sql = POSTS_TABLE . " p";
                  
                  // DEBUT MOD Recherche par user_id
                  // -- DEBUT Enlevé
                  // if ( $search_author != '' )
                  // -- FIN Enlevé
                  if($s_user_id != 0)
                  {
                     $from_sql .= ", " . USERS_TABLE . " u";
                     $where_sql .= " AND u.user_id = p.poster_id AND u.user_id = $s_user_id ";
                  }
                  else if ( $search_author != '' )
                  // FIN MOD Recherche par user_id

#
# Trouver
#
               if ( $search_author != '' )
               {
                  $from_sql .= ", " . USERS_TABLE . " u";

#
# Remplacer par
#
               // DEBUT MOD Recherche par user_id
               // -- DEBUT Enlevé
               // if ( $search_author != '' )
               // -- FIN Enlevé
               if($s_user_id != 0)
               {
                  $from_sql .= ", " . USERS_TABLE . " u";
                  $where_sql .= " AND u.user_id = p.poster_id AND u.user_id = $s_user_id ";
               }
               else if ( $search_author != '' )
               // FIN MOD Recherche par user_id
               {
                  $from_sql .= ", " . USERS_TABLE . " u";


Dans "includes/usercp_viewprofile.php" :
Code :
#
# Trouver
#
$temp_url = append_sid("search.$phpEx?search_author=" . urlencode($profiledata['username']) . "&showresults=posts");

#
# Remplacer par
#
// DEBUT MOD Recherche par user_id
// -- DEBUT Enlevé
// $temp_url = append_sid("search.$phpEx?search_author=" . urlencode($profiledata['username']) . "&showresults=posts");
// -- FIN Enlevé
$temp_url = append_sid("search.$phpEx?user_id=" . urlencode($profiledata['user_id']) . "&showresults=posts");
// FIN MOD Recherche par user_id

#
# Trouver
#
   'U_SEARCH_USER' => append_sid("search.$phpEx?search_author=" . $u_search_author),

#
# Rempalcer par
#
   // DEBUT MOD Recherche par user_id
   // -- DEBUT Enlevé
   // 'U_SEARCH_USER' => append_sid("search.$phpEx?search_author=" . $u_search_author),
   // -- FIN Enlevé
   'U_SEARCH_USER' => append_sid("search.$phpEx?user_id=" . $profiledata['user_id']),
   // FIN MOD Recherche par user_id

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