SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 32 visiteurs en ce moment

Accueil du site > Administration et BDD > Aides administration > Boutons admin supplémentaires > Afficher le nombre d’articles en attente de validation

Afficher le nombre d’articles en attente de validation

16 avril 2004 – par Noplay, ParMesSoins – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

0 vote

Ce filtre va vous permettre d’afficher n’importe où sur votre site le nombre d’articles en attente de publication. Il explique aussi comment insérer du code PHP dans vos pages et en gardant le résultat en cache.

Ce filtre va vous permettre d’afficher n’importe où sur votre site le nombre d’articles en attente de publication. Vous pouvez en voir un exemple sur http://www.noplay.net sous le titre Aidez nous.

Une implantation simple

On va commencer par mettre notre script directement dans le squelette.

Pour l’utiliser il suffit de mettre à l’emplacement où vous désirez afficher le nombre d’articles en attente, ce petit bout de code (dans le squelette) :

Il s’agit simplement de faire une requête MySQL qui va nous retourner la liste des articles dont le statut est prop(proposé). Puis on fait une boucle pour compter le nombre d’éléments trouvés.

Cette solution marche mais a un défaut, en effet la requête est effectuée à chaque affichage de la page (le code php n’est pas mis en cache). Oubliez donc cette solution, elle n’est là que pour que vous compreniez bien le problème.

Afficher le nombre d’articles proposés en filtre

C’est Fil qui m’a donné la solution, il suffit de ne pas mettre le code dans le squelette mais dans une fonction (un filtre) que l’on placera dans mes_fonctions.php3.

Notre fonction ressemblera donc à ceci :

Vous remarquerez que j’ai remplacé le echo (qui sert à afficher à l’ecran) par un return. Cela signifie que l’on va retourner le texte à afficher au moteur de SPIP qui s’occupera de l’afficher là où il doit se trouver.

Mais il reste l’appel, en effet habituellement on utilise les filtres pour modifier un texte passé en paramètre. Il nous faut donc trouver un code SPIP qui ne prend pas de paramètre. Cette variable c’est #NOM_SITE_SPIP, il faudra donc à l’endroit où vous désirez afficher le nombre d’articles en attente mettre ce code :

Retour en haut de la page

Vos commentaires

  • Le 10 janvier 2005 à 22:01, par mortimer En réponse à : > Afficher le nombre d’articles en attente de validation

    Une petit extension rapide du code (voir la correction que je viens de poster) :

    function list_prop($texte) {
      $query = "SELECT COUNT(*) as count FROM spip_articles WHERE statut='prop'";
      if(is_numeric($texte)) {
             $query .= " AND id_rubrique=$texte";
      }
    ...

    permettrait de savoir combien d’article sont en attente dans la rubrique actuelle en faisant :

    (#ID_RUBRIQUE

    Répondre à ce message

  • Le 24 septembre 2004 à 16:22, par ParMesSoins En réponse à : > Afficher le nombre d’articles en attente de validation

    Bonjour, est-ce que :

    SELECT COUNT( statut )
    FROM spip_articles
    WHERE statut = 'prop'

    n’est pas plus rapide ?!?

    • Le 25 septembre 2004 à 14:44, par Noplay En réponse à : > Afficher le nombre d’articles en attente de validation

      effectivement je vais proposer la modification

    • Le 26 novembre 2004 à 19:11, par DoriaN En réponse à : Mise à jour

      l’article a été mis à jour

    • Le 10 janvier 2005 à 21:53, par mortimer En réponse à : > Mise à jour

      ça colle plus, parce que le reste du code ne correspond pas à la requette. Il faut faire cela plutôt :

      function list_prop($texte) {
        $query = "SELECT COUNT(*) as count FROM spip_articles WHERE statut='prop'";
        $r = spip_query($query);

        if($nb_prop = spip_fetch_array($r))
               $nb_prop = $nb_prop['count'];
        else $nb_prop = 0;
       
        if ($nb_prop) {
          return "Il y a <b>".$nb_prop."</b> article(s) en attente de
      publication.<br><br>";
        } else
               return '';
      }

    Répondre à ce message

  • Le 21 décembre 2004 à 21:18, par spipfactory En réponse à : > Afficher le nombre d’articles en attente de validation

    Nous l’utilisons.

    c’est sympa !

    Répondre à ce message

  • Le 5 mai 2004 à 11:07, par jbreuzet En réponse à : > Afficher le nombre d’articles en attente de validation

    Bravo pour cette fonction bien pratique.

    Une petite suggestion de modification de la fin du code :
    pour éviter d’avoir une petite faute de grammaire quand il n’y a qu’un article :

    if ($nb_prop > 1)
    return « Il y a  ».$nb_prop." articles en attente de publication.

    " ;

    elseif ($nb_prop == 1)
    return « Il y a 1 article en attente de publication.

     » ;

    Par contre une petite demande aussi car je n’arrive pas à trouver la syntaxe correcte :
    comment faire un lien sur cette phrase (au niveau du mot article par exemple) vers la page ecrire/index.php3 ?

    Merci bcp

    Jérôme

    • Le 5 mai 2004 à 11:35, par Noplay En réponse à : > Afficher le nombre d’articles en attente de validation

      Voila :D

    • Le 31 mai 2004 à 23:13, par Franck En réponse à : > Afficher le nombre d’articles en attente de validation

      Merci infiniment pour cette astuce bien sympathique pour nos sites.

      En contribution, pour synthétiser les deux commentaires qui précèdent, voici ma syntaxe qui, d’ailleurs, me semble plus directe que la proposition de jbreuzet...

      if ($nb_prop) {
      if ($nb_prop==1) return "Il y a <a href=\"ecrire/index.php3\"><b>1</b> article</a> en attente de publication";
      else return "Il y a <a href=\"ecrire/index.php3\"><b>".$nb_prop."</b> articles</a> en attente de publication.<br><br>";
       }

      Cheers !

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Zpip-dist en HTML5

    15 juin 2010 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une surcharge des squelettes Zpip-dist qui tire parti des nouvelles balises offertes par la spécification HTML5. Attention, ce plugin n’est plus compatible avec les nouvelles versions de Zpip, qui a connu plusieurs incompatibilités de nomenclature (...)

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.