Changeset 106483 in spip-zone


Ignore:
Timestamp:
Oct 1, 2017, 9:39:45 PM (3 years ago)
Author:
peetdu@…
Message:

Surcharge d’une fonction du plugin Mots

Location:
_plugins_/rang/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/rang/trunk/paquet.xml

    r106482 r106483  
    22        prefix="rang"
    33        categorie="navigation"
    4         version="0.7.0"
     4        version="0.7.1"
    55        etat="experimental"
    66        compatibilite="[3.1.0;3.2.*]"
  • _plugins_/rang/trunk/rang_fonctions.php

    r106315 r106483  
    4444        return in_array($table, $liste);
    4545}
     46
     47/**
     48 * SURCHARGE :Compte le nombre d'objets associés pour chaque type d'objet, liés
     49 * à un mot clé donné.
     50 *
     51 * @pipeline_appel afficher_nombre_objets_associes_a
     52 *
     53 * @param int $id_mot
     54 *     Identifiant du mot clé
     55 * @param int $id_groupe
     56 *     Identifiant du groupe parent
     57 * @return string[]
     58 *     Tableau de textes indiquant le nombre d'éléments tel que '3 articles'
     59 **/
     60function objets_associes_mot($id_mot, $id_groupe) {
     61        static $occurrences = array();
     62
     63        // calculer tous les liens du groupe d'un coup
     64        if (!isset($occurrences[$id_groupe])) {
     65                $occurrences[$id_groupe] = calculer_utilisations_mots($id_groupe);
     66        }
     67
     68        $associes = array();
     69        $tables = lister_tables_objets_sql();
     70        foreach ($tables as $table_objet_sql => $infos) {
     71                $nb = (isset($occurrences[$id_groupe][$table_objet_sql][$id_mot]) ? $occurrences[$id_groupe][$table_objet_sql][$id_mot] : 0);
     72                if ($nb) {
     73                        $associes[] = objet_afficher_nb($nb, $infos['type']);
     74                }
     75        }
     76
     77        $associes = pipeline(
     78                'afficher_nombre_objets_associes_a',
     79                array('args' => array('objet' => 'mot', 'id_objet' => $id_mot),
     80                'data' => $associes)
     81        );
     82
     83        return $associes;
     84
     85}
Note: See TracChangeset for help on using the changeset viewer.