Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 19-05-2006 15:33:20

Otomatic
Régisseur

Ajout de colonnes dans la liste des utilisateurs

Bonjour,

J'ai rajouté deux colonnes dans la liste des utilisateurs, "Nom Prénom" et "Promotion" et je pense que la procédure détaillée pourra servir à d'autres.
Afin de pouvoir m'y retrouver plus tard et surtout en cas de mises à jour, toutes mes modifications sont notées, sous forme de commentaires préfixés [modif oto], dans chaque fichier concerné.

"Nom Prénom" est une information qui existe, pour peu qu'elle ait été remplie par les utilisateurs, dans la base de données, table "users" et champ "realname".
"Promotion" est une information qui n'existe pas et j'ai choisi de la remplacer par l'information de messagerie instantanée Jabber qui existe dans la même table "users" et champ "jabber".

-- Il faut remplacer quelques valeurs des fichiers de langage :

Dans le fichier lang/French/profile.php

'Section messaging' => 'Promo/Messagerie'
'Contact details legend'    =>    'Saisissez votre Promotion (19xx-19yy) et vos messageries instantanées'
'Jabber' => 'Promotion'

---- Dans le fichier userlist.php ----
-- Ajouter les nouvelles définitions :
Après les lignes de chargement de fichiers de langage existantes :

  // Load the search.php language file
  require PUN_ROOT.'lang/'.$pun_user['language'].'/search.php';

ajouter :

//[modif oto] ligne suivante ajoutée
require PUN_ROOT.'lang/'.$pun_user['language'].'/profile.php';

-- Définir les titres des colonnes ajoutées
Les lignes existantes suivantes :

    <th class="tcl" scope="col"><?php echo $lang_common['Username'] ?></th>
  <th class="tc2" scope="col"><?php echo $lang_common['Title'] ?></th>

deviennent :

   <th class="tcl" scope="col"><?php echo $lang_common['Username'] ?></th>
       <!--[modif oto] Ligne suivante ajoutée pour colonne des Nom Prénom-->
    <th class="tc2" scope="col"><?php echo $lang_profile['Realname'] ?></th>
       <!--[modif oto] Ligne suivante ajoutée pour colonne des Promotions-->
  <th class="tc2" scope="col"><?php echo $lang_profile['Jabber'] ?></th>
  <th class="tc2" scope="col"><?php echo $lang_common['Title'] ?></th>

-- Ajouter les champs supplémentaires à extraires de la base de données :
Les lignes existantes suivantes :

 // Grab the users
  $result = $db->query('SELECT u.id, u.username, u.title, u.num_posts, u.registered,....

deviennent :

// Grab the users
// [modif oto] - ajout de "u.realname, u.jabber" dans SELECT
$result = $db->query('SELECT u.id, u.username, u.title, u.realname, u.jabber, u.num_posts, u.registered,....

-- Ajouter les résultats dans les colonnes définies avant :
Les lignes existantes suivantes :

 <td class="tcl"><?php echo '<a href="profile.php?id='.$user_data['id'].'">'.pun_htmlspecialchars($user_data['username']).'</a>' ?></td>
  <td class="tc2"><?php echo $user_title_field ?></td>

deviennent :
 

<td class="tcl"><?php echo '<a href="profile.php?id='.$user_data['id'].'">'.pun_htmlspecialchars($user_data['username']).'</a>' ?></td>
   <!--[modif oto] Ligne suivante ajoutée pour colonne des Nom Prénom-->
  <td class="tc2"><?php echo pun_htmlspecialchars($user_data['realname']) ?></td>
   <!--[modif oto] Ligne suivante ajoutée pour colonne des Promotions-->
  <td class="tc2"><?php echo pun_htmlspecialchars($user_data['jabber']) ?></td>
  <td class="tc2"><?php echo $user_title_field ?></td>

Et voilà ! Deux nouvelles colonnes dans la liste des utilisateurs.

Puisque j'en suis à expliquer des modifications, voila comment j'ai ajouter deux images-liens de retour à la page d'appel de PunBB et de retour à la page d'accueil de mon site.

Fichier main.tpl :

<div id="brdtitle" class="inbox">
    <pun_include "include/user/liens_oto.php"> <!--modif oto-->
  <pun_title>
    <pun_desc>

Et le fichier liens_oto.php contient :

<?php
// Liens de retour à la page Vilgénis et à l'Accueil
$dir=str_repeat("../",substr_count(substr($_SERVER['SCRIPT_FILENAME'],strlen($_SERVER['DOCUMENT_ROOT'])),'/')-1);
echo "<div style='float:right;'>\n";
echo "<p>Déclaration CNIL le 19 mai 2006  <a href='".$dir."index.php'><img src='".$dir."images/ancient_home.gif' alt='Accueil' title='Accueil' style='width:20px;height:20px;border:0;margin:10px 10px 0 0;padding:0;'/></a><a href='".$dir."vilgenis/vilgenis.php'><img src='".$dir."images/ancient_retour.gif' alt='Retour' title='Retour' style='width:20px;height:20px;border:0;margin:10px 10px 0 0;padding:0;'/></a></p>\n";
echo "</div>\n";
?>

Bien sûr, à adapter en fonction de vos propres fichiers.

Le forum actuel : http://aviatechno.free.fr/punbb/

Dernière modification par Otomatic (19-05-2006 16:25:00)


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#2 19-05-2006 15:48:54

foxmask
Lugo

Re : Ajout de colonnes dans la liste des utilisateurs

peux-tu utiliser les BBCode "code" pour que l'on distingue le php / template du reste des tes explications ?


http://www.foxmask.info
HaveFnuBB! le seul forum produit avec le framework PHP5 Jelix
(dé)pot de miel
Membre de la CoreTeam Jelix

Hors ligne

#3 19-05-2006 16:25:42

Otomatic
Régisseur

Re : Ajout de colonnes dans la liste des utilisateurs

C'est mieux comme ça ?


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#4 19-05-2006 16:51:17

foxmask
Lugo

Re : Ajout de colonnes dans la liste des utilisateurs

c'est plus lisible wink
merci pour eux ^^


http://www.foxmask.info
HaveFnuBB! le seul forum produit avec le framework PHP5 Jelix
(dé)pot de miel
Membre de la CoreTeam Jelix

Hors ligne

#5 19-05-2006 19:12:15

Matt
Membre

Re : Ajout de colonnes dans la liste des utilisateurs

Merci pour cette astuce! Ca marche parfaitement! wink

Hors ligne

#6 21-05-2006 12:09:06

Otomatic
Régisseur

Re : Ajout de colonnes dans la liste des utilisateurs

Ça fonctionne très bien sous Firefox, mais sous IE6, si plusieurs cellules sont vides, il manque des bordures de cellules.
Pour y remédier, dans le fichier userlist.php modifier la ligne contenant <table...>

<div id="users1" class="blocktable">
    <h2><span><?php echo $lang_common['User list'] ?></span></h2>
    <div class="box">
        <div class="inbox">
            <table cellspacing="0">
        <thead>
            <tr>
                <th class="tcl" scope="col"><?php echo $lang_common['Username'] ?></th>

En y ajoutant border-collapse:collapse; comme ceci :

<div id="users1" class="blocktable">
    <h2><span><?php echo $lang_common['User list'] ?></span></h2>
    <div class="box">
        <div class="inbox">
          <!--[modif oto] Pour IE en cas de celulles vides : style='border-collapse:collapse;'-->
        <table cellspacing="0" style='border-collapse:collapse;'>
        <thead>
            <tr>
                <th class="tcl" scope="col"><?php echo $lang_common['Username'] ?></th>

D'ailleurs, je pense que cette « figure de style » aurait du faire partie du code d'origine.

Dernière modification par Otomatic (21-05-2006 12:09:36)


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

Pied de page des forums