Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
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
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
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 
Dernière modification par .g@sp. (16-12-2008 13:48:04)
Hors ligne
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 
Hors ligne
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
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 
il faudrait trier par t.last_post non ?
Hors ligne
ok ok au temps pour moi, il suffisait de remplacer action=new par action=active
on y est presque, merci 
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
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 
Dernière modification par .g@sp. (17-12-2008 12:55:50)
Hors ligne
bon, excusez-moi si je parle un peu tout seul, mais ça m'aide à avancer dans mon problème 
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 
Hors ligne
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
Pages : 1