Changeset 88478 in spip-zone


Ignore:
Timestamp:
Apr 5, 2015, 4:27:36 PM (4 years ago)
Author:
eric@…
Message:

Simplifier le code de l'iconification d'un site en encapsulant dans une fonction les comportements différents entre SPIP 3.0 et SPIP 3.1

Location:
_plugins_/boussole/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/boussole/trunk/action/client_synchroniser_site.php

    r88476 r88478  
    6262                                if (!$erreur) {
    6363                                        if ($donnees_site['logo_objet']) {
    64                                                 include_spip('plugins/installer');
    6564                                                // Mise à jour du logo du site normal ("on").
    66                                                 // Il faut tenir compte de la version de SPIP car l'API a changé à partir de SPIP 3.1
    67                                                 if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.*', '<=')) {
    68                                                         $iconifier = charger_fonction('iconifier_site', 'inc');
    69                                                         $iconifier($id_syndic, 'on', $donnees_site['logo_objet']);
    70                                                 }
    71                                                 else {
    72                                                         include_spip('inc/distant');
    73                                                         include_spip('action/editer_logo');
    74                                                         $fichier = _DIR_RACINE . copie_locale($donnees_site['logo_objet'], 'force');
    75                                                         logo_modifier('site', $id_syndic, 'on', $fichier);
    76                                                 }
     65                                                $iconifier = charger_fonction('iconifier_site', 'inc');
     66                                                $iconifier($id_syndic, 'on', $donnees_site['logo_objet']);
    7767                                        }
    7868
  • _plugins_/boussole/trunk/formulaires/importer_boussole.php

    r88471 r88478  
    7575                        include_spip('action/editer_site');
    7676                        include_spip('inc/filtres');
    77                         include_spip('plugins/installer');
    78                         include_spip('action/editer_logo');
    79                         include_spip('inc/distant');
    8077                        foreach($sites as $_site) {
    8178                                // Nouveau site : il faut le créer préalablement dans la rubrique choisie
     
    9693                                                if ($_site['logo_objet']) {
    9794                                                        // Mise à jour du logo du site normal ("on").
    98                                                         // Il faut tenir compte de la version de SPIP car l'API a changé à partir de SPIP 3.1
    99                                                         if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.*', '<=')) {
    100                                                                 $iconifier = charger_fonction('iconifier_site', 'inc');
    101                                                                 $iconifier($id_syndic, 'on', $_site['logo_objet']);
    102                                                         }
    103                                                         else {
    104                                                                 $fichier = _DIR_RACINE . copie_locale($_site['logo_objet'], 'force');
    105                                                                 logo_modifier('site', $id_syndic, 'on', $fichier);
    106                                                         }
     95                            $iconifier = charger_fonction('iconifier_site', 'inc');
     96                                                    $iconifier($id_syndic, 'on', $_site['logo_objet']);
    10797                                                }
    10898
  • _plugins_/boussole/trunk/inc/iconifier_site.php

    r81965 r88478  
    33 * Ce fichier contient la fonction surchargeable de récupération des informations d'un plugin.
    44 *
    5  * @package SPIP\BOUSSOLE\Outils\Plugins
     5 * @package SPIP\BOUSSOLE\Outils\Icone
    66 */
    77
     
    1111/**
    1212 * Remplacement ou ajout d'un logo au site. L'image source est connue par son url.
     13 * La majeure partie de la fonction est utilisé pour SPIP < 3.1. A partir de SPIP 3.1
     14 * l'API d'édition du logo a été complètement revue. Cette fonction permet d'encapsuler
     15 * les deux mécanismes.
    1316 *
    1417 * @param int $id_site
     
    2124 */
    2225function inc_iconifier_site_dist($id_site, $mode, $url_image) {
    23         include_spip('inc/chercher_logo');
    24         $objet = objet_type('site');
    25         $nom_id_objet = id_table_objet($objet);
    26         $type = type_du_logo($nom_id_objet);
    2726
    28         $chercher_logo = charger_fonction('chercher_logo','inc');
    29         $logo = $chercher_logo($id_site, $nom_id_objet, 'on');
    30         if ($logo)
    31                 spip_unlink($logo[0]);
     27        // Il faut tenir compte de la version de SPIP car l'API a changé à partir de SPIP 3.1
     28    include_spip('plugins/installer');
     29    if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.*', '<=')) {
     30        include_spip('inc/chercher_logo');
     31        $objet = objet_type('site');
     32        $nom_id_objet = id_table_objet($objet);
     33        $type = type_du_logo($nom_id_objet);
    3234
    33         include_spip('action/iconifier');
    34         include_spip('inc/distant');
    35         $ajouter_image = charger_fonction('spip_image_ajouter','action');
     35        $chercher_logo = charger_fonction('chercher_logo','inc');
     36        $logo = $chercher_logo($id_site, $nom_id_objet, 'on');
     37        if ($logo)
     38                spip_unlink($logo[0]);
    3639
    37         $image = creer_image_pour_iconifier($url_image);
    38         $ajouter_image($type.$mode.$id_site, " ", $image);
     40        include_spip('action/iconifier');
     41        include_spip('inc/distant');
     42        $ajouter_image = charger_fonction('spip_image_ajouter','action');
     43
     44        $image = creer_image_pour_iconifier($url_image);
     45        $ajouter_image($type.$mode.$id_site, " ", $image);
     46    }
     47    else {
     48        include_spip('inc/distant');
     49        include_spip('action/editer_logo');
     50        $fichier = _DIR_RACINE . copie_locale($url_image, 'force');
     51        logo_modifier('site', $id_site, $mode, $fichier);
     52    }
    3953}
    4054
    4155/**
     56 * Création d'un objet image pour la fonction d'iconification pour SPIP < 3.1
     57 *
    4258 * @param string        $url_image
     59 *      URL de l'icone du site de la boussole
    4360 * @return array
    4461 */
Note: See TracChangeset for help on using the changeset viewer.