tu peux mettre ça en place ?
créer un fichier stylebirth.css, et le placer dans le dossier module/birthday/
il contiendra ceci
table.listtable
{
width: 50%;
text-align:center;
padding: 0;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listpm
{
width: 80px;
text-align:center;
padding: 0;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listnaiss
{
color: #DE4563;
text-align:center;
padding: 0;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listpseudo
{
color: #DE4563;
width: 120px;
text-align:left;
padding-left: 8px;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listpmtet
{
font-weight: bold;
width: 80px;
text-align:center;
padding: 0;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listnaisstet
{
font-weight: bold;
text-align:center;
padding: 0;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td.listpseudotet
{
font-weight: bold;
width: 120px;
text-align:center;
padding-left: 8px;
font-size: 11px;
border-top: 1px solid #DDDDFF;
border-left: 1px solid #DDDDFF;
border-right: 1px solid #AAAAAA;
border-bottom: 1px solid #AAAAAA;
background-color: transparent;
vertical-align: top;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
a
{
color: #DE4563;
text-decoration: underline;
font-weight: normal;
}
Créer ensuite un fichier liste.php, que tu places aussi dans le dossier modules/birthday/
il contiendra ceci :
<?
include "../../mainfile.php";
include XOOPS_ROOT_PATH."/header.php";
echo "<link rel="stylesheet" type="text/css" media="all" href="./stylebirth.css" />";
function b_birthday_show3()
{
global $xoopsUser, $xoopsDB, $xoopsModule;
$block = array();
$sql="SELECT * FROM ".$xoopsDB->prefix("users_birthday").",".$xoopsDB->prefix("users")." WHERE ".$xoopsDB->prefix("users_birthday").".uid=".$xoopsDB->prefix("users").".uid ORDER BY mois ASC, jour ASC, uname ASC";
$result = $xoopsDB->query($sql);
$nb=$xoopsDB->getRowsNum($result);
$block['content'] = "";
$block['content'] .= "<table class="listtable"";
$block['content'] .= "<tr>";
if ( $xoopsUser )
{
$block['content'] .= "<td class="listpmtet">MP</td>";
}
$block['content'] .= "<td class="listpseudotet">Pseudo</td>";
$block['content'] .= "<td class="listnaisstet">Date de naissance</td></tr>";
while ($en = $xoopsDB->fetchArray($result))
{
$userbirth = new XoopsUser($en['uid']);
$block['content'] .= "<tr>";
if ( $xoopsUser ) {
$block['content'] .= "<td class="listpm">";
//$block['content'] .= $userbirth->getVar("uid")." : ";
$block['content'] .= "<a href='javascript:openWithSelfMain("".XOOPS_URL."/pmlite.php?send2=1&to_userid=".$userbirth->getVar("uid")."","pmlite",600,500);'>";
$block['content'] .= "<img src='".XOOPS_URL."/images/icons/pm.gif' border='0' />";
$block['content'] .= "</a> ";
$block['content'] .= "</td>";
}
$block['content'] .= "<td class="listpseudo">";
$block['content'] .= "<a href='".XOOPS_URL."/userinfo.php?uid=".$userbirth->getVar("uid")."'>".$userbirth->uname("E")."</a>"; $block['content'] .= "</td>";
$block['content'] .= "<td class="listnaiss">";
$block['content'] .= $en['jour']."/";
$block['content'] .= $en['mois']."/";
$block['content'] .= $en['annee'];
$block['content'] .= "</td></tr>";
}
$block['content'] .= "</table>";
return $block;
}
$liste = b_birthday_show3();
foreach ( $liste as $aff_liste )
{
echo $aff_liste;
}
include "footer.php";
?>
Et essaie d'appeler cette page pour voir que ça donne.
Si tu es un utilisateur, le bouton permettant d'envoyer un message privé apparaît devant le membre.
sinon, en anonyme (si les anonymes y ont accès), ils auront juste la liste des membres et leur date de naissance.
c'est trié sur la date de naissance, puis pour une même date, par ordre alphabétique croissant.
à créer :
l'âge calculé dans une autre colonne
EDIT 11h49 : créé :
le lien pour accéder au profil directement en cliquant sur le pseudo
Le code du post ci-dessus contient la modif'.
et puis je pense que j'arrêterai là, car côté prog' et mise en page, je mets un max de temps pour faire 2-3 bricoles :)
l'idéal, aurait été une séparation, après chaque mois, avec mise en couleur des anniversaires du mois en cours.
voir un menu déroulant, permettant d'afficher les anniversaires pour le mois sélectionné.
car le jour, où tu as 14000 membres, bonjour le chargement de la page !
à part ça, j'ai testé la création d'un nouveau bloc contenant cette liste, mais ce n'est finalement pas intéressant, pour la même raison invoquée ci-dessus, le jour où tu as beaucoup de membre ton bloc va prendre toute la page.
enfin c'était surtout pour moi, pour tester techniquement l'implémentation d'un bloc supplémentaire à ce module.