Carnet Wiki

signaler les révisions côté public

Version 7 — April 2018 — bfrit

A lire aussi : Le Suivi des Révisions (d’Articles etc..)

Dans l’objectif d’un spip 3 en mode wiki (objectif déjà poursuivi par Gribouille pour spip 2), déjà, signaler les révisions côté public.
Utilise le plugin Révisions , (Autorité étant utilisé pour créer l’espace wiki)

En partant de /plugins/revisions/prive/objets/liste/version.html :
créer un fichier /squelettes/inclure/version.html avec le code ci-dessous, l’inclure par <code><INCLUREfond=inclure/version code><INCLUREfond=inclure/revision /> sur la page sommaire par exemple, pour avoir les 10 dernières révisions, avec lien sur la page revision de l’espace privé de l’objet concerné si connecté, sinon sur la page public.

<BOUCLE_liste_rev(VERSIONS){id_version>1}{objet!=''}{id_auteur?} {id_objet?} {objet?}{where?}{par date} {inverse} {0,10}>
<tr><td>[(#INFO_STATUT{#OBJET,#ID_OBJET}|puce_statut{#OBJET})]</td>
<td>[(#OBJET|objet_icone{16})]</td>
<td><a #SET{titre,#INFO_TITRE{#OBJET,#ID_OBJET}}
[(#AUTORISER{modifier, #OBJET, #ID_OBJET}|?{
href="[(#ENV{url_modif,#URL_ECRIRE{revision}}|parametre_url{id_objet,#ID_OBJET} |parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION})]"
, href="[(#ENV{url_modif,#URL_PAGE{#OBJET}}|parametre_url{id_#OBJET,#ID_OBJET})]"}
)]
title="<:revisions:voir_revisions{objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html:>">
#GET{titre}</a>[ ((#TITRE_VERSION))]  
</td><td>[(#DATE|date_relative)]</td>
<td>
    [(#REM) retourner le dernier auteur modifiant l'objet ]
    <BOUCLE_lastauteur(VERSIONS){objet=#OBJET}{id_objet=#ID_OBJET}{!par date}{0,1}><span class="vcard author"><a class="url fn spip_in" href="#URL_AUTEUR">#INFO_NOM{'auteur',#ID_AUTEUR}</a></span>
    </BOUCLE_lastauteur>
</td>
</tr>
</BOUCLE_liste_rev>

On peut de même signaler qu’il y a eu révision sur un objet consulté (article, ...) :
<INCLURE{fond=inclure/historique} />, avec /squelettes/inclure/historique.html =

<table><tbody>
<BOUCLE_liste_rev(VERSIONS?){id_version>1}{id_article ?}{id_xxxx ?}{where?}{tri #ENV{par,date},#GET{defaut_tri}}{pagination #ENV{nb,10}}>
<tr><td><a #SET{titre,#INFO_TITRE{#OBJET,#ID_OBJET}}
[(#AUTORISER{modifier, #OBJET, #ID_OBJET}|oui)
href="[(#ENV{url_modif,#URL_ECRIRE{revision}}|parametre_url{id_objet,#ID_OBJET}|parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION})]"
]>
<:revisions:voir_revisions{objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html:></a>[ ((#TITRE_VERSION))]</td>
<td>[<:der_revision:> : (#DATE|date_relative)]</td>
<td>
    [(#REM) retourner le dernier auteur modifiant l'objet ]
    <BOUCLE_lastauteur(VERSIONS){objet=#OBJET}{id_objet=#ID_OBJET}{!par date}{0,1}><span class="vcard author"><a class="url fn spip_in" href="#URL_AUTEUR">#INFO_NOM{'auteur',#ID_AUTEUR}</a></span>
    </BOUCLE_lastauteur>
</td>
</tr>
</BOUCLE_liste_rev>
</tbody></table>

On ne fait donc que signaler sur la page public qu’une révision a été effectuée, avec lien sur l’espace privé pour pouvoir voir la révision, si connecté et ayant droit.

Maintenir le filtre |revisions_diff qui pourrait (?) permettre de voir les révisions sur la page public, génère une erreur (Filtre revisions_diff non défini).
Comment faire appel à ce filtre défini dans plugins-dist/revisions/inc/suivi_versions.php dans une page public ?