Changeset 91555 in spip-zone for _plugins_/plan


Ignore:
Timestamp:
Aug 31, 2015, 12:29:27 PM (6 years ago)
Author:
marcimat@…
Message:

Sauver le calcul des objets/statuts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plan/trunk/plan_fonctions.php

    r91551 r91555  
    6262**/
    6363function plan_lister_objets_rubrique_statuts() {
    64         $objets = plan_lister_objets_rubrique();
    65         include_spip('inc/session');
    66         include_spip('inc/puce_statut');
    67         $liste = array();
    68         foreach ($objets as $table => $null) {
    69                 $desc = lister_tables_objets_sql($table);
    70                 $statuts = array_keys($desc['statut_textes_instituer']);
    71                 if ($table == 'spip_articles') {
    72                         $autorises = statuts_articles_visibles(session_get('statut'));
    73                         $statuts = array_intersect($statuts, $autorises);
     64        static $liste = null;
     65        if (is_null($liste)) {
     66                $objets = plan_lister_objets_rubrique();
     67                include_spip('inc/session');
     68                include_spip('inc/puce_statut');
     69                $liste = array();
     70                foreach ($objets as $table => $null) {
     71                        $desc = lister_tables_objets_sql($table);
     72                        $statuts = array_keys($desc['statut_textes_instituer']);
     73                        if ($table == 'spip_articles') {
     74                                $autorises = statuts_articles_visibles(session_get('statut'));
     75                                $statuts = array_intersect($statuts, $autorises);
     76                        }
     77                        $objet = $desc['table_objet'];
     78                        // obtenir titre et image du statut
     79                        $_statuts = array();
     80                        foreach ($statuts as $statut) {
     81                                $_statuts[$statut] = array(
     82                                        'image' => statut_image($objet, $statut),
     83                                        'titre' => statut_titre($objet, $statut),
     84                                );
     85                        }
     86                        $liste[ $objet ] = $_statuts;
    7487                }
    75                 $objet = $desc['table_objet'];
    76                 // obtenir titre et image du statut
    77                 $_statuts = array();
    78                 foreach ($statuts as $statut) {
    79                         $_statuts[$statut] = array(
    80                                 'image' => statut_image($objet, $statut),
    81                                 'titre' => statut_titre($objet, $statut),
    82                         );
    83                 }
    84                 $liste[ $objet ] = $_statuts;
    8588        }
    86 
    8789        return $liste;
    8890}
Note: See TracChangeset for help on using the changeset viewer.