[SPIP Zone] Filtre pour calculer les statistiques d'un mot clé

Bonjour, je cherche un filtre tel que #ID_MOT|statistiques_mots renverrait '2 article, 3 rubrique, 1 brève', bref comme sur la liste des mots clés dans l'espace privé.

Il s'agit dès lors de reprendre un petit bout du code de presenter_groupe_mots_boucle.

Un équivalent existe-il déjà ?

Si non, un tel besoin est-il spécifique (je mets le code dans mon plugin qui va l'utiliser) ou bien est-il plutôt générique (dans ce cas, a-t-il sa place dans bonux ou un autre plugin ?).

Cordialement

Joseph

Voici le code de la fonction si ça intéresse quelqu'un :

// Filtre pour afficher les statistiques d'un mot-clé
// Code inspiré de la fonction presenter_groupe_mots_boucle dans ecrire/inc/grouper_mots.php

function filtre_statistiques_mot_dist($id_mot){
  include_spip('base/abstract_sql');
  $texte_lie = array();
  $id_mot = intval($id_mot);
  
  $na = sql_countsel('spip_mots_articles',"id_mot=$id_mot");
  if ($na == 1)
    $texte_lie[] = _T('info_1_article');
  else if ($na > 1)
    $texte_lie[] = $na." "._T('info_articles_02');

  $nb = sql_countsel('spip_mots_breves',"id_mot=$id_mot");
  if ($nb == 1)
    $texte_lie[] = _T('info_1_breve');
  else if ($nb > 1)
    $texte_lie[] = $nb." "._T('info_breves_03');

  $ns = sql_countsel('spip_mots_syndic',"id_mot=$id_mot");
  if ($ns == 1)
    $texte_lie[] = _T('info_1_site');
  else if ($ns > 1)
    $texte_lie[] = $ns." "._T('info_sites');

  $nr = sql_countsel('spip_mots_rubriques',"id_mot=$id_mot");
  if ($nr == 1)
    $texte_lie[] = _T('info_une_rubrique_02');
  else if ($nr > 1)
    $texte_lie[] = $nr." "._T('info_rubriques_02');

  $texte_lie = pipeline('afficher_nombre_objets_associes_a',array('args'=>array('objet'=>'mot','id_objet'=>$id_mot),'data'=>$texte_lie));
  $texte_lie = join($texte_lie,", ");
  return $texte_lie;
}

Joseph

Ça ne te tenterait pas de le mettre sur Contrib ?...
Ça peut aider aussi... Les archives de la zone ne sont pas toujours simple d'accès pour un utilisateur lambda.
:wink:

Le 12 avr. 10 à 20:35, Joseph a écrit :

Voici le code de la fonction si ça intéresse quelqu'un :

// Filtre pour afficher les statistiques d'un mot-clé
// Code inspiré de la fonction presenter_groupe_mots_boucle dans ecrire/inc/grouper_mots.php

function filtre_statistiques_mot_dist($id_mot){
  include_spip('base/abstract_sql');
  $texte_lie = array();
  $id_mot = intval($id_mot);
  
  $na = sql_countsel('spip_mots_articles',"id_mot=$id_mot");
  if ($na == 1)
    $texte_lie = _T('info_1_article');
  else if ($na > 1)
    $texte_lie = $na." "._T('info_articles_02');

  $nb = sql_countsel('spip_mots_breves',"id_mot=$id_mot");
  if ($nb == 1)
    $texte_lie = _T('info_1_breve');
  else if ($nb > 1)
    $texte_lie = $nb." "._T('info_breves_03');

  $ns = sql_countsel('spip_mots_syndic',"id_mot=$id_mot");
  if ($ns == 1)
    $texte_lie = _T('info_1_site');
  else if ($ns > 1)
    $texte_lie = $ns." "._T('info_sites');

  $nr = sql_countsel('spip_mots_rubriques',"id_mot=$id_mot");
  if ($nr == 1)
    $texte_lie = _T('info_une_rubrique_02');
  else if ($nr > 1)
    $texte_lie = $nr." "._T('info_rubriques_02');

  $texte_lie = pipeline('afficher_nombre_objets_associes_a',array('args'=>array('objet'=>'mot','id_objet'=>$id_mot),'data'=>$texte_lie));
  $texte_lie = join($texte_lie,", ");
  return $texte_lie;
}

Joseph

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 12/04/2010 18:42, Teddy Payet a écrit :

Ça ne te tenterait pas de le mettre sur Contrib ?...
Ça peut aider aussi... Les archives de la zone ne sont pas toujours
simple d'accès pour un utilisateur lambda.
:wink:

J'y pensais. En fait, cf. le premier mail de la liste, la question que je posais était de savoir si c'était un besoin courant, auquel cas peut-être placé ce filtre dans bonux, ou bien si c'était assez spécifique, et auquel cas en faire une contrib.

Ben, disons que pour le moment, on devrait en faire un filtre. Et par la suite selon la demande, on pourrait imaginer l'intégrer quelque part...

Le 12 avr. 10 à 21:01, Joseph a écrit :

Le 12/04/2010 18:42, Teddy Payet a écrit :

Ça ne te tenterait pas de le mettre sur Contrib ?...
Ça peut aider aussi... Les archives de la zone ne sont pas toujours
simple d'accès pour un utilisateur lambda.
:wink:

J'y pensais. En fait, cf. le premier mail de la liste, la question que je posais était de savoir si c'était un besoin courant, auquel cas peut-être placé ce filtre dans bonux, ou bien si c'était assez spécifique, et auquel cas en faire une contrib.

Article rédigé sur Contrib : http://www.spip-contrib.net/ecrire/?exec=articles&id_article=3457

Cordialement