Merci bcp pour ce code, c'est super!
Je vous donne le code du fichier "viewpmsg.php" que j'ai modifié avec le code de blueteen:
<?php
// $Id: viewpmsg.php,v 1.13 2005/06/26 15:38:21 mithyt2 Exp $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <
http://www.xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
$xoopsOption['pagetype'] = "pmsg";
include_once "mainfile.php";
global $xoopsUser;
global $xoopsConfig;
$xoopsOption['pagetype'] = "pmsg";
$limit_mess_aff = 0; //changer le chiffre par le nombre de messages que l'on veut afficher - indiquer 0 pour afficher tous les PM
$pm_order = "desc"; //desc = plus récent au plus ancien – asc = plus ancien au plus récent
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("user.php",2,$errormessage);
} else {
$pm_handler =& xoops_gethandler('privmessage');
if (isset($_POST['delete_messages']) && isset($_POST['msg_id'])) {
if (!$GLOBALS['xoopsSecurity']->check()) {
echo implode('<br />', $GLOBALS['xoopsSecurity']->getErrors());
exit();
}
$size = count($_POST['msg_id']);
$msg =& $_POST['msg_id'];
for ( $i = 0; $i < $size; $i++ ) {
$pm =& $pm_handler->get($msg[$i]);
if ($pm->getVar('to_userid') == $xoopsUser->getVar('uid')) {
$pm_handler->delete($pm);
}
unset($pm);
}
redirect_header("viewpmsg.php",1,_PM_DELETED);
exit();
}
include XOOPS_ROOT_PATH.'/header.php';
$pm_arr =& $pm_handler->getObjects(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$total_messages = count($pm_arr);
echo "<h3 style='text-align:center;'>". _PM_PRIVATEMESSAGE ."</h3><br /><a href='userinfo.php?uid=". $xoopsUser->getVar("uid")."'>". _PM_PROFILE ."</a> <span style='font-weight:bold;'>»»</span> ". _PM_INBOX ."<br /><br /><table border='0' cellspacing='1' cellpadding='4' width='100%' class='outer'>\n";
echo "<tr><th align='center' valign='middle' colspan='5'>Boîte de réception (".$total_messages.")</th></tr> ";
echo "<form name='prvmsg' method='post' action='viewpmsg.php'>";
echo "<tr align='center' valign='middle'><th><input name='allbox' id='allbox' onclick='xoopsCheckAll(\"prvmsg\", \"allbox\");' type='checkbox' value='Check All' /></th><th>Etats</th><th>". _PM_FROM ."</th><th>". _PM_SUBJECT ."</th><th align='center'>". _PM_DATE ."</th></tr>\n";
if ( $total_messages == 0 ) {
echo "<tr><td class='even' colspan='5' align='center'>"._PM_YOUDONTHAVE."</td></tr> ";
$display= 0;
} else {
$display = 1;
}
for ($i = 0; $i < $total_messages; $i++) {
$class = ($i % 2 == 0) ? 'even' : 'odd';
echo "<tr align='left' class='$class'><td valign='top' width='2%' align='center'><input type='checkbox' id='msg_id[]' name='msg_id[]' value='".$pm_arr[$i]->getVar("msg_id")."' /></td>\n";
if ($pm_arr[$i]->getVar('read_msg') == 1) {
echo "<td valign='top' width='5%' align='center'><font color=#009900><b>Lu</b></font></td>\n";
} else {
echo "<td valign='top' width='5%' align='center'><font color=#ff0000><b>Att.</b></font></td>\n";
//<img src='images/read.gif' alt='"._PM_NOTREAD."' /></td>\n";
}
//echo "<td valign='top' width='5%' align='center'><img src='images/subject/".$pm_arr[$i]->getVar("msg_image", "E")."' alt='' /></td>\n";
$postername = XoopsUser::getUnameFromId($pm_arr[$i]->getVar("from_userid"));
echo "<td valign='middle' width='10%'>";
// no need to show deleted users
if ($postername) {
//echo "<a href='userinfo.php?uid=".$pm_arr[$i]->getVar("from_userid")."'>".$postername."</a>";
echo " ".$postername." ";
} else {
echo $xoopsConfig['anonymous'];
}
echo "</td>\n";
echo "<td valign='middle'><a href='readpmsg.php?start=$i&total_messages=$total_messages'>".$pm_arr[$i]->getVar("subject")."</a></td>";
echo "<td valign='middle' align='center' width='20%'>".formatTimestamp($pm_arr[$i]->getVar("msg_time"))."</td></tr>";
}
if ( $display == 1 ) {
echo "<tr class='foot' align='left'><td colspan='6' align='left'><input type='button' class='formButton' onclick='javascript:openWithSelfMain(\"".XOOPS_URL."/pmlite.php?send=1\",\"pmlite\",450,380);' value='"._PM_SEND."' /> <input type='submit' class='formButton' name='delete_messages' value='"._PM_DELETE."' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."</td></tr></form>";
} else {
echo "<tr class='bg2' align='left'><td colspan='6' align='left'><input type='button' class='formButton' onclick='javascript:openWithSelfMain(\"".XOOPS_URL."/pmlite.php?send=1\",\"pmlite\",450,380);' value='"._PM_SEND."' /></td></tr></form>";
}
echo "</table>";
}
// Nouveaux--------------------------
echo "<br /><br /><br /><br />";
if (!is_object($xoopsUser)) {
$errormessage = _PM_SORRY."<br />"._PM_PLZREG."";
redirect_header(XOOPS_URL."/user.php",2,$errormessage);
} else {
$pm_handler =& xoops_gethandler('privmessage');
$criteria = new CriteriaCompo(new Criteria('from_userid', $xoopsUser->getVar('uid')));
$criteria->setSort('msg_time');
$criteria->setOrder($pm_order);
$pm_arr =& $pm_handler->getObjects($criteria);
$total_messages = count($pm_arr);
echo "<table border='0' cellspacing='1' width='100%' class='outer'>\n";
echo "<tr><th align='center' valign='middle' colspan='4'>Messages envoyés (".$total_messages.")</th></tr> ";
if ( $total_messages == 0 ) {
echo "<tr><td class='even' align='center'>Aucun message envoyé</td></tr> ";
} else {
echo "<tr align='center' valign='middle'><th>". _PM_TO ."</th><th>Etats</th><th>". _PM_SUBJECT ."</th><th align='center'>". _PM_DATE ."</th></tr>\n";
}
if ($limit_mess_aff != 0){
if ($total_messages >$limit_mess_aff){
$max_messages = $total_messages-($total_messages -$limit_mess_aff);
} else {
$max_messages = $total_messages;
}
} else {
$max_messages = $total_messages;
}
for ($i = 0; $i < $max_messages; $i++) {
$postername = XoopsUser::getUnameFromId($pm_arr[$i]->getVar("to_userid"));
$class = ($i % 2 == 0) ? 'even' : 'odd';
echo "<tr align='left' class='$class'><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'];
}
if ($pm_arr[$i]->getVar('read_msg') == 1) {
echo "<td valign='top' width='10%' align='center'><font color=#009900><b>Lu</b></font></td>\n";
} else {
echo "<td valign='top' width='10%' align='center'><font color=#ff0000><b>Att.</b></font></td>\n";
}
echo "</td>\n";
echo "<td valign='middle'>".$pm_arr[$i]->getVar("subject")."</td>";
echo "<td valign='middle' align='center' width='20%'>".formatTimestamp($pm_arr[$i]->getVar("msg_time"))."</td></tr>";
}
echo "</table>";
}
include "footer.php";
?>