News:

Wondering if this will always be free?  See why free is better.

Main Menu

Afficher les auteurs dans le flux rss

Started by Zatalyz, August 10, 2014, 04:45:20 AM

Previous topic - Next topic

Zatalyz

Bonjour,
J'ai trouvé de la doc sur la façon dont les flux rss sont gérés par SMF ( http://wiki.simplemachines.org/smf/XML_feeds ) mais je n'ai pas trouvé comment afficher les auteurs... Je n'ai pas réussi à afficher l'option "members" mais de ce que je lit, de toute façon je crois que c'est pour afficher les derniers membres inscrits ? non ?

En fait dans la liste des dernières réponses, j'aimerais ajouter la précision de qui a posté. Je ne maîtrise absolument pas les flux rss... je me contente de copier bêtement les lignes proposés et de voir avec les options documentées, mais puisque c'est possible avec d'autres cms de récupérer l'auteur, je me dit que là, c'est peut-être juste une option un peu discrète ?

En gros j'aimerais que la liste m'affiche :
-"Titre du sujet" par Bidule, le (date).

Le titre et la date c'est bon, me manque le nom de qui a répondu en dernier.

maximus23

Bonjour,

Tu veux par exemple ajouter le pseudo pour chaque message je suppose :

Donc Fichier Sources/News.php

Rechercher :


IFNULL(memf.real_name, mf.poster_name) AS first_poster_name, mem.hide_email,


Remplacer par :


IFNULL(memf.real_name, mf.poster_name) AS first_poster_name, mem.hide_email, mem.real_name,


Rechercher :


'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['real_name']), array('yes', 'yes_permission_override')) ? $row['poster_email'] : null,


Remplacer par :


'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['real_name']), array('yes', 'yes_permission_override')) ? $row['poster_email'] .' | '. $row['real_name'] : null,



Ce qui te donnera ceci dans le flux recent xml

Quote‎vendredi ‎25 ‎juillet ‎2014, ‏‎17:54:05 | [email protected] | maximus23

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Zatalyz

Au lieu de
'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['real_name']), array('yes', 'yes_permission_override')) ? $row['poster_email'] : null,

j'ai
'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['id_member']), array('yes', 'yes_permission_override')) ? $row['poster_email'] : null,


deux fois d'ailleurs dans le fichier.

J'ai changé les deux versions, d'abord avec
'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['id_member']), array('yes', 'yes_permission_override')) ? $row['poster_email'] .' | '. $row['real_name'] : null,

puis
'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['real_name']), array('yes', 'yes_permission_override')) ? $row['poster_email'] .' | '. $row['real_name'] : null,


Mais ça ne change rien sur le flux rss... peut-être une histoire de latence ?
Pour info les options de la ligne que j'affiche sont :
http://nomdusite/forum/index.php?action=.xml;type=rss;sa=recent
L'option sa=recent ne change pas grand chose d'ailleurs, c'est sans doute l'option par défaut...

maximus23

Bonsoir,

La modification se fait à ce niveau pour l'ajout bdd :

// Find the most recent posts this user can see.

La modification ci-dessus se situe à ce niveau :


// Doesn't work as well as news, but it kinda does..
if ($xml_format == 'rss' || $xml_format == 'rss2')



L'appel se fait par ceci :

http://ndd/index.php?type=rss;action=.xml

Et cela donne ceci :


Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Zatalyz

Ok... j'ai bien modifié, à présent dans /sources/News.php j'ai ça :

Quote// Doesn't work as well as news, but it kinda does..
      if ($xml_format == 'rss' || $xml_format == 'rss2')
         $data[] = array(
            'title' => $row['subject'],
            'link' => $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'],
            'description' => cdata_parse($row['body']),
            'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['real_name']), array('yes', 'yes_permission_override')) ? $row['poster_email'] .' | '. $row['real_name'] : null,
            'category' => cdata_parse($row['bname']),
            'comments' => $scripturl . '?action=post;topic=' . $row['id_topic'] . '.0',
            'pubDate' => gmdate('D, d M Y H:i:s \G\M\T', $row['poster_time']),
            'guid' => $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg']
         );

Mais... je n'ai toujours pas l'auteur sur le flux rss. Ou alors c'est mon cache mais il semblerait que non... L'exemple est sur http://khaganat.net/forum/index.php?action=.xml;type=rss

maximus23

Bonsoir,

Ok je vois alors pourquoi cela n'apparaît pas tu veux que cela soit visible pour tout le monde même pour les invités car sous cette forme seul les membres étant connectés au forum peuvent le voir.

Connecte toi au forum et teste ton flux pour voir. Si c'est pour les invités aussi je te ferai la modification dès que j'ai un moment de libre :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Zatalyz

Ha ok, je comprends mieux  :D

Oui, le but est bien que tout le monde, même les invités, voient le pseudo de qui a posté. Pas le mail, par contre, jamais... c'est le genre d'infos qui n'est accessible que pour l'administration en principe ^^

Par contre c'est bizarre, bien que connecté à mon forum je ne vois pas plus les auteurs via le lien donné plus haut... C'est peut-être lié à un mod que j'ai installé (subaccount mod ? un autre ?). Pas très grave ; si tout le monde peut voir les auteurs par la suite, ça résoudra le souci d'office.

maximus23

Bonjour,

Non ils ne verront pas les mails ce qui se passe pour le moment c'est que toutes infos xml sont reliées aux permissions des utilisateurs utilisant les feeds ce qui est normal sinon les feeds passeraient outre toutes les permissions et autorisations du forum. Ce qui inclut que pour voir certaines sections tu dois être connecté en admin ou autre pour avoir accès à toutes ces news privilégiées. Ce qui est mon cas pour le test ci-dessus.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maximus23

#8
Bonsoir,

Pour test tout simple :

Donc Fichier Sources/News.php

Rechercher :


IFNULL(memf.real_name, mf.poster_name) AS first_poster_name, mem.hide_email,


Remplacer par :


IFNULL(memf.real_name, mf.poster_name) AS first_poster_name, mem.hide_email, mem.real_name, m.poster_name,


Rechercher :



'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['id_member']), array('yes', 'yes_permission_override')) ? $row['poster_email'] : null,


Remplacer par :


'author' => in_array(showEmailAddress(!empty($row['hide_email']), $row['id_member']), array('yes', 'yes_permission_override')) ? $row['poster_email'] .' | '. $row['real_name'] : $row['real_name'],


Bon j'espère que l'ai pas fait d'erreurs en recopiant car ici boulot tablette.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Advertisement: