Changeset 82945 in spip-zone


Ignore:
Timestamp:
Jun 11, 2014, 6:58:27 AM (7 years ago)
Author:
bmarne@…
Message:
  • modifs de la description auto des modules n'ayant pas de YAML (blocs_autorises)
  • nouveau filtre pour obtenir le joli nom d'un bloc à partir de son nom-identifiant (ex. "aside-col3" donne "Contenu secondaire (colonne 3)")
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/galaxie_melusine/melusine/trunk/melusine_fonctions.php

    r82938 r82945  
    384384                                // avec des infos sommaires
    385385                                $bloc = substr($dossier,$sous_rep_pos+8,-1);
     386                                if ($bloc == "articles" OR $bloc == "rubriques")
     387                                        $bloc = substr($bloc,0,-1);
     388                                if ($bloc) $bloc = array($bloc);
    386389                                $liste_noisettes[substr($dossier,$sous_rep_pos).$noisette] = array(
    387390                                                "nom" => spip_ucfirst(str_replace("_"," ",$noisette)),
     
    390393                                                "ajax" => "non",
    391394                                                "inclusion" => "statique",
    392                                                 "bloc" => $bloc,        // spécifique de Mélusine
     395                                                "blocs_autorises" => $bloc,     // spécifique de Mélusine
    393396                                        );
    394397                        }
     
    582585        return "Pas de nom";
    583586}
     587/**
     588 * Retourne la liste des modules qui sont autorisés pour un bloc donné
     589 *
     590 * @param text $bloc nom du bloc
     591 * @param text $type type de page (par défaut: rubrique)
     592 *
     593 * @return array liste des modules avec les infos attenantes
     594 *
     595**/
     596
     597function melusine_liste_modules_autorises($bloc,$type="rubrique"){
     598        $liste_finale = array();
     599        $liste_complete = melusine_lister_noisettes();
     600
     601        // Pour chaque module...
     602        foreach($liste_complete as $module => $infos_module) {
     603                // Si pas de bloc blocs_autorises
     604                // alors, c'est autorisé partout
     605                // (compat noizetier et Mélusine 1/DATICE)
     606                if (count($infos_module["blocs_autorises"])==0) {
     607                        $liste_finale[$module] = $infos_module;
     608                } elseif (in_array($bloc,$infos_module["blocs_autorises"])){
     609                        // Sinon on vérifie que le module est autorisé
     610                        $liste_finale[$module] = $infos_module;
     611                } elseif (
     612                        $bloc=="content"
     613                        AND in_array($type,$infos_module["blocs_autorises"])
     614                        ) {
     615                        // Cas des blocs "content" désignés directement par le type page
     616                        $liste_finale[$module] = $infos_module;
     617                }
     618               
     619        }
     620       
     621        return $liste_finale;
     622}
    584623?>
Note: See TracChangeset for help on using the changeset viewer.