Darathor
Citation :
But : Donne la liste des 4 boîtes de MPs avec pour chaque boîte un lien direct pour y accéder, le nombre de MPs contenu et le nombre max de MPs. Pour la boîte de réception, il indique également le nombre de messages non-lu. Enfin, si une boîte est pleine, il indique qu'une boîte est pleine.
Auteur : Darathor (darathor@free.fr)
Version : 1.0 (11/04/2005)
Compatibilité phpBB : 2.0.14
Dans "index.php" :
Code :
#
# Trouver
#
//
// Start page proper
//
#
# Ajouter avant
#
// DEBUT MOD Détails boites MP
// DEBUT Cas loggé
if ( $userdata['session_logged_in'] )
{
// Initialisations
$mp_new = 0; // Nouveaux messages reçus
$mp_unread = 0; // Messages reçus non-lus
$mp_inbox = 0; // Total de la boite de récetion
$mp_sent1 = 0; // Total de la boite des messages envoyés
$mp_sent2 = 0; // Total des la boite d'envois (non reçus par le testinataire)
$mp_save = 0; // Total de la boite d'archives
$inbox_max = $board_config['max_inbox_privmsgs']; // Nombre max dans inbox
$sentbox_max = $board_config['max_sentbox_privmsgs']; // Nombre mas dans sentbox
$savebox_max = $board_config['max_savebox_privmsgs']; // Nombre max dans savebox
// Décompte des messages dont on est l'auteur
$sql = "SELECT privmsgs_type, count(*) AS nb
FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_to_userid = " . $userdata['user_id'] . "
AND ( privmsgs_type = " . PRIVMSGS_READ_MAIL . "
OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
OR privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . " )
GROUP BY privmsgs_type";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
}
while ($privmsg_group = $db->sql_fetchrow($result))
{
if ($privmsg_group['privmsgs_type'] == PRIVMSGS_SAVED_IN_MAIL)
{ $mp_save += $privmsg_group['nb']; }
elseif ($privmsg_group['privmsgs_type'] == PRIVMSGS_NEW_MAIL)
{ $mp_inbox += $privmsg_group['nb']; $mp_unread += $privmsg_group['nb']; $mp_new += $privmsg_group['nb']; }
elseif ($privmsg_group['privmsgs_type'] == PRIVMSGS_UNREAD_MAIL)
{ $mp_inbox += $privmsg_group['nb']; $mp_unread += $privmsg_group['nb']; }
else { $mp_inbox += $privmsg_group['nb']; }
}
// Décompte des messages dont on est le récepteur
$sql = "SELECT privmsgs_type, count(*) AS nb
FROM " . PRIVMSGS_TABLE . "
WHERE privmsgs_from_userid = " . $userdata['user_id'] . "
AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
OR privmsgs_type = " . PRIVMSGS_SENT_MAIL ."
OR privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . ")
GROUP BY privmsgs_type";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $sql);
}
while ($privmsg_group = $db->sql_fetchrow($result))
{
if($privmsg_group['privmsgs_type'] == PRIVMSGS_SAVED_OUT_MAIL)
{ $mp_save += $privmsg_group['nb']; }
else if($privmsg_group['privmsgs_type'] == PRIVMSGS_SENT_MAIL)
{ $mp_sent1 += $privmsg_group['nb']; }
else { $mp_sent2 += $privmsg_group['nb']; }
}
// Génération du texte
$mp_ligne1 = "<b><a href=\"" . append_sid('privmsg.'.$phpEx.'?folder=inbox') . "\">" . $lang['Inbox'] . "</a></b> : " . $mp_inbox . "/" . $inbox_max . " (" . $mp_unread . " " . $lang['MP_unread'] .
") | <b><a href=\"" . append_sid('privmsg.'.$phpEx.'?folder=sentbox') . "\">" . $lang['Sentbox'] . "</a></b> : " . $mp_sent1 . "/" . $sentbox_max .
" | <b><a href=\"" . append_sid('privmsg.'.$phpEx.'?folder=outbox') . "\">" . $lang['Outbox'] . "</a></b> : " . $mp_sent2 .
" | <b><a href=\"" . append_sid('privmsg.'.$phpEx.'?folder=savebox') . "\">" . $lang['Savebox'] . "</a></b> : " . $mp_save . "/" . $savebox_max . ".";
// Si une boite est pleine
if($mp_inbox >= $inbox_max || $mp_sent1 >= $sentbox_max || $mp_save >= $savebox_max)
{
$mp_ligne1 .= "<br><b><span style=\"color: rgb(255, 0, 0);\">" . $lang['MP_warning'] . "</span> : " . $lang['MP_warning_message'] . "</b>";
}
// Détermination de l'icone
if($mp_unread > 0) { $mp_img = $images['forum_new']; }
else { $mp_img = $images['forum']; }
}
// FIN Cas loggé
// DEBUT Cas non-loggé
else
{
// Génération du texte
$mp_ligne1 = "<a href=\"" . append_sid('privmsg.'.$phpEx.'?folder=inbox') ."\">" . $lang['Login_check_pm'] . "</a>";
// Détermination de l'icone
$mp_img = $images['forum'];
}
// FIN Cas non-loggé
// FIN MOD Détails boites MP
#
# Trouver
#
'U_MARK_READ' => append_sid("index.$phpEx?mark=forums")
#
# Ajouter avant
#
// DEBUT MOD Détails boites MP
'MP_LIGNE1' => $mp_ligne1,
'MP_IMG' => $mp_img,
'MP_TITRE' => $lang['Private_Messaging'],
// FIN MOD Détails boites MP
Dans "language/*votre langage*/lang_main.php" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Détails boites MP
$lang['MP_unread'] = 'non-lus';
$lang['MP_warning'] = 'ATTENTION';
$lang['MP_warning_message'] = 'L\'une de vos boites est pleine !';
// FIN MOD Détails boites MP
Dans "template/*votre template*/index_body.tpl" :
Code :
#
# Trouver
#
<td align="left" valign="top"><span class="gensmall">{L_ONLINE_EXPLAIN}</span></td>
</tr>
</table>
#
# Ajouter après
#
<!-- DEBUT MOD Détails boites MP -->
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_PRIVATEMSGS}" class="cattitle">{MP_TITRE}</a></span></td>
</tr>
<tr>
<td class="row1" align="center" valign="middle"><img src="{MP_IMG}" alt="" width="25" height="25" /></td>
<td class="row1" align="left" width="100%"><span class="gensmall">{MP_LIGNE1}</span>
</td>
</tr>
</table>
<!-- FIN MOD Détails boites MP -->