Archives FluxBB.fr

Les archives de FluxBB.fr

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

#1 15-12-2008 19:05:06

.g@sp.
Membre

récupérer un flux RSS d'un forum privé

hello
je voudrais pouvoir récupérer tous les nouveaux topics de tout le forum, même ceux qui sont visibles uniquement par les administrateurs du forum via un flux RSS.
J'ai fait plusieurs tests, mais rien n'a fonctionné...

j'ai http://www.domaine.be/forum/extern.php? … d=10,11,12


(disons que 10 est un forum visible par tous, 11 uniquement par les membres et 12 uniquement par les administrateurs)


est-ce possible ?

merci

Hors ligne

#2 16-12-2008 00:12:46

Mpok
Néo Admin

Re : récupérer un flux RSS d'un forum privé

C'est certainement possible en modifiant extern.php, mais c'est complètement illogique : le flux rss étant public (accessible par tout le monde), il est normal qu'il n'affiche pas le contenu de forums privés...

Hors ligne

#3 16-12-2008 13:43:21

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

je m'en suis douté en réfléchissant un peu après avoir posté mon message.

mais si je modifie donc extern.php, et que l'adresse du feed n'est visible nulle part, il n'y a pas beaucoup de risques que quelqu'un tombe dessus si ?

quelqu'un a une idée de ce que je devrais modifier dans extern.php ? j'imagine que c'est cette ligne qui pose "problème" :

// Make sure we (guests) have permission to read the forums
$result = $db->query('SELECT g_read_board FROM '.$db->prefix.'groups WHERE g_id=3') or error('Unable to fetch group info', __FILE__, __LINE__, $db->error());
if ($db->result($result) == '0')
    exit('No permission');

p.s. mon forum est de toute façon très peu public, il nous sert surtout à communiquer entre les membres de mon assoc'. Sur la trentaine d'inscrits, plus de la moitié ont de toute façon accès à tout.


merci smile

Dernière modification par .g@sp. (16-12-2008 13:48:04)

Hors ligne

#4 16-12-2008 14:04:27

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

bon, j'ai modifié

$result = $db->query('SELECT g_read_board FROM '.$db->prefix.'groups WHERE g_id=3')

en

$result = $db->query('SELECT g_read_board FROM '.$db->prefix.'groups WHERE g_id=4')

qui est l'id du groupe "membres" qui a accès à tout.

donc dans mon agrégateur (j'utilise thunderbird), j'ai mis
http://www.******.**/forum/extern.php?action=new&type=RSS&fid=3

(en mettant un nouveau message de test dans le forum qui a l'id 3)

ça ne me donne absolument rien

donc j'ai enlevé fid=3
et là ça me donne bien 15 messages tirés de tous les forums (qu'ils soient privés ou publics), mais pas du tout les plus récents !!! (et pas le nouveau message test)

je n'y comprends rien sad

Hors ligne

#5 16-12-2008 17:15:06

Mpok
Néo Admin

Re : récupérer un flux RSS d'un forum privé

Non, ne touche pas à cette ligne (remet celle d'origine).

Ce qu'il faut, c'est modifier la requête en dessous de "// Fetch 15 topics" par :

        $result = $db->query('SELECT t.id, t.poster, t.subject, t.posted, t.last_post, f.id AS fid, f.forum_name FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.moved_to IS NULL'.$forum_sql.' ORDER BY '.$order_by.' DESC LIMIT 15') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

Hors ligne

#6 17-12-2008 12:14:49

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

Ce n'est pas encore ça...

ici il m'a bien mis 15 messages tirés du forum qui a l'id 3, mais pas les plus récents. Et surtout, je n'y ai pas accès, vu qu'ils ne sont pas visibles par les invités.

Mais je me rends bien compte qu'on s'approche du but wink
il faudrait trier par t.last_post non ?

Hors ligne

#7 17-12-2008 12:19:26

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

ok ok au temps pour moi, il suffisait de remplacer action=new par action=active

on y est presque, merci wink


Par contre, pour que ce soit lisible, je dois quand même modifier la ligne d'autorisation (148) en dessous de
// Make sure we (guests) have permission to read the forums
je ne vois pas d'autre solution pour avoir accès aux forums privés via RSS

Dernière modification par .g@sp. (17-12-2008 12:22:20)

Hors ligne

#8 17-12-2008 12:55:36

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

hm
rien à faire... quand j'affiche les messages en html dans thunderbird, il me considère toujours comme un invité.
meme si je change la ligne
// Make sure we (guests) have permission to read the forums


par contre, quand j'affiche juste un résumé, forcément, ça fonctionne (vu que je dois cliquer sur le lien pour voir le message et que j'arrive sur mon forum où je suis connecté en permanence)



des idées ? moi je sèche sad

Dernière modification par .g@sp. (17-12-2008 12:55:50)

Hors ligne

#9 18-12-2008 15:12:10

.g@sp.
Membre

Re : récupérer un flux RSS d'un forum privé

bon, excusez-moi si je parle un peu tout seul, mais ça m'aide à avancer dans mon problème wink

quand je configure thunderbird pour récupérer le flux RSS de mon forum il me demande si je veux uniquement un résumé, ou les infos en html.

Quand je demande un résumé, il me donne ces infos :
- le forum
- l'auteur du sujet
- la date de création
- la date du dernier message

serait-il possible de modifier "extern.php" pour qu'il me donne aussi l'auteur de la dernière réponse et (par exemple) les 100 premiers caractères du dernier message ??

(j'imagine que ça se passe entre la ligne 215 et la ligne 223, mais je n'ai aucune idée de comment rajouter ça...)

        // It's time for some syndication!
        echo '<?xml version="1.0" encoding="'.$lang_common['lang_encoding'].'"?>'."\r\n";
        echo '<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">'."\r\n";
        echo '<rss version="0.91">'."\r\n";
        echo '<channel>'."\r\n";
        echo "\t".'<title>'.pun_htmlspecialchars($pun_config['o_board_title']).'</title>'."\r\n";
        echo "\t".'<link>'.$pun_config['o_base_url'].'/</link>'."\r\n";
        echo "\t".'<description>'.pun_htmlspecialchars($rss_description.' '.$pun_config['o_board_title']).'</description>'."\r\n";
        echo "\t".'<language>en-us</language>'."\r\n";

merci bien smile

Hors ligne

#10 19-12-2008 02:07:46

Mpok
Néo Admin

Re : récupérer un flux RSS d'un forum privé

Pour l'auteur du dernier message, il suffit de rajouter t.last_poster (dans la requête qu'on a modifié plus haut) et de l'afficher dans la boucle (de la même façon que l'on affiche $cur_topic['poster'], on rajoute $cur_topic['last_poster']).

En revanche, pour le dernier message, là c'est plus dur (il va falloir faire un JOIN sur la table posts dans la requête...).
Mais tu devrais peut-être aller voir du côté de la mod PunRSS, qui je crois permet de faire ça...

Hors ligne

Pied de page des forums