Re: Module de message | Titre du sujet : Re: Module de message par blueteen sur 10/03/2006 17:16:43
J'ai modifié une valeur du premier code, pour agrandir la taille de la 3ème colonne. Et voici le code, qui permet de limiter l'affichage aux 3 derniers PM envoyés. (tu verras dans le code, une simple variable à changer pour choisir combien de PM afficher)
global $xoopsUser;
global $xoopsConfig;
$xoopsOption['pagetype'] = "pmsg";
include_once XOOPS_ROOT_PATH."/language/".$xoopsConfig['language']."/pmsg.php";
include_once XOOPS_ROOT_PATH."/mainfile.php";
if (!is_object($xoopsUser)) {
$errormessage = _PM_SORRY."<br />"._PM_PLZREG."";
redirect_header(XOOPS_URL."/user.php",2,$errormessage);
} else {
$pm_handler =& xoops_gethandler('privmessage');
$pm_arr =& $pm_handler->getObjects(new Criteria('from_userid', $xoopsUser->getVar('uid')));
echo "<table border='0' cellspacing='1' width='100%' class='outer'>n";
$total_messages = count($pm_arr);
if ( $total_messages == 0 ) {
echo "<tr><td class='even' align='center'>Aucun message envoyé</td></tr> ";
$display= 0;
} else {
echo "<tr align='center' valign='middle'><th>Non lu</th><th>". _PM_TO ."</th><th>". _PM_SUBJECT ."</th><th align='center'>". _PM_DATE ."</th></tr>n";
$display = 1;
}
$max_messages = 0;
$mess_aff = 3;//changer le chiffre par le nombre de messages que l'on veut afficher
if ($total_messages >$mess_aff)
{
$max_messages = $total_messages-$mess_aff; //
}
for ($i = $max_messages; $i < $total_messages; $i++) {
if ($pm_arr[$i]->getVar('read_msg') == 1) {
echo "<td valign='top' width='5%' align='center'> </td>n";
} else {
echo "<td valign='top' width='5%' align='center'><img src=".XOOPS_URL."/images/read.gif' alt='"._PM_NOTREAD."' /></td>n";
}
$postername = XoopsUser::getUnameFromId($pm_arr[$i]->getVar("to_userid"));
echo "<td valign='middle' width='10%'>";
// no need to show deleted users
if ($postername) {
echo "<a href=".XOOPS_URL."/userinfo.php?uid=".$pm_arr[$i]->getVar("to_userid").">".$postername."</a>";
} else {
echo $xoopsConfig['anonymous'];
}
echo "</td>n";
echo "<td valign='middle'>".$pm_arr[$i]->getVar("subject")."</td>";
echo "<td valign='middle' align='center' width='30%'>".formatTimestamp($pm_arr[$i]->getVar("msg_time"))."</td></tr>";
}
echo "</table>";
}
Il me reste le tri à faire, pour placer le dernier envoi, en premier dans la liste.
Et voici ce que donnent ces 2 codes, en bloc central centré :
|
|