Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#76 26-01-2008 15:12:44

yemgi
Expatrié

Re : [Mod] Mark Topics As Read 1.1.3

Hors ligne

#77 26-01-2008 16:09:25

Nazgul
Membre

Re : [Mod] Mark Topics As Read 1.1.3

J'ai justement fait ce qu'il était indiqué wink

EDIT : voilà c'est bon le message n'est plus, il manquait un petit truc, merci wink

Dernière modification par Nazgul (26-01-2008 18:05:56)

Hors ligne

#78 21-03-2008 09:16:56

Solvik
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Bonjour,

Je voudrais savoir si le plugin marche pour Punbb 1.2.17 smile


Merci d'avance !

Hors ligne

#79 21-03-2008 11:50:43

yemgi
Expatrié

Re : [Mod] Mark Topics As Read 1.1.3

C'est une modification pas un plugin et normalement ca devrait fonctionner avec la 1.2.17.

Hors ligne

#80 22-04-2008 05:24:35

new morning
Membre

Re : [Mod] Mark Topics As Read 1.1.3

J'ai installé la mod et je me rend mieux compte de ce qu'elle permet en plus : marquer comme "lu" des forums qui ne l'ont pas été, c'est bien ça ?

Car sauf erreur de ma part, les forums sont déjà marqués comme "lus" ou "non lus" sur punBB.

En tout cas super idée de proposer un pack "tout en un", pour ceux qui voudraient installer la mod directement.

Dernière modification par new morning (22-04-2008 05:47:18)

Hors ligne

#81 22-04-2008 12:34:16

fanf73
Wik-wiki

Re : [Mod] Mark Topics As Read 1.1.3

Elle permet surtout de marquer automatiquement comme lu chaque discussion que l'on lit, ce que punBB ne fait pas à la base.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#82 23-04-2008 07:57:12

new morning
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Alors c'est seulement parce que c'est des nouveaux messages que certains apparaissent d'une autre couleur ? Autant pour moi, je croyais que c'était parce qu'ils n'avaient pas été lus...

Hors ligne

#83 08-07-2008 20:44:57

Pakito
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Pourrait-on me dire si ce mod est compatible avec la dernière version en téléchargement ici 1.2.18 il me semble) ?

Parce que cette fonction m'intéresse beaucoup, et mes membres me la réclament !

Hors ligne

#84 08-07-2008 20:51:53

Ti pierre
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Hors ligne

#85 23-07-2008 03:28:53

Glycogène
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Il me semble avoir trouvé un bug (de visu) :
Modif de viewtopic.php

    if(!empty($pun_user['read_topic']['t'][$id])) {
        $last_read = $pun_user['read_topic']['t'][$id];
    } else { // If the user hasn't read the topic
        $last_read = $pun_user['last_visit'];
    }

Le champ 'read_topic' ne devrait-il pas être 'read_topics' ?

Hors ligne

#86 23-07-2008 20:01:48

yemgi
Expatrié

Re : [Mod] Mark Topics As Read 1.1.3

effectivement je pense que tu as raison

Hors ligne

#87 13-08-2008 22:33:24

Lizkeyne
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Ah oui, tiens...
En tous cas, j'ai cette mod d'installée depuis 2 mois et elle fonctionne bien malgré cette erreur.
Celle-ci est d'ailleurs reportée sur Punres à cet endroit, mais ça n'a pas été suivi d'une correction dans l'archive.

Hors ligne

#88 13-08-2008 23:09:00

Glycogène
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Lizkeyne a écrit :

Ah oui, tiens...
En tous cas, j'ai cette mod d'installée depuis 2 mois et elle fonctionne bien malgré cette erreur.

En es-tu sûr ?
Ouvre une discussion (assez active) que tu n'a pas jamais lue, en cliquant sur [nouveau] dans la liste des messages : tu devrais être amené au dernier post (ou peut être le premier post posté après l'heure de ta connection, ça dépend comment est mis à jour le champ last_visit, chez moi c'est bricolé et ça ne marche plus comme à l'origine).
Attend que plusieurs nouveaux messages soient postés (avant le time out de la visite), en regardant la liste des discussions mais surtout ne pas mettre à jour la discussion.
Ouvre à nouveau la discussion en cliquant sur [nouveau] : tu devrais être amené au post suivant celui que tu as lus, mais à cause du bug tu seras amené au dernier post.
C'est à dire que s'il y a eu 3 pages de messages depuis la dernière fois que tu as ouvert la discussion, tu arrives sur le dernier message et il faut que tu fouilles dans les pages précédentes pour trouver le dernier message lu, alors qu'il y a tout un système (compliqué) dans ce mod pour faire cela à ta place !

Hors ligne

#89 14-08-2008 07:48:36

Lizkeyne
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Disons que le forum dont je m'occupe n'est plus très actif, donc la faible quantité de messages quotidiens n'a pas rendu le bug visible jusque-là, mais je n'ai pas fait l'impasse sur cette correction, et je te remercie d'ailleurs de l'avoir fait remonter.

Hors ligne

#90 01-09-2008 20:04:43

Black
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Bonjour,

j'ai actuellement un problème avec ce plugin. En effet, après avoir fait les modifications demandé dans le fichier "lisez_moi", le forum me renvoi une erreur SQL :

Parse error: syntax error, unexpected $end in C:\wamp\www\fluxBB\upload\include\functions.php on line 1183

Cela viens donc de cette modification :

#
#---------[ 14. AJOUTER A LA FIN DU FICHIER ]----------------------------------------
#

// Function Mark Topic As Read

...

D'où viens le problème ?

J'ajoute, que je n'ai pas fait les modifications après la n° 57, puisque l'on demande de ne les faire que si l'on possède la version des sous-forums sur son forum. Or, je ne crois pas que c'est le cas.

J'ai la version 1.2.20 wink

Merci d'avance ! ^^

Hors ligne

#91 01-09-2008 21:40:38

new morning
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Si le problème vient de ce que symbolisent les "...", tu ferais mieux de de l'écrire ici en clair entre balises [code ] et [/code ] (sans espaces).

Si le problème vient vraiment de la ligne de commentaires

// Function Mark Topic As Read

, c'est que ce commentaire n'est pas, comme il le devrait, entre 2 balises php.

Hors ligne

#92 01-09-2008 21:43:16

fanf73
Wik-wiki

Re : [Mod] Mark Topics As Read 1.1.3

Le problème vient d'une accolade mal fermée ou en trop. Vérifie les modifications apportées au fichier functions.php.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#93 01-09-2008 22:15:13

Black
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Bonjour, en effet l'accolade n'était pas fermé. Je l'ai donc fait, mais cela ne marche toujours pas.

Parse error: syntax error, unexpected $end in C:\wamp\www\fluxBB\upload\include\functions.php on line 1184

Voilà ce que j'ai ajouté

// Function Mark Topic As Read

function get_all_new_topics() {

    global $db, $pun_user;
    $result = $db->query('SELECT forum_id, id, last_post FROM '.$db->prefix.'topics WHERE last_post>'. $pun_user['last_visit'] .' AND moved_to IS NULL ORDER BY last_post DESC') or error('Unable to fetch new topics from forum', __FILE__, __LINE__, $db->error());
    $new_topics = array();
    while($new_topics_row = $db->fetch_assoc($result))
        $new_topics[$new_topics_row['forum_id']][$new_topics_row['id']] = $new_topics_row['last_post'];
    return $new_topics;
}

function forum_is_new($forum_id, $last_post_time) { // This function scares me but I believe all the logic is good. Have fun. :)

    global $pun_user, $new_topics;

    // First we try to do this the easy way.  
    if ($pun_user['last_visit'] >= $last_post_time) { // Were there no posts since the user's last visit?
        return false;
    } else if (!empty($pun_user['read_topics']['f'][$forum_id]) &&    // Has the user marked all topics in 
        $pun_user['read_topics']['f'][$forum_id] >= $last_post_time) { // The forum read since the last post?
        return false;
    } else if (empty($pun_user['read_topics']['t']) && empty($pun_user['read_topics']['f'])) { // Is it even possible that any of the new posts could be read?
        return true;
    } else {
        // Now we must loop through all the "unread" topics in the forum and see if the user has read them.
        foreach($new_topics[$forum_id] as $topic_id => $last_post) {
            if ( // I'll be nice and explain this one for you. If:
                (empty($pun_user['read_topics']['f'][$forum_id]) || // The user hasn't marked the forum read, or
                $pun_user['read_topics']['f'][$forum_id] < $last_post) && // They have but the topic has been posted in since, AND
                (empty($pun_user['read_topics']['t'][$topic_id]) || // The user hasn't marked the topic read, or
                $pun_user['read_topics']['t'][$topic_id] < $last_post) // They have but the topic has been posted in since, then
            )
                return true; // The topic must be new
        }
        return false; // Well, since every topic was marked read, then the forum must not have any new posts.
    }
}

function topic_is_new($topic_id, $forum_id, $last_post_time) {

    global $pun_user;

    if ($pun_user['last_visit'] >= $last_post_time) {
        return false;
    } else if (!empty($pun_user['read_topics']['f'][$forum_id]) && 
        $pun_user['read_topics']['f'][$forum_id] >= $last_post_time) {
        return false;
    } else if (!empty($pun_user['read_topics']['t'][$topic_id]) && 
        $pun_user['read_topics']['t'][$topic_id] >= $last_post_time) {
        return false;
    } 
    return true;
}

function mark_topic_read($topic_id, $forum_id, $last_post) {

    global $db, $pun_user;

    if (topic_is_new($topic_id, $forum_id, $last_post)) {
        $pun_user['read_topics']['t'][$topic_id] = time();
        $db->query('UPDATE '.$db->prefix.'users SET read_topics=\''.$db->escape(serialize($pun_user['read_topics'])).'\' WHERE id='.$pun_user['id']) or error('Unable to update read-topic data', __FILE__, __LINE__, $db->error());
    }
    ?>

L'accolade est ouverte un peu plus haut wink

Dernière modification par Black (01-09-2008 22:18:17)

Hors ligne

#94 01-09-2008 22:35:39

fanf73
Wik-wiki

Re : [Mod] Mark Topics As Read 1.1.3

Il en manque encore une tout à la fin avant le "?>" wink.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#95 01-09-2008 23:03:23

Black
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Quoi, et où ? Oo

Hors ligne

#96 02-09-2008 02:35:20

M@x
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Black a écrit :

L'accolade est ouverte un peu plus haut wink

fanf73 a écrit :

Il en manque encore une tout à la fin avant le "?>" wink.

Difficile de faire plus...


...

Hors ligne

#97 02-09-2008 11:19:19

Black
Membre

Re : [Mod] Mark Topics As Read 1.1.3

hmm

<?php

}


//
// Unset any variables instantiated as a result of register_globals being enabled
//
function unregister_globals()
{
    $register_globals = @ini_get('register_globals');
    if ($register_globals === "" || $register_globals === "0" || strtolower($register_globals) === "off")
        return;

    // Prevent script.php?GLOBALS[foo]=bar
    if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']))
        exit('Ta seule richesse c\'est ton sentiment qui te pousse vers l\'avant.');
    
    // Variables that shouldn't be unset
    $no_unset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES');

    // Remove elements in $GLOBALS that are present in any of the superglobals
    $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
    foreach ($input as $k => $v)
    {
        if (!in_array($k, $no_unset) && isset($GLOBALS[$k]))
        {
            unset($GLOBALS[$k]);
            unset($GLOBALS[$k]);    // Double unset to circumvent the zend_hash_del_key_or_index hole in PHP <4.4.3 and <5.1.4
        }
    }
}


//
// Dump contents of variable(s)
//
function dump()
{
    echo '<pre>';

    $num_args = func_num_args();

    for ($i = 0; $i < $num_args; ++$i)
    {
        print_r(func_get_arg($i));
        echo "\n\n";
    }

    echo '</pre>';
    exit;
}

// Function Mark Topic As Read

function get_all_new_topics() {

    global $db, $pun_user;
    $result = $db->query('SELECT forum_id, id, last_post FROM '.$db->prefix.'topics WHERE last_post>'. $pun_user['last_visit'] .' AND moved_to IS NULL ORDER BY last_post DESC') or error('Unable to fetch new topics from forum', __FILE__, __LINE__, $db->error());
    $new_topics = array();
    while($new_topics_row = $db->fetch_assoc($result))
        $new_topics[$new_topics_row['forum_id']][$new_topics_row['id']] = $new_topics_row['last_post'];
    return $new_topics;
}

function forum_is_new($forum_id, $last_post_time) { // This function scares me but I believe all the logic is good. Have fun. :)

    global $pun_user, $new_topics;

    // First we try to do this the easy way.  
    if ($pun_user['last_visit'] >= $last_post_time) { // Were there no posts since the user's last visit?
        return false;
    } else if (!empty($pun_user['read_topics']['f'][$forum_id]) &&    // Has the user marked all topics in 
        $pun_user['read_topics']['f'][$forum_id] >= $last_post_time) { // The forum read since the last post?
        return false;
    } else if (empty($pun_user['read_topics']['t']) && empty($pun_user['read_topics']['f'])) { // Is it even possible that any of the new posts could be read?
        return true;
    } else {
        // Now we must loop through all the "unread" topics in the forum and see if the user has read them.
        foreach($new_topics[$forum_id] as $topic_id => $last_post) {
            if ( // I'll be nice and explain this one for you. If:
                (empty($pun_user['read_topics']['f'][$forum_id]) || // The user hasn't marked the forum read, or
                $pun_user['read_topics']['f'][$forum_id] < $last_post) && // They have but the topic has been posted in since, AND
                (empty($pun_user['read_topics']['t'][$topic_id]) || // The user hasn't marked the topic read, or
                $pun_user['read_topics']['t'][$topic_id] < $last_post) // They have but the topic has been posted in since, then
            )
                return true; // The topic must be new
        }
        return false; // Well, since every topic was marked read, then the forum must not have any new posts.
    }
}

function topic_is_new($topic_id, $forum_id, $last_post_time) {

    global $pun_user;

    if ($pun_user['last_visit'] >= $last_post_time) {
        return false;
    } else if (!empty($pun_user['read_topics']['f'][$forum_id]) && 
        $pun_user['read_topics']['f'][$forum_id] >= $last_post_time) {
        return false;
    } else if (!empty($pun_user['read_topics']['t'][$topic_id]) && 
        $pun_user['read_topics']['t'][$topic_id] >= $last_post_time) {
        return false;
    } 
    return true;
}

function mark_topic_read($topic_id, $forum_id, $last_post) {

    global $db, $pun_user;

    if (topic_is_new($topic_id, $forum_id, $last_post)) {
        $pun_user['read_topics']['t'][$topic_id] = time();
        $db->query('UPDATE '.$db->prefix.'users SET read_topics=\''.$db->escape(serialize($pun_user['read_topics'])).'\' WHERE id='.$pun_user['id']) or error('Unable to update read-topic data', __FILE__, __LINE__, $db->error());
    }
    ?>

siffle

J'utilise dreamweaver qui colore le code, c'est grillé si une accolade est mal fermé, ou qu'il y en a une en plus. siffle

Dernière modification par Black (02-09-2008 11:19:52)

Hors ligne

#98 02-09-2008 16:16:34

M@x
Membre

Re : [Mod] Mark Topics As Read 1.1.3

J'utilise mon cerveau et mes yeux moi... ^^

function mark_topic_read($topic_id, $forum_id, $last_post) {

    global $db, $pun_user;

    if (topic_is_new($topic_id, $forum_id, $last_post)) {
        $pun_user['read_topics']['t'][$topic_id] = time();
        $db->query('UPDATE '.$db->prefix.'users SET read_topics=\''.$db->escape(serialize($pun_user['read_topics'])).'\' WHERE id='.$pun_user['id']) or error('Unable to update read-topic data', __FILE__, __LINE__, $db->error());
    }

Je ne voit pas la fermeture de cette fonction... A moins d'avoir un gros soucis ou qu'il me manque un morceau de code !

M@x.


...

Hors ligne

#99 02-09-2008 17:03:07

Black
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Ben faudrait dl le truc car ça va surcharger le page là hmm

Hors ligne

#100 02-09-2008 18:06:45

M@x
Membre

Re : [Mod] Mark Topics As Read 1.1.3

Je ne vais pas le faire à ta place ^^

Transfère donc ton fonctions.php sur un hébergement. (Si tu le renomme en .txt et que tu est inscrit à EU, regarde dans ma signature wink)

M@x.


...

Hors ligne

Pied de page des forums