Archives FluxBB.fr

Les archives de FluxBB.fr

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

#1 26-06-2007 19:54:20

droopy69
Membre

est -il possible d'avoir des sous-forum?

Boujour a tous,
Je m'explique:

Dans l'admin de punBB il ya les categories, les forums mais je voudrait créer des sous forum.

sur mon forum j'ai un "forum" qui regroupe plusieur articles sur les motos en general,que je voudrait trier pour plus de simplicité.

mais je ne veut pas creer de nouvelle categorie pour ce sujet ( je trouve que la page d'accueil du forum est deja assez importante du fait des nombreux sujet que je traite).

En effet la personne qui est interresser par les motos va dans le forum moto et pourrait ensuite ce diriger vers les sous forum (ex: motoGP, securité, nouveautés,...)

si cela est possible merci par avance de votre aide

Hors ligne

#2 26-06-2007 20:17:04

MT
Admin rasé

Re : est -il possible d'avoir des sous-forum?

Mod > Sous forums.


(s) MT
ex-Apupv
:faq: :recherche:
Gra.

Hors ligne

#3 26-06-2007 22:44:26

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

cool merci je l'avais pas vu celui la

Hors ligne

#4 27-06-2007 17:48:15

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

lorsque je met sur le site la page install_mod.php la page m'indique

You are running a version of PunBB (1.2.14) that this mod does not support. This mod supports PunBB versions: 1.2, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10, 1.2.11

comment rendre compatible le mod avec ma version?

merci de votre aide

Hors ligne

#5 27-06-2007 19:40:22

yemgi
Expatrié

Re : est -il possible d'avoir des sous-forum?

en lisant l'aide siffle

Hors ligne

#6 27-06-2007 22:26:13

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

bon pour le fichier install_mod.php j'ai compris:

ajouter

, '1.2.14'

sur la ligne

$punbb_versions    = array('1.2', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '1.2.9', '1.2.10', '1.2.11');

donc plus de message d'erreur au lancement de la page 'install_mod.php'
mais une fois les page mis a jour voici l'erreur que j'ai :

Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /mnt/146/sda/d/5/forum.droopy/punBB/include/functions.php on line 1170

J'ai verifier de n'avoir fait aucune erreur et tout est bon

Hors ligne

#7 27-06-2007 22:51:59

lkaiman
Membre

Re : est -il possible d'avoir des sous-forum?

te prend pas la tête

change [c]'1.2.11');[/c] en [c]'1.2.14');[/c] ou [c]'1.2.15');[/c]

Tout dépend de la version que tu as de punbb !!!!

Dernière modification par lkaiman (27-06-2007 22:52:19)


Ex-C@tz
Ctrl + Shift + Echap

Hors ligne

#8 28-06-2007 08:41:34

Mpok
Néo Admin

Re : est -il possible d'avoir des sous-forum?

Note au passage : "te prends pas la tête..." etc.. etc...

Même si à 98% (nombre à déterminer), cette "astuce" qui consiste à simplement rajouter le numéro de version dans l'install_mod.php résout les problèmes, il convient cependant de COMPRENDRE ce que l'on fait..

- Si la mod comporte un "install_mod", c'est normalement qu'elle modifie la base de données.
- Et si les maj punbb modifient EGALEMENT la bdd, cela PEUT créer des pbms potentiels.

Bon, soit, il est rare que les maj punbb modifient la bdd, et c'est pourquoi l'"astuce" fonctionne bien, mais il pourrait y avoir des cas où la mod est REELLEMENT incompatible (je ne dis pas cela pour ce cas particulier, mais j'espère ne pas voir ce genre de réponse lorsque l'on sera en 1.3...)

Hors ligne

#9 28-06-2007 10:01:40

MT
Admin rasé

Re : est -il possible d'avoir des sous-forum?

Quand on sera en 1.3 les mods n'auront plus la même raison d'être.
Et pour l'instant, toutes les mods créées pour la branche 1.2 reste valide pour cette branche, à 99.99%, c'est pourquoi cette réponse est affichée un peu partout (aide, sujets épinglés etc.)


(s) MT
ex-Apupv
:faq: :recherche:
Gra.

Hors ligne

#10 28-06-2007 10:22:33

Mpok
Néo Admin

Re : est -il possible d'avoir des sous-forum?

Oui, oui MT... smile

N'empêche que la 1.2.15 A MODIFIE la bdd (ok, juste un ajout d'index... mais bon...).

En fait, il s'agit de "préparer" les utilisateurs : lorsque la 1.3 sera disponible en bêta, combien crois-tu que nous aurons de questions de genre "la mod xxx ne marche pas, j'ai rajouté 1.3 dans l'install_mod et y'a rien à faire.."

Hors ligne

#11 28-06-2007 11:25:47

MT
Admin rasé

Re : est -il possible d'avoir des sous-forum?

On a le temps pour ça mdr
Et avec les extensions de la 1.3, moins d'utilisateurs auront recours aux mods à mon avis.


(s) MT
ex-Apupv
:faq: :recherche:
Gra.

Hors ligne

#12 30-06-2007 15:26:25

lkaiman
Membre

Re : est -il possible d'avoir des sous-forum?

pour en revenir au sujet.

"Je l'ai vu quelques part mais je ne trouve plus le user qui avait réussi à faire un forum avec des sous-sous-forums"

(j'sais pas si vous avez été visiter son forum de test, c'était avec des forum "de kel pays venez-vous?" y'avais "Amérique" "France" .... comme sous-forum et comme sous-sous-forum les villes de ces pays "New-York" "Atlanta"... et "Paris" "Bordeaux" ...)

bref!
Est-ce que kelk'un a réussit à reprendre l'astuce ? Est-ce que quelqu'un pourrait donner le moyen de faire des sous-sous-forum


Ex-C@tz
Ctrl + Shift + Echap

Hors ligne

#13 05-07-2007 18:10:41

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

me revoila pour quelque news ( désoler pour l'attente trop de boulot en ce moment)

le message d'erreur apparait dés que je modifie le fichier functions.php

Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /mnt/146/sda/d/5/forum.droopy/punBB/include/functions.php on line 1170

sur le fichier .txt qui donne toutes les modif a faire, il y a 2 modif a faire sur functions.php

#---------[ 80. TROUVER ]------------------------------------------------------
#

function update_forum($forum_id)


#
#---------[ 81. DANS LA FONCTION, TROUVER ]------------------------------------
#

    global $db;


#
#---------[ 82. APRES, AJOUTER ]-----------------------------------------------
#

    $num_posts_fils = 0;
    $num_topics_fils = 0;
    $last_post_fils = $last_post_id_fils = $last_poster_fils = 0;
    $post_fils = $post_id_fils = $poster_fils = 0;
    $total_posts_fils = $total_topics_fils = 0;

et la 2eme

#---------[ 83. DANS LA FONCTION, TROUVER ]------------------------------------
#

    $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    if ($db->num_rows($result))        // There are topics in the forum
    {
        list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);

        $db->query('UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics.', num_posts='.$num_posts.', last_post='.$last_post.', last_post_id='.$last_post_id.', last_poster=\''.$db->escape($last_poster).'\' WHERE id='.$forum_id) or error('Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    }
    else    // There are no topics
        $db->query('UPDATE '.$db->prefix.'forums SET num_topics=0, num_posts=0, last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id='.$forum_id) or error('Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());


#
#---------[ 84. REMPLACER PAR ]------------------------------------------------
#

    $sql = 'SELECT SUM(num_topics), SUM(num_posts), id FROM '.$db->prefix.'forums WHERE parent_forum_id = '.$forum_id.' GROUP BY id';
    $result = $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    # on compte le nombre de posts des fils
    if ($db->num_rows($result))
    {
        while($line = $db->fetch_row($result))
        {
            $num_posts = $num_posts + $line[1];
            $num_topics = $num_topics + $line[0];
            $sql = 'SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$line[2].' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1';
            $result2 = $db->query($sql) or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
            list($post_fils, $post_id_fils, $poster_fils) = $db->fetch_row($result2);
            if($post_fils > $last_post_fils)
            {
                $last_post_fils = $post_fils;
                $last_post_id_fils = $post_id_fils;
                $last_poster_fils = $poster_fils;
            }
        }
    }

    $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    if ($db->num_rows($result) > 0)
    {
        # le forum courant n'est pas vide
        list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);
        if($last_post_fils != 0)
        {
            if($last_post_fils > $last_post)
            {
                $last_post = $last_post_fils;
                $last_post_id = $last_post_id_fils;
                $last_poster =  $last_poster_fils;
            }
        }
        $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics.', num_posts='.$num_posts.', last_post='.$last_post.', last_post_id='.$last_post_id.', last_poster=\''.$db->escape($last_poster).'\' WHERE id='.$forum_id;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 1', __FILE__, __LINE__, $db->error());
    }
    else
    {
        # le forum courant est vide
        if($num_topics == 0 && $num_posts == 0)
        {
            # les fils du forum courant sont vides
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics=0, num_posts=0, last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id='.$forum_id;
            $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 2', __FILE__, __LINE__, $db->error());
        }
        else
        {
            # les fils du forum courant ne sont pas vides
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics.', num_posts='.$num_posts.', last_post='.$last_post_fils.', last_post_id='.$last_post_id_fils.', last_poster=\''.$db->escape($last_poster_fils).'\' WHERE id='.$forum_id;
            $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 2', __FILE__, __LINE__, $db->error());
        }
    }

    $last_post_fils = $last_post_id_fils = $last_poster_fils = 0;
    $post_fils = $post_id_fils = $poster_fils = 0;

    # MAJ du forum père (s'il y en a)

    $result = $db->query('SELECT parent_forum_id FROM '.$db->prefix.'forums WHERE id='.$forum_id) or error('Impossible de retrouver les informations du forum', __FILE__, __LINE__, $db->error());
    $line = $db->fetch_assoc($result);
    $id_papa = $line['parent_forum_id'];
    if($id_papa != 0)
    {
        $result = $db->query('SELECT COUNT(id), SUM(num_replies) FROM '.$db->prefix.'topics WHERE moved_to IS NULL AND forum_id='.$id_papa ) or error('Impossible de retrouver le total de discussions du forum', __FILE__, __LINE__, $db->error());
        list($num_topics_papa, $num_posts_papa) = $db->fetch_row($result);
   
        # MAJ du nb de posts/topics
        $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$id_papa.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        list($last_post_papa, $last_post_id_papa, $last_poster_papa) = $db->fetch_row($result);
        $num_posts_papa = $num_posts_papa + $num_posts + $num_topics_papa;
        $num_topics_papa = $num_topics_papa + $num_topics;
        $sql = 'SELECT SUM(num_topics), SUM(num_posts), id FROM '.$db->prefix.'forums WHERE parent_forum_id = '.$id_papa.' AND id <> '.$forum_id.' GROUP BY id';
        $result = $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        # on compte le nombre de posts des fils de ce père
        if ($db->num_rows($result))
        {
            while(list($num_topics_fils, $num_posts_fils, $id_fils) = $db->fetch_row($result))
            {
                $num_posts_papa = $num_posts_papa + $num_posts_fils;
                $num_topics_papa = $num_topics_papa + $num_topics_fils;
                $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$id_fils.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
                list($post_fils, $post_id_fils, $poster_fils) = $db->fetch_row($result);
                if($post_fils > $last_post)
                {
                    $last_post = $post_fils;
                    $last_post_id = $post_id_fils;
                    $last_poster = $poster_fils;
                }
            }
        }
        # Requête MAJ du nb de posts/topics
        $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics_papa.', num_posts='.$num_posts_papa.' WHERE id='.$id_papa;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 3', __FILE__, __LINE__, $db->error());

        $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        if ($db->num_rows($result))
        {
            list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);
        }
        if($last_post_papa > $last_post)
        {
            $last_post = $last_post_papa;
            $last_post_id = $last_post_id_papa;
            $last_poster =  $last_poster_papa;
        }
       
        #MAJ de la date
        if($last_post != '')
            $sql = 'UPDATE '.$db->prefix.'forums SET last_post='.$last_post.', last_post_id='.$last_post_id.', last_poster=\''.$db->escape($last_poster).'\' WHERE id='.$id_papa;
        else
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics=0, num_posts=0, last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id='.$id_papa;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 4', __FILE__, __LINE__, $db->error());
    }

en modifiant uniquement la premiere partie ou uniquement la 2eme j'ai  le message d'erreur mais sur des lignes differente, voici la ligne cité

for ($i = 0; $i  $num_args; ++$i)

je pense qu'une ligne de code doit ce decaller lorsque je modifie mais laquelle...

je travail sur dreamweaver 2004 mais j'ai aussi essayer de modifier avec le bloc-note.

je sens que je suis tout pret mais c ligne de code sont interminable
si quelqu'un a l'idée de genie d'avance merci beaucoup

Dernière modification par droopy69 (05-07-2007 18:11:42)

Hors ligne

#14 05-07-2007 23:04:10

yemgi
Expatrié

Re : est -il possible d'avoir des sous-forum?

Tu obtiens une erreur en faisant juste les étapes 81 et 82 ? ou seulement quand tu fais les étapes 81 a 84 ?

Hors ligne

#15 06-07-2007 15:34:18

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

si j'ajoute que 81 j'ai l'erreur et si je fait que remplacer 83 par 84 j'ai aussi l'erreur

Hors ligne

#16 06-07-2007 16:53:49

yemgi
Expatrié

Re : est -il possible d'avoir des sous-forum?

81, il n'y a rien a ajouter ce qui voudrait dire que ton fichier d'origine a un probleme.  Essaies en réinstallant le functions.php d'origine.

Hors ligne

#17 07-07-2007 09:31:41

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

toujours pareil

si j'ajoute que 81 j'ai l'erreur et si je fait que remplacer 83 par 84 j'ai aussi l'erreur

avec le fichier original que je n'est jamais modifier

Dernière modification par droopy69 (07-07-2007 09:32:02)

Hors ligne

#18 20-07-2007 14:58:20

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

je vient de trouver sur un forum le fichier function.php modifier,je l'ai envoyer sur mon server et miracle la fonction sous-forum fonctionne.functions.php

malheureusement j'ai encore quelque soucis :

lorsque je deplace des post dans ce sous-forum j'ai 0 sujet et 0 discution malgres que le post apparaisse bien(j'ai aussi un message d'erreur du type

An error was encountered
Error: UPDATE forums SET num_topics=, num_posts=, last_post=1184932964, last_post_id=399, last_poster='droopy' WHERE id=41
Impossible de mettre à jour last_post/last_post_id/last_poster 1.

mais le forum est quand meme deplacer, on peut donc laisser comme ça pour le message d'erreur c pas un probleme).

j'ai aussi un message d'erreur l'orsque je post une reponse

An error was encountered
Error: UPDATE forums SET num_topics=, num_posts=, last_post=1184935957, last_post_id=400, last_poster='droopy' WHERE id=41
Impossible de mettre à jour last_post/last_post_id/last_poster 1.

la reponse apparait quand meme mais c'est pas tres pratique pour les membres.

j'ai trouver sur le post de punBB.fr section mods,une modif a faire sur le fichier UPDATE_FORUM

Remplace juste la fonction UPDATE_FORUM par celle ci :
[c]function update_forum($forum_id)
{
    global $db;
   
    $num_posts_fils = 0;
    $num_topics_fils = 0;
    $last_post_fils = $last_post_id_fils = $last_poster_fils = 0;
    $post_fils = $post_id_fils = $poster_fils = 0;
    $total_posts_fils = $total_topics_fils = 0;
    # MAJ du forum courant
    $result = $db->query('SELECT COUNT(id), SUM(num_replies) FROM '.$db->prefix.'topics WHERE moved_to IS NULL AND forum_id='.$forum_id) or error('Impossible de retrouver le total de discussions du forum', __FILE__, __LINE__, $db->error());
    list($num_topics, $num_posts) = $db->fetch_row($result);

    $num_posts = $num_posts + $num_topics;
    $sql = 'SELECT SUM(num_topics), SUM(num_posts), id FROM '.$db->prefix.'forums WHERE parent_forum_id = '.$forum_id.' GROUP BY id';
    $result = $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    # on compte le nombre de posts des fils
    if ($db->num_rows($result))
    {
        while($line = $db->fetch_row($result))
        {
            $num_posts = $num_posts + $line[1];
            $num_topics = $num_topics + $line[0];
            $sql = 'SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$line[2].' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1';
            $result2 = $db->query($sql) or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
            list($post_fils, $post_id_fils, $poster_fils) = $db->fetch_row($result2);
            if($post_fils > $last_post_fils)
            {
                $last_post_fils = $post_fils;
                $last_post_id_fils = $post_id_fils;
                $last_poster_fils = $poster_fils;
            }
        }
    }

    $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    if ($db->num_rows($result) > 0)
    {
        # le forum courant n'est pas vide
        list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);
        if($last_post_fils != 0)
        {
            if($last_post_fils > $last_post)
            {
                $last_post = $last_post_fils;
                $last_post_id = $last_post_id_fils;
                $last_poster =  $last_poster_fils;
            }
        }
        $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics.', num_posts='.$num_posts.', last_post='.$last_post.', last_post_id='.$last_post_id.', last_poster=\''.$db->escape($last_poster).'\' WHERE id='.$forum_id;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 1', __FILE__, __LINE__, $db->error());
    }
    else
    {
        # le forum courant est vide
        if($num_topics == 0 && $num_posts == 0)
        {
            # les fils du forum courant sont vides
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics=0, num_posts=0, last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id='.$forum_id;
            $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 2', __FILE__, __LINE__, $db->error());
        }
        else
        {
            # les fils du forum courant ne sont pas vides
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics.', num_posts='.$num_posts.', last_post='.$last_post_fils.', last_post_id='.$last_post_id_fils.', last_poster=\''.$db->escape($last_poster_fils).'\' WHERE id='.$forum_id;
            $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 2', __FILE__, __LINE__, $db->error());
        }
    }

    $last_post_fils = $last_post_id_fils = $last_poster_fils = 0;
    $post_fils = $post_id_fils = $poster_fils = 0;

    # MAJ du forum père (s'il y en a)

    $result = $db->query('SELECT parent_forum_id FROM '.$db->prefix.'forums WHERE id='.$forum_id) or error('Impossible de retrouver les informations du forum', __FILE__, __LINE__, $db->error());
    $line = $db->fetch_assoc($result);
    $id_papa = $line['parent_forum_id'];
    if($id_papa != 0)
    {
        $result = $db->query('SELECT COUNT(id), SUM(num_replies) FROM '.$db->prefix.'topics WHERE moved_to IS NULL AND forum_id='.$id_papa ) or error('Impossible de retrouver le total de discussions du forum', __FILE__, __LINE__, $db->error());
        list($num_topics_papa, $num_posts_papa) = $db->fetch_row($result);
   
        # MAJ du nb de posts/topics
        $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$id_papa.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        list($last_post_papa, $last_post_id_papa, $last_poster_papa) = $db->fetch_row($result);
        $num_posts_papa = $num_posts_papa + $num_posts + $num_topics_papa;
        $num_topics_papa = $num_topics_papa + $num_topics;
        $sql = 'SELECT SUM(num_topics), SUM(num_posts), id FROM '.$db->prefix.'forums WHERE parent_forum_id = '.$id_papa.' AND id <> '.$forum_id.' GROUP BY id';
        $result = $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        # on compte le nombre de posts des fils de ce père
        if ($db->num_rows($result))
        {
            while(list($num_topics_fils, $num_posts_fils, $id_fils) = $db->fetch_row($result))
            {
                $num_posts_papa = $num_posts_papa + $num_posts_fils;
                $num_topics_papa = $num_topics_papa + $num_topics_fils;
                $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$id_fils.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
                list($post_fils, $post_id_fils, $poster_fils) = $db->fetch_row($result);
                if($post_fils > $last_post)
                {
                    $last_post = $post_fils;
                    $last_post_id = $post_id_fils;
                    $last_poster = $poster_fils;
                }
            }
        }
        # Requête MAJ du nb de posts/topics
        $sql = 'UPDATE '.$db->prefix.'forums SET num_topics='.$num_topics_papa.', num_posts='.$num_posts_papa.' WHERE id='.$id_papa;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 3', __FILE__, __LINE__, $db->error());

        $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id='.$forum_id.' AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Impossible de retrouver last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
        if ($db->num_rows($result))
        {
            list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);
        }
        if($last_post_papa > $last_post)
        {
            $last_post = $last_post_papa;
            $last_post_id = $last_post_id_papa;
            $last_poster =  $last_poster_papa;
        }
       
        #MAJ de la date
        if($last_post != '')
            $sql = 'UPDATE '.$db->prefix.'forums SET last_post='.$last_post.', last_post_id='.$last_post_id.', last_poster=\''.$db->escape($last_poster).'\' WHERE id='.$id_papa;
        else
            $sql = 'UPDATE '.$db->prefix.'forums SET num_topics=0, num_posts=0, last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id='.$id_papa;
        $db->query($sql) or error($sql.'<br />Impossible de mettre à jour last_post/last_post_id/last_poster 4', __FILE__, __LINE__, $db->error());
    }

}[/c]

voici le lien http://www.punbb.fr/forums/viewtopic.ph … 266#p16266
cela va t-il resoudre le probleme des 0 messages 0 discutions

merci de votre aide

Dernière modification par droopy69 (20-07-2007 15:08:45)

Hors ligne

#19 24-07-2007 18:20:39

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

je pense etre arriver au probleme recurant des sous forums: le nombre de message qui ne correspond pas au vrai nombre de message.

J'ai vu sur mon forum que les sous-forum sont placer au dessus des topics rester dans le forum parent, est-il possible de les placer apres ces topics.

merci de votre aide

Hors ligne

#20 24-07-2007 18:45:49

romain9441
Admin locker

Re : est -il possible d'avoir des sous-forum?

Pas très bien compris... hmm Qu'est-ce que ça va changer ?


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#21 24-07-2007 18:52:22

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

je c pas peut-etre que le forum marque 0 message parce que le sous-forum marque 0 message.

sa coute rien d'essayer mais comment deplacer le sous-forum? je pense que ça doit ce jouer dans viewforum

Hors ligne

#22 24-07-2007 19:01:55

romain9441
Admin locker

Re : est -il possible d'avoir des sous-forum?

Non, ça vient tout simplement de la requête d'update dans include/functions.php, j'essaierai de regarder le problème si j'ai le temps.


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#23 24-07-2007 19:04:58

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

je suis un peu tetu mais est-ce difficile de deplacer le sous-forum ?
pour l'esthetique de mon forum je prefererait

merci

Hors ligne

#24 24-07-2007 19:08:32

romain9441
Admin locker

Re : est -il possible d'avoir des sous-forum?

droopy69 a écrit :

je suis un peu tetu mais est-ce difficile de deplacer le sous-forum ?
pour l'esthetique de mon forum je prefererait

merci

Il faut déplacer la div d'affichage, mais je te déconseille, tout simplement car on ne verra plus le lien vers le sous-forum après.


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#25 24-07-2007 19:11:18

droopy69
Membre

Re : est -il possible d'avoir des sous-forum?

dans viewforum je trouve ça?

Hors ligne

Pied de page des forums