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 Configurations 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.

Recycle bin (0.71.1)

updated on 2 October 2019

Discussion

23 discussions

  • 1

    Bonjour,

    Sur plusieurs site ou le plugin CORBEILLE est activé j’ai / nous rencontrons un bug sur la suppression des URL de la table spip_urls.

    Il faut modiifer corbeille_vider, qui prend en compte uniquement la structure des tables de liaisons standards de spip (objet | id_objet), pour que la fonction prenne bien en compte la structure de la table spip_urls (type | id_objet)

    // suppresion des elements lies
            if ($table_liee=$params['tableliee']) {
                    $trouver_table = charger_fonction('trouver_table','base');
                    foreach($table_liee as $unetable) {
                            $desc = $trouver_table($unetable);
                            if (isset($desc['field'][$id_table]))
                                    sql_delete($unetable,sql_in($id_table,$ids));
                            elseif(isset($desc['field']['id_objet'])AND isset($desc['field']['objet']))
                                    sql_delete($unetable,sql_in('id_objet',$ids)." AND objet=".sql_quote($type));
                            // Cas de la table spip_urls        
                            elseif(isset($desc['field']['id_objet'])AND isset($desc['field']['type']))
                                    sql_delete($unetable,sql_in('id_objet',$ids)." AND type=".sql_quote($type));
                    }
            }
            return $ids;

    A priori sur mes sites ça fonctionne, si quelqu’un veut faire le test avant de publier sur la zone le correctif...

    A++

    • Bonjour,
      Ton code ne provoque pas d’erreur chez moi mais lorsque je supprime une url via la page exec=controler_urls
      L’url n’apparaît pas dans la page corbeille.

      Mais bon depuis le temps le fonctionnement spip_urls a peut-être évolué.

    Reply to this message

  • 3

    bonjour,

    Est-ce que le plugin est censé prendre en compte les autres types d’objets ?
    J’ai créé un nouvel objet éditorial, mais il n’apparaît pas dans la corbeille.

    • Je me réponds :

      Donc pour que la corbeille prenne en compte un autre type d’objet, il faut bidouiller un peu les entrailles du plugin. Par exemple pour un nouvel objet éditorial “livre” :

      • rajouter un squelette ’corbeille-livre.html’ dans prive/listes
      • éditer le fichier ’action/corbeille-vider.php’ et rajouter à la variable $param :
        "livre" => array(
                "statut" => "poubelle",
                "tableliee"=> array("spip_documents_liens"),
        ),

      Ce serait vraiment chouette d’automatiser ça. Ou alors de proposer un formulaire ou on pourrait indiquer les objets supplémentaires à prendre en compte.

    • Je déterre ce commentaire qui m’a été bien utile, pour préciser qu’il ne faut pas modifier action/corbeille-vider.php mais utiliser le pipeline corbeille_table_infos dans son propre plugin, pour ajouter son objet à la liste.
      Ceci dit, ce pipeline n’existait peut être pas en février 2012 :)
      Merci tcharlss

    • Quand on a plusieurs statuts à prendre en compte avec CORBEILLE dans la pipeline, utiliser ’table’

      "mailsubscribers" => array(
              "statut" => "poubelle",
      ),
      "mailsubscribers_refused" => array(
              "statut" => "refuse",
              "table" => "mailsubscribers"
      ),

      Et bien sur créer la liste d’affichage correspondante et prenant en compte les statuts, comme indiqué par Tcharlss

    Reply to this message

  • notrecdianous

    Bonjour, après l’installation du plugin, il se retrouve aujourd’hui dans la liste des plugins incompatibles dans le menu configuration. C’est sûrement dû à ma version trop récente de Spip, non ? Dommage...

    Reply to this message

  • Bonjour
    J’ai installé la Corbeille sous Spip 2.1 et j’obtiens le msg d’erreur suivant lorsque je vais dans la Corbeille.
    Comment réparer?

    Erreur SQL 1054
    Unknown column ’resultats.id_auteur’ in ’order clause’
    SELECT auteurs.id_auteur, auteurs.maj, 0 as points, auteurs.nom, auteurs.bio FROM spip_auteurs AS `auteurs` WHERE (auteurs.statut = ’5poubelle’) ORDER BY auteurs.maj DESC, FIELD(resultats.id_auteur,17,9)
    ../plugins/auto/corbeille_2/prive/listes/corbeille_auteurs.html _auteurs 1

    Merci

    Reply to this message

  • Bonjour,

    Cet indispensable plugin ne prend pas en compte les documents de la médiathèque pourtant intégrée dans SPIP3. On ne considère donc pas que les documents sont devenus des objets SPIP à part entière ?

    C’est dommage car c’est sur ce genre de contenu que ce plugin prend tout son sens !

    Bravo pour ce dev en tout cas !

    Viva SPIP

    Reply to this message

  • 1

    Bonjour,

    je viens d’installer la corbeille sur mon site en SPIP 2.1.8.

    Je retrouve des commentaires que j’ai effacé mais pas les SPAMS.

    Je sélectionne un commentaire et clic sur “Effacer la sélection” et le message “Rien n’a été enlevé de la corbeille” apparait ; le commentaire reste dans la corbeille...

    Comment dois-je procéder ?

    Merci,

    Bijnok

    • Ok... il faut cliquer sur le “Effacer la selection” en bas du groupe en cours.

      Pour les spams, je suppose qu’il faut d’abord les effacer du forum.

    Reply to this message

  • Bonjour,
    J’ai installé le plugin Corbeille ver 3.01 sur SPIP 3.05
    1- Un petit correctif sans grande importance, le sous-menu corbeil n’apparait pas dans le menu configuration mais dans le menu maintenance.

    2- Les auteur placés en corbeille, apparaissent bien dans la fenêtre du plugin corbeille et on peut donc les détruire sans problème, par contre les autres objets, articles, rubriques, brèves etc n’apparaissent pas et je ne peux donc pas les détruire définitivement.
    Ai-je fais une erreur de paramétrage ou dois-je paramétrer quelque chose dans le plugin pour que ces objet apparaissent et que je puisse les détruire définitivement?

    Ou comment les détruire par une autre méthode?

    Merci d’avance pour votre aide
    Cordialement

    Reply to this message

  • 1
    Jean POULIQUEN

    Spip version 1.2.8 plugin corbeille vers 0.7 ou 0.71
    Si on supprime des articles du forum il n’apparaissent plus sous l’article ce qui est normal.
    Pourquoi certains apparaissent dans le plugin corbeille et peuvent être supprimés de la BDD et d’autres n’apparaissent pas et ne peuvent donc pas être supprimé de la BDD?

    Merci de vos explications

    • Hello,

      Je déterre un peu le thread mais c’est pas grave. ca peut servir a d’autres. J’ai le même problème que toi la plupart de mes messages de forums (du spam a 100%) n’apparaissent pas dans la corbeille.

      La raison est simple (plus que la cause en tout cas). la requête générée ne prend que les messages dont “id_parent = 0”. Or dans mon cas (et dans le tien aussi j’imagine), mes spams ont un id_parent > 0

      Donc, j’ai modifié le fichier prive/listes/corbeille_forums_publics.html comme suit, ligne 5 :

      <BOUCLE_forums(FORUMS){statut}{pagination 5}{!par date}{recherche ?}>

      devient

      <BOUCLE_forums(FORUMS){statut}{plat}{pagination 5}{!par date}{recherche ?}>

      Perso, j’ai aussi changé la pagination parce que 5, c’est trop peu. Je ne sais pas si il faut faire comme ca mais au moins, maintenant, j’ai tout mes messages qui s’affichent. Le seul problème que je vois est qu’on peut supprimer un message qui avait un enfant. Donc, si on supprime le parant, on ne verra plus jamais les descendants (un truc comme ca quoi.)

    Reply to this message

  • Bonjour,

    Une petite question. Est ce que lorsqu’on efface un auteur de la BDD avec ce plugin, cela efface également les articles, messages... qui lui sont associés ?

    Si oui, j’ai trouvé mon bonheur !!!

    Si non, je retourne pleurer dans mon coin...

    Bonne journée !

    Reply to this message

  • Aubepine

    Bonjour
    En voulant installer le plugin sous spip 2.0.9, j’ai le message d’erreur :
    Impossible d’activer le plugin corbeille_2
    Nécessite SPIP en version [2.0.0;2.3.0-dev) minimum.
    Que faire ?

    A cause du plugin beespip, je ne peux pas passer en en version 2.1.0 ou supérieur

    Cordialement

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom