Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Aller au dernier non-lu (1.0)

Poster un nouveau sujet Répondre au sujet

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

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 14 Juil 2005 15:37
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
But : Ce MOD modifie le comportement de l'icône menant au plus ancien nouveau message posté dans un sujet. Le comportement normal renvoie systématiquement au plus ancien message posté après la date de dernière visite, sans tenir compte du fait que le topic puisse avoir été lu entre temps. Avec ce MOD, si le sujet a été lu surant la session, l'icône renvoie au plus ancien message non-lu.
De plus, dans ce MOD ajoute un troisième niveau d'icone dans les messages, permettant de différencier un message non lu d'un message plus récent que la dernière visite mais déjà lu.

Auteur : Darathor (darathor@free.fr)
Version : 1.0 (14/07/2005)
Compatibilité phpBB : 2.0.16


Dans "viewtopic.php" :
Code :
#
# Trouver
#
            $sql = "SELECT p.post_id
               FROM " . POSTS_TABLE . " p, " . SESSIONS_TABLE . " s,  " . USERS_TABLE . " u

#
# Ajouter avant
#
            // DEBUT MOD Aller au dernier non-lu
            // Récupération dans les cookies du dernier post lu
            $tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
   
            if(!empty($tracking_topics[$topic_id]))
            {
               $lastPostRead = $tracking_topics[$topic_id];
            }
            else
            {
               $lastPostRead = 0;
            }
            // FIN MOD Aller au dernier non-lu
            // COMMENTAIRE MOD Aller au dernier non-lu : La requête qui suit a été modifiée.

#
# Trouver
#
                  AND p.post_time >= u.user_lastvisit

#
# Ajouter après
#
                  AND p.post_time >= $lastPostRead

#
# Trouver
#
   if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
   {
      $mini_post_img = $images['icon_minipost_new'];
      $mini_post_alt = $lang['New_post'];
   }
   else
   {
      $mini_post_img = $images['icon_minipost'];
      $mini_post_alt = $lang['Post'];
   }

#
# Remplacer par
#
   // DEBUT MOD Aller au dernier non-lu
   // -- DEBUT Enlevé
   // if ( $userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'] && $postrow[$i]['post_time'] > $topic_last_read )
   // {
   //    $mini_post_img = $images['icon_minipost_new'];
   //    $mini_post_alt = $lang['New_post'];
   // }
   // else
   // {
   //    $mini_post_img = $images['icon_minipost'];
   //    $mini_post_alt = $lang['Post'];
   // }
   // -- FIN Enlevé
   if($userdata['session_logged_in'] && $postrow[$i]['post_time'] > $userdata['user_lastvisit'])
   {
      if($postrow[$i]['post_time'] > $topic_last_read)
      {
         $mini_post_img = $images['icon_minipost_new'];
         $mini_post_alt = $lang['New_post'];
      }
      else
      {
         $mini_post_img = $images['icon_minipost_seminew'];
         $mini_post_alt = $lang['Post'];
      }
   }
   else
   {
      $mini_post_img = $images['icon_minipost'];
      $mini_post_alt = $lang['Post'];
   }
   // FIN MOD Aller au dernier non-lu


Dans "subsilver.cfg" :
Code :
#
# Trouver
#
$images['icon_minipost_new'] = "$current_template_images/icon_minipost_new.gif";

#
# Ajouter après
#
// DEBUT MOD Aller au dernier non-lu
$images['icon_minipost_seminew'] = "$current_template_images/icon_minipost_seminew.gif";
// FIN MOD Aller au dernier non-lu


Uploader aux emplacement suivants les fichiers contenus dans ce zip :
- template/subsilver/images/icon_minipost_seminew.gif
- template/subsilver/images/icon_minipost_new.gif
- template/subsilver/images/icon_minipost.gif
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