Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Détails des boîtes MP dans l'index (1.0)

Ce forum est verrouillé, vous ne pouvez pas poster, ni répondre, ni éditer les sujets. Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 11 Avr 2005 10:51
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
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 -->

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum