Vider la Corbeille de SPIP

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

2 fichiers qui vont vous permettre d’effacer définitivement de votre base de données certains documents mis à la poubelle via l’admin de Spip.

Explications

Lorsque l’on efface via l’administration de spip des messages de forums ou des articles ils ne disparaissent pas immédiatement de la base de donnée, pour ceux que ça gène car ils aiment bien quand c’est bien propre et net Matthieu nous a contacté un petit script qui a fait ses preuves.

Installation (copie du Lisez-moi.txt)

Copier les 2 fichiers .php3 contenus dans l’archive dans le dossier ecrire/
Pour l’utiliser il faut se connecter a la partie privée, ça donne une url du type :
http://monsite.com/ecrire/

ajoutez corbeille.php3 à la fin de l’url pour appeler le fichier,
soit :
http://monsite.com/ecrire/corbeille.php3

Vous pouvez supprimer les documents suivants :
-  brèves refusées
-  articles à la poubelle
-  messages supprimés du forum
-  auteurs à la corbeille

La suppression supprime le document de la base,
mais PAS le cache sur le disque, NI l’indexation dans la base par le moteur de recherche.
Pensez à vider le cache du serveur et réindexez votre site de temps en temps (tous les mois, 2 mois, ou 6 mois par exemple).

Je ne suis pas responsable si ma corbeille :
-  détruit votre site
-  fait exploser votre TV
-  donne envie à votre femme d’aller voir ailleurs

Je vous rassure, rien de tout ceci ne m’est arrivé ;)

Matthieu ONFRAY - Site : www.japanim.net

Comment accèder facilement à sa corbeille

Lorsque l’on ajoute des fichiers dans le repertoire ecrire/ on peut, pour y accéder facilement, modifier les fichiers de spip. Avec pour conséquence principale de devoir retrouver et recommencer toutes ses modifications lors d’une mise à jour.

Personnellement j’ai adopté une autre méthode : je crée une annonce dans un format particulier.
-  créer une nouvelle annonce (via messagerie personnelle)
-  placer le lien directement dans le titre, par exemple ici : <a href="corbeille.php3>Vider la Poubelle</a>
-  envoyer l’annonce

Avantage : facile et rapide :) de plus les annonces « liens » ne sont pas affichées dans le même style que les autres, et sont donc facilement reconnaissable
Désavantage : pas d’édition possible en cliquant sur l’annonce (ce qui est l’effet recherché) il faut donc passer par la page ecrire/message.php3 ?id_message=xx et trouver le numéro du message - ce qui n’est pas toujours facile.

Discussion

20 discussions

  • Tout simplement génial. Dans la prochaine version, j’imagine, huh ? Merci pour tous ces devs

    Répondre à ce message

  • Il y a des petites choses comme celle-ci qui font bien plaisir.

    Répondre à ce message

  • Répondre à ce message

  • Bonjour
    lorsque je rajoute les deux fichiers, ce message est renvoyé :

    Warning : Failed opening ’/var/www/html/iennyons/neo_site/ecrire/corbeille.php3’ for inclusion (include_path=’. :/usr/share/pear’) in Unknown on line 0

    Répondre à ce message

  • stribouille

    Bonjour à toutes et à tous,

    J’utilise SPIP depuis quelques mois pour un site intranet et bientôt un internet.

    Je viens de découvrir ce script aujourd’hui qui me sert énormément.

    En effet, étant administrateur de bases de données, j’aime que celles-ci soient propres.

    J’avais l’intention d’en écrire un similaire et je remercie vivement Matthieu pour son formidable boulot que j’ai découvert juste à temps (maintenant, j’ai le reflexe spip-contrib ;)).

    Cependant, j’ai une petite remarque à faire :

    -  Ce script permet de vider uniquement la table qui contient les données et non pas les tables annexes.

    Je m’explique :

    Si je décide de supprimer définitivement l’article 54, seule la table spip_articles est mise à jour dont id_article=54.

    Or, cet article est référencé dans d’autres tables :

    -  spip_auteurs_articles,
    -  spip_documents et spip_documents_articles (avec la jointure sur id_document),
    -  spip_index_articles,
    -  spip_referers_articles,
    -  spip_visites_articles,
    -  spip_mots_articles,

    Et peut être d’autres (si vous savez dites-le moi cela fera plaisir :)) et je précise que je n’ai étudié que le cas des articles (ne possédant à ce jour aucune brève...)

    Il y aurait donc une petite modification à faire de ce côté là.

    De plus, il serait sympathique de rajouter après la (les) suppression(s), des requêtes optimize pour nettoyer les tables.

    Je vais essayer de prendre le temps pour effectuer ces modifications .

    Cependant, si quelqu’un (Matthieu ?) s’en sent le courage, libre à vous d’exaucer mes souhaits qui, je pense, sont partagés par certains d’entre vous.

    En tout cas, un grand merci à Matthieu pour cet outil INDISPENSABLE.

    Cordialement,

    Répondre à ce message

  • gandalve

    Que dire apres une contrib pareille ... si ce n’est que chaque fois qu’on se pose une question sur Spip.. ya toujours qqn qui y a pensé avant vous... encore bravo

    Répondre à ce message

  • DOCPROF

    Bonjour,

    Juste pour vous signaler que je me suis amusé à placer un bouton corbeille dans la partie rédacteur du site (administration), lorsqu’on clique sur Edition du site.

    Pour cela éditez le fichier inc_presentation.php3 qui se trouve dans le répertoire ecrire. Puis vers la ligne 1474 (sous spip 1.7.2) dans le paragraphe :
    // Icones secondaires
    Vous trouvez différentes conditions dont :
    else if ($rubrique == « documents »)
    A la fin de cette condition placez la ligne suivante :
    icone_bandeau_secondaire (« Corbeille », « corbeille.php3 », « supprimer.gif », « supprimer », $sous_rubrique) ;
    Où corbeille.php3 est le fichier recopié de cet article.
    Et voilà c’est fini...
    Sauvegardez le fichier puis rafraichissez votre espace d’administration pour voir le résultat.

    Répondre à ce message

  • 1
    xaccrocheur

    Tout simplement génial.
    Dans la prochaine version, j’imagine, huh ? Merci pour tous ces devs. nickel.

    • Cela fait au moins 3 versions de spip que cette contribution utile existe. Elle finira peut-être par être intégrée à la distribution officielle ! :-)

      a+

    Répondre à ce message

  • Bonjour,

    Ce n’est pas le bon endroit pour en parler, mais je ne sais pas où le dire sinon. La partie SPIP du site Japanim semble avoir disparu.

    Voilà. J’utilise depuis un moment la sauvegarde SPIP de Mathieu Onfray. Je l’ai reglée pour avoir une sauvegarde par jour, et parfois on a 5, 10 sauvegardes dans la journée. Je ne sais pas si tu (Mathieu) as déjà réglé le pb, mais en fait c’est rien du tout. C’est un problème de nom de fichier, où le jour devrait être sur 2 chiffres au lieu de 1. Ce qui fait qu’à partir du 10 du mois le tri se fait mal et c’est à partir de cette date qu’on peut avoir plusieurs sauvegardes par jour.

    Dans « export_base2.php », changer la ligne 143 en :

    $jour = date("d", $temps); //format numerique : 01->31

    et tant qu’à faire (à cause du passage du 31/12 au 01/01) , ligne 152 en :

    $nom_fichier = $prefixe_save . $base . "_" . $annee . "_" . $mois . "_" . $jour . $suffixe;

    Je viens de faire la modif (sur SPIP 1.8b2), donc je verrai seulement le 10 février si ça fonctionne bien...

    Note : cette contrib (la sauvegarde) modifie le fichier ecire/index.php3.

    Répondre à ce message

  • fima Millau

    ah c’est vraiment chouette :-)))

    mais -faut toujours qu’il y ait un mais ;-)- le brillant Matthieu ONFRAY saurait-il proposer un bouton pour effacer tous les items à la fois ? en l’absence de cet outil, faut dire que chez nous la poubelle a pris un embonpoint certain.

    sinon, on cliquera les 200 fois qu’il faudra ...

    et encore merci

    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