@ -24,7 +24,7 @@ function inserer_modeles_lister_formulaires_modeles() {
if (is_array($yaml_data)) {
$liste_formulaires_modeles[$formulaire] = array(
'nom' => $yaml_data['nom'],
'icone_barre' => isset($yaml_data['icone_barre']) ? find_in_path('icones_barre/'. $yaml_data['icone_barre']) : ''
'icone_barre' => isset($yaml_data['icone_barre']) ? inserer_modeles_find_icone_barre_path( $yaml_data['icone_barre']) : ''
);
}
}
@ -99,3 +99,25 @@ function inserer_modeles_definir_defaut($saisies) {
}
return $saisies;
}
/**
* Retrouver l'icone :
* - d'abord dans icones_barre
* - sinon dans le thème / images (et du coup on peut jouer avec png/svg)
* - à défaut dans find_in_path
* S'assure que l'icone ne fait pas plus de 16 px, pour tenir dans la barre du porte plume.
* @param string $nom
* @return string chemin
**/
function inserer_modeles_find_icone_barre_path(string $nom): string {
if (!$chemin = find_in_path("icones_barre/$nom")) {
if (!$chemin = find_in_theme("images/$nom")) {
if(!$chemin = find_in_path($nom)) {
return '';
}
}
}
include_spip('inc/filtres');
include_spip('inc/filtres_images_mini');
return extraire_attribut(image_reduire($chemin, 16), 'src');
}