Salut ,
Dans un de mes sites j'utilise un petit hack de Philou
dans le header.php de xoops vers la ligne 100 il faut mettre le bout de code (repéré ici par le commentaire ..// Début hack philou - recup nombre de messages ...):
$xoopsblock = new XoopsBlock();
$block_arr = array();
if ($xoopsUser != '') {
$xoopsTpl->assign(array('xoops_isuser' => true, 'xoops_userid' => $xoopsUser->getVar('uid'), 'xoops_uname' => $xoopsUser->getVar('uname'), 'xoops_isadmin' => $xoopsUserIsAdmin));
$groups = $xoopsUser->getGroups();
[b][color=FF6600]
// Début hack philou - recup nombre de messages
$pm_handler =& xoops_gethandler('privmessage');
$criteria = new CriteriaCompo(new Criteria('read_msg', 0));
$criteria->add(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$xoopsTpl->assign('nbrepm', $pm_handler->getCount($criteria));
// Fin hack Philou
[/color][/b]
} else {
$xoopsTpl->assign(array('xoops_isuser' => false, 'xoops_isadmin' => false));
$groups = XOOPS_GROUP_ANONYMOUS;
}
$toppage = false;
if (isset($xoopsModule)) {
ensuite dans ton theme tu peux utiliser la variable $nbrepm comme ceci ( c'est juste un petit exemple :
<{if $xoops_isuser}>
....
<{if $nbrepm > 0 }>
<a href="<{$xoops_url}>/viewpmsg.php">
<img src="<{$xoops_imageurl}>/bouton/pm_yes.gif" alt="You have <{$nbrepm}> message<{if $nbrepm > 1}>s<{else}><{/if}>">
<br />
<font color="red"><{$nbrepm}></font> message<{if $nbrepm>1}>s<{else}><{/if}></a>
<{else}>
<a href="<{$xoops_url}>/viewpmsg.php"><img src="<{$xoops_imageurl}>/bouton/pm_no.gif" alt="Message" /><br />Message</a>
<{/if}>
...
<{/if}>
Certains themes de Solo ( Wf_luna , Wf_solaris etc , utilisent cela )
En espérant que ca puisse t'aider.
Edit: Précision ... j'utilise cela dans des versions jusqu'à la 2.0.13.1 mais je ne sais pas si ca marche avec les nouvelles version 2.2.xx