Corbeille

Un plugin pour retrouver les éléments supprimés dans la corbeille.

A quoi ça sert

Ce plugin permet de déroger au comportement standard de SPIP qui efface automatiquement certains objets de la base de donnée (articles, breves... à la poubelle), avec un délai d’un jour ou deux.

Avec ce plugin, plus aucun objet n’est supprimé automatiquement. La poubelle garde tous les articles ou autres objets que vous y avez mis, et vous pouvez toujours revenir en arrière.

Pour télécharger et installer

Téléchargez l’archive à la fin de l’article, et installez la dans le dossier plugins/ de votre site SPIP, comme pour tous les autres plugins

Pour s’en servir

Un sous-menu « Corbeille » est ajouté dans le menu Configuration [1] de votre Site.

Il vous permet de voir le contenu de la corbeille, type par type, et de supprimer éventuellement les objets dont vous n’avez vraiment plus besoin.

Sur chaque élément à la corbeille, un lien « voir » vous permet d’aller éditer l’élément pour le ressortir éventuellement de la corbeille.

Vous pouvez aussi sélectionner les éléments à supprimer définitivement en cochant la case devant, et cliquer sur le bouton ’Effacer la selection’.

Vous pouvez également effacer tous les éléments d’un type dans la corbeille.

Dans les deux cas le plugin va forcer l’effaçage immédiat de ces objets SPIP de la base de donnée. Les relations entre les objets SPIP seront aussi effacés (tel que les associations auteurs-articles)

Contrairement aux versions antérieures de SPIP, aucune opération complémentaire manuelle n’est nécessaire.

Pour que la corbeille gére vos objets éditoriaux

Il fau bien sûr remplacer « patate » par le nom de votre objet, et « prefixe » par le préfixe de votre plugin dans le code qui suit.

1/ créer un squelette prive/listes/corbeille_patates.html

<B_corbeille>
<div class="liste">
	[<h3 class="titrem">(#GRAND_TOTAL|singulier_ou_pluriel{patate:corbeille_patates_un,patate:corbeille_patates_tous})</h3>]
	[<nav class='pagination'>(#PAGINATION)</nav>]
	<ul class='liste-items checkables'>
	<BOUCLE_corbeille(PATATES){statut='poubelle'}{pagination 5}{!par date}{recherche ?}>
		<li class='item'>
			<label for='patate-#ID_PATATE'><:corbeille:selectionner:></label>
			<input type='checkbox' name='elements[]' id="patate-#ID_PATATE" value='#ID_PATATE'[ (#ID_PATATE|in_any{#ENV{elements}}|oui)checked='checked']/>
			<h4>[##ID_PATATE - (#TITRE|sinon{<:info_sans_titre:>})]</h4>
			<small>[(#DATE|affdate)][ (#DATE|heures)]:[(#DATE|minutes)]</small>
			<p class='actions'><a href='#URL_ECRIRE{patate,id_patate=#ID_PATATE}'><:corbeille:voir_detail:></a></p>
		</li>
	</BOUCLE_corbeille>
	</ul>
	[<nav class='pagination'>(#PAGINATION{prive})</nav>]
</div>
</B_corbeille>

2/ déclarer le pipeline dans paquet.xml

<pipeline nom="corbeille_table_infos" inclure="prefixe_pipelines.php" />

3/ définir l’objet à supprimer dans le pipeline

    /**
     * Pipeline de la corbeille, permet de définir les objets à supprimer
     * 
     * @param array $param Tableau d'objets
     *
     * @return array Tableau d'objets complété
     */
    function prefixe_corbeille_table_infos($param){
        $param['patates'] = array(
            'statut' => 'poubelle',
            'table'=> 'spip_patates',
            'tableliee'=> array('spip_patates_liens', '...'),
        );
        return $param;
    }

NB : définir dans ’tableliee’ les éventuelles tables qui contiennent des liens avec l’objet (spip_auteurs_liens, ...)

4/ définir les chaines de langue

Dans lang/patate_fr.php :

    'corbeille_patates_un' => 'Une patate dans la corbeille',
    'corbeille_patates_tous' => '@nb@ patates dans la corbeille',

Notes

[1Dans le menu Maintenance en SPIP 3.

Discussion

26 discussions

  • 1

    Je reçois des Spams sur mes forus qui sont biens détectés (Merci No Spam) et identifiés comme tels dans ma page de suivi des forums.

    J,aurais aimé utilise « corbeille » pour les faire disparaitre de la base, mais ils n’apparaissent pas dans l’interfaceecrire/?exec=corbeille.

    Une erreur chez moi ou un développement à poursuivre ?

    • Ah non il ne faut pas supprimer les SPAM. En les gardant dans la base tu améliore la détection des spammeurs, car lorsqu’un spammeur revient, on le reconnait plus facilement.

    Répondre à ce message

  • Emmanuel

    Qué pasa ?

    Eh bien je ne sais pas, mais je crois connaître le remède : vider le cache de SPIP (par l’interface de gestion de SPIP ou manuellement par FTP dans /tmp).

    Répondre à ce message

  • Bonjour,
    J’ai installé tout comme il faut.
    Je coche la case et j’active, résultat : « 0 plugin activé »
    Pourtant, la corbeille apparait bien au survol de « Configuration », à côté de la gestion des plugins. Mais quand je veux aller à la corbeill, voilà ce qu’il se passe :
    « Erreur...
    Fichier corbeille introuvable »

    Je suis bien sous spip 2.03, Mysql 5

    Que pasa ?

    Répondre à ce message

  • Super enfin je suis en mesure de supprimer totalement des messages fonctionne très bien je suis sur spip 2.03

    Isa

    Répondre à ce message

  • Excellent plugin qui mériterait largement d’être intégré à Spip :) car totalement indispensable !

    Merci.

    Doc Mac

    Répondre à ce message

  • Bonjour Cédric,

    Merci pour cet excellent plugin !

    Depuis le passage en Spip 2/Corbeille 2, je vois un petit souci sur un site qui l’utilise : Corbeille n’affiche pas toujours tous les message supprimés (je parle des forums publics, je n’ai pas fait d’essais ailleurs). Par exemple, jusqu’à ce matin, il y avait 2 messages mis à la poubelle, et Corbeille n’affichait rien du tout.

    Par contre, un troisième spam est arrivé il y a un instant, et celui-ci était bien visible, tout seul, dans Corbeille. Quand j’ai choisi de « tout effacer », Corbeille m’a signalé avoir purgé 3 messages, et non un seul comme je m’y attendais.

    De retour à l’admin du forum, les 3 messages poubellisés ont bien disparu.

    Donc Corbeille a bien conscience de tous les messages à détruire, mais il ne les affiche pas forcément tous.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom