Archives FluxBB.fr

Les archives de FluxBB.fr

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

#26 26-03-2010 22:34:53

Levak
Membre

Re : Discussions recentes 1.2

juliando a écrit :

Probleme:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/-----------/include/functions.php on line 1147

Bonjour,
Étrange problème...
Seulement, je/nous ne pouvons pas t'aider si tu ne développes pas ... comment je sais quelle version tu utilises de PunBB ? Il est fort probable que la toute dernière version (>=1.3) cause problème, j'ai arrêté mon développement avec la version que j'avais (1.2.17 puis 1.2.21). De plus, tous mes forum sont HS depuis 1 ou 2 ans, et je ne développe plus rien en PHP. Si j'arrive à comprendre ton problème, ce sera en tout premier temps après que tu ais détaillé ta config, les mods installées, des arguments qui montrent que tu es investi dans le problème et pas seulement "Je balance ce bug et il se débrouille avec".

De plus, la modification est simple à mettre en place (à débugger c'est autre chose), un gros copier/coller et puis c'est réglé ; donc ce n'est certainement pas une erreur de manip de ta part (je te vois tu es soulagé happy).

Merci de ta compréhension, et j'espère vraiment pouvoir t'aider.
@+


Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit.
L'amour c'est comme la grippe, ça s'attrape dans la rue et ça se finit au lit.

Hors ligne

#27 27-03-2010 00:23:47

kankan
Membre

Re : Discussions recentes 1.2

Bonjour Levak,

Merci pour ton mod.
Saurais tu le moyen de passer l'icone devant le message comme lue lorsque le lien a été ouvert et que l'on reviens sur la liste des derniers messages non lus.
Je ne sais pas si je suis clair (une pastille de couleur devant le post est allumée lorsque le post n'est pas encore lu dans le forum, des que le post est lu, la pastille change de couleur instantanément... ce qui ne semble pas être le cas avec la liste des derniers messages ... il faut attendre un petit délais pour que cette pastille tourne de couleur.)

Merci.

Nicolas

Hors ligne

#28 27-03-2010 21:15:03

Levak
Membre

Re : Discussions recentes 1.2

kankan a écrit :

Bonjour Levak,

Merci pour ton mod.
Saurais tu le moyen de passer l'icone devant le message comme lue lorsque le lien a été ouvert et que l'on reviens sur la liste des derniers messages non lus.
Je ne sais pas si je suis clair (une pastille de couleur devant le post est allumée lorsque le post n'est pas encore lu dans le forum, des que le post est lu, la pastille change de couleur instantanément... ce qui ne semble pas être le cas avec la liste des derniers messages ... il faut attendre un petit délais pour que cette pastille tourne de couleur.)

Merci.

Nicolas

Ma mod est basée sur le système même du forum, donc "normalement" si la pastille disparait dans le forum, elle doit disparaitre dans les discussions récentes.
MAIS, le forum punBB ne fonctionne pas comme les forums phpBB par exemple. Si l'on clique sur le topic où il y a une pastille, la pastille disparait automatiquement, pas sous punBB qui se base sur les cookies du visiteur et en prenant l'heure de la dernière visite. Il existe une mod pour faire comme phpBB, mais sur le topic, il y a de nombreux retours qui incitent à ne pas installer la mod car engendrant de nombreux petits problèmes, ou ne fonctionnant pas bien Je t'avoue je ne l'ai jamais testée, libre à toi d'essayer sur un forum vierge et voir si ça convient smile

@+


Heureux l'étudiant qui comme la rivière peut suivre son cours sans quitter son lit.
L'amour c'est comme la grippe, ça s'attrape dans la rue et ça se finit au lit.

Hors ligne

#29 27-04-2010 18:13:00

kankan
Membre

Re : Discussions recentes 1.2

Avec un peu de retard merci pour ta réponse. J'ai effectivement utilisé ce mod permettant de "bypasser" les cookies afin de changer immédiatement la couleur des pastilles... aucun probleme rencontrés jusqu'a maintenant.
Je vais tester cela sur un forum vierge. Merci.

Hors ligne

#30 31-05-2010 11:46:51

StevensHacker
Membre

Re : Discussions recentes 1.2

juliando a écrit :

Probleme:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/-----------/include/functions.php on line 1147

J'ai exactement la même erreur à la ligne 1361
Je suis sous flux 1.2.22

voici mon code ajouté à fonction.php

function showRecent($show) {
    global $lang_common, $db, $pun_config, $db_prefix, $pun_user;

    $order_by = 't.last_post';
    $forum_sql = '';

    if ($show < 1 || $show > 50) $show = 5; // On vérifie qu'on exagère pas trop sur le nombre d'affichages

    // Fetch $show topics
    
    if ($pun_user['is_guest']) //guest
    {
    $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL'.$forum_sql.' ORDER BY '.$order_by.' DESC LIMIT '.$show) or error('Impossible de regrouper la liste principale des topics visiteurs', __FILE__, __LINE__, $db->error());
    $result2 = $db->query('SELECT id, forum_name FROM '.$db->prefix.'forums') or error('Impossible de regrouper la liste principale des forums (liste2)', __FILE__, __LINE__, $db->error());
    }
    elseif ($pun_user['g_id']==1) //admin 
    {
    $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE t.moved_to IS NULL'.$forum_sql.' ORDER BY '.$order_by.' DESC LIMIT '.$show) or error('Impossible de regrouper la liste principale des topics admin', __FILE__, __LINE__, $db->error());
    $result2 = $db->query('SELECT id, forum_name FROM '.$db->prefix.'forums') or error('Impossible de regrouper la liste principale des forums (liste2)', __FILE__, __LINE__, $db->error());
    }   
    else //autres membres
    {
    $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL'.$forum_sql.' ORDER BY '.$order_by.' DESC LIMIT '.$show) or error('Impossible de regrouper la liste principale des topics membres', __FILE__, __LINE__, $db->error());
    $result2 = $db->query('SELECT id, forum_name FROM '.$db->prefix.'forums') or error('Impossible de regrouper la liste principale des forums (liste2)', __FILE__, __LINE__, $db->error());
    }

// Y-a-t-il quelque chose à afficher ?
if(mysql_num_rows($result)>0){  
    ?>            
        <div id="vf" class="blocktable">
        <h2><span><?php echo $lang_common['Recent updated']; ?></span></h2>
        <div class="box">
        <div class="inbox">
                <table cellspacing="0">
            <thead>
                <tr>
                    <th class="tcl" scope="col"><?php echo $lang_common['Topic']; ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_common['Forum'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_common['Replies'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
    <?php
    $forum_list = array();
    while ($forum_list[] = $db->fetch_row($result2))
    while ($cur_topic = $db->fetch_assoc($result)) {
        if ($pun_config['o_censoring'] == '1')
            $cur_topic['subject'] = censor_words($cur_topic['subject']);

        $subject_truncated = pun_htmlspecialchars($cur_topic['subject']);
        $timestamp = $cur_topic['posted'];
        if ($timestamp == '')
            $dateA = 'Jamais';
        $now = time(); 
        $date = date($lang_common['Recent date'], $timestamp);
        $today = date($lang_common['Recent date'], $now+$diff);
        $yesterday = date($lang_common['Recent date'], $now+$diff-86400);
                        
        if ($date == $today){
            $date = "Aujourd'hui";
            $datelongue = 0;
        }
        else if ($date == $yesterday){
            $date = 'Hier';
            $datelongue = 0;
        }
        else
            $datelongue = 1;
            
        if ($datelongue == 0) 
            $date = $date.$lang_common['Recent at'].date('H:i:s', $timestamp);
        else if ($datelongue == 1) 
            $date = 'le '.$date.$lang_common['Recent at'].date('H:i:s', $timestamp);
        else
            $date = $date;
        
        $subject = '<a href="'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'&action=new" title="'.pun_htmlspecialchars($cur_topic['subject']).'">'.$subject_truncated.'</a>';
        $icon = '<div class="icon"><div class="nosize">'.$lang_common['Normal icon'].'</div></div>'."\n";
        $icon_text = $lang_common['Normal icon'];
        $item_status = '';
        $icon_type = 'icon';
        if (!$pun_user['is_guest'] && $cur_topic['last_post'] > $pun_user['last_visit'])
        {
            $icon_text .= ' '.$lang_common['New icon'];
            $item_status .= ' inew';
            $icon_type = 'icon inew';
            $subject = '<strong>'.$subject.'</strong>';
            $subject_new_posts = '<span class="newtext">[ <a href="viewtopic.php?id='.$cur_topic['id'].'&action=new" title="'.$lang_common['New posts info'].'">'.$lang_common['New posts'].'</a> ]</span>';
        }
        else
            $subject_new_posts = null;
        
        @reset($forum_list);
            while (list(, $temp) = @each($forum_list))
            {
            if ($temp[0] == $cur_topic['forum_id'])
                    $forum = '<a href="viewforum.php?id='.$temp[0].'">'.pun_htmlspecialchars($temp[1]).'</a>';
            }
        ?>
                <tr<?php if ($item_status != '') echo ' class="'.trim($item_status).'"'; ?>>
                    <td class="tcl">
                        <div class="intd">
                            <div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo trim($icon_text) ?></div></div>
                            <div class="tclcon">
                                <?php echo $subject."\n\t\t" ?>
                            </div>
                        </div>
                    </td>
                    <td class="tc2"><?php echo $forum ?></td>
                    <td class="tc3"><?php echo $cur_topic['num_replies'] ?></td>
                    <td class="tcr"><?php echo format_time($cur_topic['last_post']).' '.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['last_poster']) ?></td>
                </tr>
            <?php
        //echo '<li><a href="'.$pun_config['o_base_url'].'/viewtopic.php?id='.$cur_topic['id'].'&action=new" title="'.pun_htmlspecialchars($cur_topic['subject']).'">'.$subject_truncated.'</a> - <em>' . $lang_common['Recent posted by'] . ': <b>'.$cur_topic['poster'].'</b> ' . $date .'</em></li>'."\n";
    }// fin du While
    echo '</tbody></table></div></div></div>';
}// fin du if de "Y-a-t-il quelque chose à afficher ?"          
    
    return;
}// fin de la fonction

J'ai fait quelques recherche via google en vain hmm


La perfection s'écrit avec un grand "S" ....

Hors ligne

#31 31-05-2010 14:38:33

Otomatic
Régisseur

Re : Discussions recentes 1.2

Bonjour,

Le code de la fonction showRecent tel que mentionné ci-dessus ne donne aucune erreur ni aucun avertissement et fonctionne parfaitement sur mon forum en local.
Néanmoins, et pour être cohérent, il faudrait remplacer :

if(mysql_num_rows($result)>0) {

par

if($db->num_rows($result)>0) {

Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#32 31-05-2010 15:32:25

StevensHacker
Membre

Re : Discussions recentes 1.2

Merci Otomatic, c'est en effet ceci smile

Ca marche nikel maintenant x)


La perfection s'écrit avec un grand "S" ....

Hors ligne

#33 23-02-2011 12:32:56

General_Otacon
Membre

Re : Discussions recentes 1.2

Bonjour,

voilà j'ai installé la mod Discussions récentes. Elle est bien mais j'aimerai qu'une section ne soit pas pris en compte dans les discussions récentes, qu'on ne voit pas les topics de cette section comment le faire svp?

Merci d'avance smile

Dernière modification par General_Otacon (23-02-2011 12:43:04)

Hors ligne

#34 23-02-2011 12:57:09

Spiky
Membre

Re : Discussions recentes 1.2

Si la section est réservé à un groupe, il y a que les membres de ce groupe qui les voit.
Si tu es admin, c'est normal que tu les vois.

Dernière modification par Spiky (23-02-2011 12:58:15)


I don't play against a team in particular. I play to fight against the idea to lose... Life is beautiful.
Quelque #ID et beaucoup de .CLASS

Hors ligne

#35 23-02-2011 14:07:15

General_Otacon
Membre

Re : Discussions recentes 1.2

Tu n'as pas bien compris happy

En fait, je veux qu'une section ne soit pas pris en compte dans la discussion récente; qu'on ne voit pas les topics de cette section non pris en compte dans discussions récentes.

Justement cette section tous les groupes y ont accès donc quand quelqu'un poste ça montre les topics de cette section dans discussions récentes et je ne veux pas que ça soit pris en compte

Hors ligne

#36 23-02-2011 23:31:20

General_Otacon
Membre

Re : Discussions recentes 1.2

UP

Hors ligne

#37 24-02-2011 08:49:09

cramj
Membre

Re : Discussions recentes 1.2

peut-être ajouter dans la clause WHERE :
AND t.forum_id NOT IN (1, 3, 6) si tu veux masquer plusieurs forums
ou
AND t.forum_id <> 3 si tu veux masquer seulement le forum N°3

Hors ligne

#38 24-02-2011 11:32:01

General_Otacon
Membre

Re : Discussions recentes 1.2

cramj a écrit :

peut-être ajouter dans la clause WHERE :
AND t.forum_id NOT IN (1, 3, 6) si tu veux masquer plusieurs forums
ou
AND t.forum_id <> 3 si tu veux masquer seulement le forum N°3

Ok je le mets dans le fichier functions cette clause? smile Et je le mets après quoi?

Hors ligne

#39 24-02-2011 12:22:33

Porcepic
Membre

Re : Discussions recentes 1.2

Oui, il faut le mettre dans functions.php, dans la fonction showRecent, dans les requêtes du début, qui ont cette forme :

    $result = $db->query('SELECT t.id, t.subject, t.last_post, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL'.$forum_sql.' ORDER BY '.$order_by.' DESC LIMIT '.$show) or error('Impossible de regrouper la liste principale des topics visiteurs', __FILE__, __LINE__, $db->error());

(donc 3 modifications à faire, une pour la requête visiteur, une pour la requête admin, une pour la requête membre).

Il faut ajouter la condition après le WHERE ... et avant le ORDER BY ..., en essayant de ne pas couper une condition en deux...


Ceci est un virus de signature. Recopiez-le dans votre signature, s'il vous plait.

Hors ligne

#40 24-02-2011 20:33:26

General_Otacon
Membre

Re : Discussions recentes 1.2

Voilà c''est réglé smile

Il fallait juste mettre WHERE t.forum_id NOT IN (id_1, id_2) avant $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.balise_id, t.last_post_id, t.last_poster, t.num_replies, t.forum_id, f.forum_name FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')

Dernière modification par General_Otacon (24-02-2011 20:43:38)

Hors ligne

#41 15-05-2011 19:49:42

jokerz
Membre

Re : Discussions recentes 1.2

Salut, super ton mod mais seulement, comment on fait pour l'afficher au dessus des topic et pas en dessous ?

du genre :

Chatbox
Discussion récente
Catégorie XX
etccc ?

ty

Hors ligne

#42 15-05-2011 19:53:11

Guims
Membre

Re : Discussions recentes 1.2

Salut,

il te suffit de déplacer ce code dans index.php (que tu as du ajouter d’ailleurs):

// Afficher les discussions récentes
// 15 étant le nombre de discussions à afficher
showRecent(15);

Hors ligne

#43 15-05-2011 19:54:30

jokerz
Membre

Re : Discussions recentes 1.2

Ok merci, je vais essayer

Dernière modification par jokerz (18-05-2011 16:56:05)

Hors ligne

#44 18-05-2011 16:57:05

jokerz
Membre

Re : Discussions recentes 1.2

Et, toujours sur Discussion récente, tongue comment on fait pour faire afficher les catégories, pour moi il y a un vide qui apparaît au dessous de "forum"

Merci.

Hors ligne

#45 18-05-2011 19:55:46

jokerz
Membre

Re : Discussions recentes 1.2

fanf73 a écrit :

C'est le même problème que signalé plus haut, je ne comprends pas trop ce qu'a voulu faire son créateur, il m'a l'air d'avoir un peu compliqué les chose.

Chercher (3 fois)

$result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, t.last_poster, t.num_replies, t.forum_id

Ajouter après

, f.forum_name

Chercher

<td class="tc2"><?php echo $forum ?></td>

Remplacer par

<td class="tc2"><?php echo $cur_topic['forum_name'] ?></td>

En relisant, ceci ma aidé. Merci.

Hors ligne

Pied de page des forums