Changeset 113329 in spip-zone


Ignore:
Timestamp:
Jan 9, 2019, 3:20:38 PM (2 months ago)
Author:
bystrano@…
Message:

report de 113314 : prendre en compte le statut actif/inactif des types de logos

et gérer correctement les logos et les logos de survol.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/logos_roles/branches/v1/logos_roles_fonctions.php

    r113328 r113329  
    5757        }
    5858
    59         if (lire_config('activer_logos') === 'oui') {
    60                 // Logos par défaut
    61                 $roles_logos = array(
    62                         'logo' => array(
    63                                 'label' => 'logos_roles:logo',
    64                                 'objets' => $tous_les_objets,
    65                         )
    66                 );
    67 
     59        $conf_logos = lire_config('logos_roles/roles_logos');
     60
     61        if (! is_array($conf_logos)) {
     62                if (lire_config('activer_logos_survol') === 'oui') {
     63                        $roles_logos = array(
     64                                'logo' => array(
     65                                        'label' => 'logos_roles:logo',
     66                                        'objets' => $tous_les_objets,
     67                                )
     68                        );
     69                }
    6870                if (lire_config('activer_logos_survol') === 'oui') {
    6971                        $roles_logos['logo_survol'] = array(
     
    7375                }
    7476        } else {
     77                include_spip('inc/filtres');
     78
    7579                $roles_logos = array();
    76         }
    77 
    78 
    79         if (is_array(lire_config('logos_roles/roles_logos'))) {
    80                 include_spip('inc/filtres');
    81                 foreach (lire_config('logos_roles/roles_logos') as $r) {
    82                         $roles_logos['logo_' . $r['slug']] = array(
    83                                 'label' => extraire_multi($r['titre']) ?: $r['slug'],
    84                                 'objets' => $r['objets'],
     80                foreach ($conf_logos as $r) {
     81                        if ($r['etat']) {
     82                                $roles_logos['logo_' . $r['slug']] = array(
     83                                        'label' => extraire_multi($r['titre']) ?: $r['slug'],
     84                                        'objets' => $r['objets'],
     85                                );
     86
     87                                if (isset($r['dimensions']) and
     88                                                isset($r['dimensions']['largeur']) and ($r['dimensions']['largeur'] > 0) and
     89                                                isset($r['dimensions']['hauteur']) and ($r['dimensions']['hauteur'] > 0)) {
     90                                        $roles_logos['logo_' . $r['slug']]['dimensions'] = $r['dimensions'];
     91                                }
     92                        }
     93                }
     94
     95                // Le logo qui est enregistré dans la méta comme 'logo_defaut' doit en
     96                // fait être 'logo' tout court
     97                if (isset($roles_logos['logo_defaut'])) {
     98                        $roles_logos = array_merge(
     99                                array('logo' => $roles_logos['logo_defaut']),
     100                                $roles_logos
    85101                        );
    86 
    87                         if (isset($r['dimensions']) and
    88                                         isset($r['dimensions']['largeur']) and ($r['dimensions']['largeur'] > 0) and
    89                                         isset($r['dimensions']['hauteur']) and ($r['dimensions']['hauteur'] > 0)) {
    90                                 $roles_logos['logo_' . $r['slug']]['dimensions'] = $r['dimensions'];
    91                         }
     102                        unset($roles_logos['logo_defaut']);
     103                }
     104
     105                // Les métas des logos ont le dernier mot
     106                if (isset($roles_logos['logo']) and
     107                                (lire_config('activer_logos') === 'non')) {
     108                        unset($roles_logos['logo']);
     109                }
     110                if (isset($roles_logos['logo_survol']) and
     111                                (lire_config('activer_logos_survol') === 'non')) {
     112                        unset($roles_logos['logo_survol']);
    92113                }
    93114        }
Note: See TracChangeset for help on using the changeset viewer.