Vider la corbeille de SPIP : Version Optimisée !

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

3 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.
Corbeille séparés avec affichage du nombre d’éléments contenus.
Ajout de l’icône corbeille a votre interface graphique.

Installation

Décompacter le fichier zip dans le répertoire écrire.

extraire les fichiers nommés :

  • corbeille.php3- - - - - > Gestion de la corbeille
  • corbeille_forum.php3- - > Affichage du forum
  • corbeille_signature.php3- > Affichage des signatures
  • img_pack/trash-empty.png- > l’icone de la corbeille
  • img_pack/trash-full.png- > l’icone de la corbeille

La présentation est la suivante :

  • pétitions (x) (confirmation avec prévisu des titres)
  • brèves (x) (confirmation avec prévisu des titres)
  • articles (x) (confirmation avec prévisu des titres)
  • forums publics (x) (confirmation avec prévisu des titres)
  • forums privés (x) (confirmation avec prévisu des titres)
  • auteurs (x) (confirmation avec prévisu des titres)
  • vider tout (toutes les poubelles) (x) [1]

Comme l’ancienne version, la suppression efface le document de la base de donnée, mais ne nettoie 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).

Pour ajouter l’icône corbeille dans l’interface...

Pour ajouter l’icône corbeille dans l’interface Admin sur SPIP V1.8.2d inclus il faut modifier le fichier inc-presentation.php3. Même si cela modifie le noyau de spip ce n’est pas bien dangereux ;-) .

Ouvrez le fichier ecrire/inc-presentation.php3 et recherchez la ligne :

icone_bandeau_principal (_T('icone_configuration_site'), "configuration.php3", "administration-48.png", "administration", $rubrique, "", "configuration", $sous_rubrique);

a la suite de cette ligne, ajoutez avant l’accolade ceci :

icone_bandeau_principal (_T('corbeille'), "corbeille.php3", "trash-empty.png", "supprimer", $sous_rubrique);

Cela permet d’appeler la fonction corbeille avec l’icône (img_pack/trash-empty.png) corbeille !

Pour ceux qui ne veulent pas se lancer dans cette opération, je donne le fichier inc-presentation.php3 modifié pour SPIP Version 1.8.2d.

Notes

[1(à manier avec précaution...Cela vide toutes les poubelles sans confirmation ! ) Rien a voir avec la fonction « ecrire/delete_all.php3 » qui elle efface irreversiblement la Base De Donnée.

Voila, j"ai apporté ma contrib, même si je ne suis pas un as du code, cela fonctionne bien pour moi :)

J’en fait profiter la communauté...Comme le webmaster de http://www.japanim.net a fait précédemment.(merci a toi Matthieu ONFRAY)

++ ;)

Discussion

5 discussions

  • Cette contrib est très utile.

    Je me suis permis de l’amélioré au niveau de l’affichage de l’icone/texte dans l’interface graphique...

    Si vous voulez en faire autant voici les modifications à effectuer pour SPIP 1.8.3 :

    1. Fichier Inc_presentation.php3 :

    Ligne 2080

    Remplacer :

    icone_bandeau_principal (_T(’Corbeille’), « corbeille.php3 », « trash-empty.png », « supprimer », $sous_rubrique) ;

    Par :

    icone_bandeau_principal (_T(’Corbeille’), « corbeille.php3 », « trash-empty.png », « corbeille », $rubrique, «  », « corbeille », $sous_rubrique) ;

    1. Fichier corbeille.php3 :

    Ligne 102

    Remplacer :

    debut_page(« Corbeille ») ;

    Par :

    debut_page(« Corbeille », « corbeille », « corbeille ») ;

    Répondre à ce message

  • 2

    Bonjour. Je débute en Spip, avec la version 1.9, j’y connais rien en PHP, autant l’avouer d’entrée.

    Si c’était pas trop demander, y aurait-il moyen d’adapter cet intéressant scripte pour la version 1.9 ? Je veux bien essayer d’utiliser le fichier presentation.php3 proposé plus haut, mais il ne me semble plus d’actualité, non ?

    merci
    FAMo

    • bonjour FAMo et à tou(te)s,

      Ces fichiers de gestion de la corbeille ne sont plus necessaires pour SPIP 1.9, car ils font parti des PLUGINS que vous pourrez telecharger ici et voir ici les explications.

      Attention : certains plugins sont encore en phase de test, la corbeille peut etre activée, je n’ai pas testé les autres.
      Ca fonctionne super bien SPIP 1.9... ;)

    • Bonjour

      Merci atom, je n’avais pas assez cherché. Ca fonctionne bien, juste quelques problèmes d’accessibilité avec lecteur d’écran, mais ceci n’est pas propre au plugin, c’est un problème plus général de l’interface d’administration qu’il faudra que je signale ailleurs, dès que j’aurai trouvé où le faire. :-)

      au plaisir
      FAMo

    Répondre à ce message

  • 3

    Bonjour,

    merci pour cette contrib’ très pratique.

    J’ai un petit soucis :

    Warning : Cannot modify header information - headers already sent by (output started at /mnt/sites/caje.net/web/SPIP/ecrire/corbeille.php:2) in /mnt/sites/caje.net/web/SPIP/ecrire/inc_version.php on line 886

    Ce message s’affiche 5 fois dans mon header, c-à-d au dessus des icônes de l’interface privée.

    J’ai installé cette contrib’ sur SPIP 1.8.3, et ces messages s’affichent sur toutes les pages de la corbeille.

    Apparemment, du moins jusqu’à présent, cela ne perturbe pas le fonctionnement du script. Mais c’est tout de même un peu gênant. Quelqu’un aurait-il une idée d’où cela peut provenir ?

    Salutations

    et merci d’avance pour vos réponses et conseils

    • Si je commente la ligne 1097 :

      if (!$flag_preserver) array_map('header', $entete);

      le message d’erreur disparaît.... mais j’ignore si cela altère un autre fonctionnement de SPIP...

    • bon ben.. ça a effectivement des conséquences fâcheuses : l’aide en ligne de SPIP depuis l’interface privé devient illisible. En effet les caractères accentués sont mal interprétés : Par ex. Les mots-clés devient => Les mots-clés.

      Si quelqu’un a une solution propre... merci de m’en informer

    • le problème d’affichage des accents vient de la gestion des langues UTF... (il me semble d’avoir ponctuellement rencontré ce problème sur une mise a jour de base de donnée). Le fait d’activer le support des langues et de ldésactiver juste après suffit a résoudre le problème.
      Cependant je n’avait rencontré aucun problèmes avec la version officielle SPIP 1.8.3 et les fichiers corbeille plus haut. Je n’ai ni ajouté ni modifié les fichiers ci-joints en quelque sorte pour que cela fonctionne. Il faut suivre a la lettre les infos données dans l’article, cela devrait fonctionner sur une version SPIP 1.8.3 officielle sans modifs ! (hormis les squelettes)

      Bonne continuation

    Répondre à ce message

  • 2

    Pour ceux qui n’auraient pas encore trouvé l’astuce pour une version 1.8.3, modifier comme suit dans inc_version.php3 en ligne 1097

    //if (!$flag_preserver) array_map(’header’, $entete) ;
    // selon http://developer.apple.com/internet/safari/faq.html#anchor5
    // il faudrait aussi pour Safari
    // header(« Cache-Control : post-check=0, pre-check=0 », false)
    // mais ca ne respecte pas
    // http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
    //return « http://www.w3.org/TR/html4/loose.dtd’>\n » .
    //"\n" .
    //"

    \n" . # « <base href='$base' />\n » . //"$title\n" ; }
    • bonjour, et merci pour se post...

      Je ne suis pas trop calé en prog de ce coté, et pour ma part sans aucune modifications la contrib est passé à la 1.8.3.

      Cordialement

    • est-ce que votre aide SPIP en ligne depuis l’interface privée n’est pas toute viciée par cette manip ?

      voir ce message du forum

    Répondre à ce message

  • 11

    bonjour,
    j’ai des soucis pour l’installation, voila le message que je recoi en retour quand je click sur la poubelle :


    Warning : main(../inc.php3) : failed to open stream : No such file or directory in /home/.sites/69/site194/web/ecrire/corbeille.php3 on line 1

    Warning : main(../inc.php3) : failed to open stream : No such file or directory in /home/.sites/69/site194/web/ecrire/corbeille.php3 on line 1

    Warning : main() : Failed opening ’../inc.php3’ for inclusion (include_path=’. :/usr/local/lib/php’) in /home/.sites/69/site194/web/ecrire/corbeille.php3 on line 1

    Fatal error : Call to undefined function : debut_page() in /home/.sites/69/site194/web/ecrire/corbeille.php3 on line 86


    • Bonjour, tu utilises quelle version de spip et Mysql ?
      J’ai testé sur la version SPIP1.8.2.e et cela marche bien sur il faut que je mette a jour le fichier inc-présentation.php3.
      Sinon, i lfaut voir vers ton fournisseur d’accés...Je regarde ton erreur et je te tiens informé.

    • En fait, ton erreur n’est pas due a l’installation de la corbeille, mais plutôt à un fichier qui n’est pas dans le même répertoire que la corbeille (le fameux fichier inc.php3).

      Donc deux hypothèses, soit la corbeille n’a pas été dezippé dans le bon repertoire(ex. : /ecrire/corbeille.php3 <— ok), ce qui m’étonnerais car tu as le bon lien depuis l’interface écrire, soit il te manque en effet le fichier inc.php3 et dans ce cas, je te dirais de le reinstaller depuis la source zippé spip 1.8.2 (d ou e) selon ta version.

      Atom

    • c’est quoi les versions D ou E ?
      je peux voir cela ou ?

      j’ai vérifié, j’ai le fichier inc.php3 au bon endroit, ainsi que les fichiers corbeille

      à bientôt,
      gregory

    • j’ai la version E de spip

      SERVEURS WEB :
      Apache

      VERSION DE PHP : 4.3.10 :
      › Extensions et fonctions supportées
      › Affichage du phpinfo()

      VERSION DE PERL : 5.006

      VERSION DE MYSQL : Ver 12.22 Distrib 4.0.16, for pc-linux (i686)

    • j’ai trouvé la solution.

      <?php include ("../inc.php3"); ?>

      (première ligne corbeille.php3)

      doit (dans mon cas) en fait s’écrire :

      <?php include ("./inc.php3"); ?>

      (un point en moins)

      voila,
      ca marche super
      merci pour cette corbeille qui est très pratique dans le cas des forums publiques.
      merci merci

      à bientôt,
      gregory

    • Re,

      pour ceux qui recherchent : la version de SPIP est indiquée en bas dans l’interface privé, je ne comprends pas que tu ai eu cette erreur, a moins que le fichier (corbeille) n’ai été volontairement modifié après l’avoir dézippé, car dans la version actuelle, le fichier corbeille pointe a la ligne 1 sur le dossier courant donc >>> sur

      <?php include ("inc.php3") ; ?>

      .

      Merci d’avoir donné une solution pour ceux qui rencontrerais a l’avenir un tel cas. interessant de savoir que la racine peut avoir son importance.

      Le tout est que cela fonctionne bien pour tous... ;)
      a++
      Atom

    • Bonjour,

      Tout va bien avec spip 1.8.2.
      J’ai essayé avec spip 1.9.beta et là problème.
      Lors de l’appel de la poublelle message :
      Fatal error : Call to undefined function : debut_page() in c :\easyphp1-8\www\tempo\ecrire\corbeille.php3 on line 102
      (L’astuce indiquée plus haut ne donne rien. J’ai la ligne 1 :

      <?php include ("inc.php3"); ?>


      et inc.php3 est bien dans le dossier écrire)

      Cordialement

      Jean

    • Bonjour Jean,

      Je ne sais pas ou tu as eu la version 1.9.beta !?...(indique moi le lien stp...bien qu’elle ne soit pas officielle)
      je dirais tente d’ecrire le code de la forme

      <?php include ("./inc.php3") ; ?>


      Si cela ne marche pas il te faudrait nous indiquer si tu travail dans le repertoire racine ou dans un sous-dossier.

      a++ :)

    • Avec SPIP 1.9alpha il faut ajouter une ligne :

      include_ecrire('inc_presentation.php3');

      juste après le include(inc.php)

    • Bonjour,

      J’ai suivi des liens à partir du site de Spip mais je ne me souviens plus.
      Si necessaire, je peux te l’envoyer.

      Cordialement

      Jean

    • Merci Fil.
      Un essai rapide montre que la solution est bonne.
      Je dois sortir, on continuera plus tard.

      Cordialement

      Jean

    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