Changeset 107632 in spip-zone for _plugins_/noizetier/trunk/inc


Ignore:
Timestamp:
Nov 19, 2017, 3:52:11 PM (20 months ago)
Author:
eric@…
Message:

Mise au point et correction des fonction liées à un objet.
Nettoyage d'un fonction devenue inutile (vers vieilles_fonctions).
TODO : revoir l'ajax

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/inc/noizetier_phraser.php

    r104967 r107632  
    44        return;
    55}
    6 
    7 function phraser_noisette($noisette, $options = array()) {
    8 
    9         // Initialisation de la description
    10         $description = array();
    11 
    12         // Initialiser le contexte de chargement
    13         if (!isset($options['recharger'])) {
    14                 $options['recharger'] = false;
    15         }
    16         if (!isset($options['md5']) or $options['recharger']) {
    17                 $options['md5'] = '';
    18         }
    19 
    20         // Initialiser les composants de l'identifiant de la noisette:
    21         // - type-noisette si la noisette est dédiée uniquement à une page
    22         // - type-composition-noisette si la noisette est dédiée uniquement à une composition
    23         // - noisette sinon
    24         $type = '';
    25         $composition = '';
    26         $identifiants = explode('-', $noisette);
    27         if (isset($identifiants[1])) {
    28                 $type = $identifiants[0];
    29         }
    30         if (isset($identifiants[2])) {
    31                 $composition = $identifiants[1];
    32         }
    33 
    34         // Initialisation de la description par défaut de la page
    35         $description_defaut = array(
    36                 'noisette'       => $noisette,
    37                 'type'           => $type,
    38                 'composition'    => $composition,
    39                 'nom'            => $noisette,
    40                 'description'    => '',
    41                 'icon'           => 'noisette-24.png',
    42                 'necessite'      => array(),
    43                 'contexte'       => array(),
    44                 'ajax'           => 'defaut',
    45                 'inclusion'      => 'statique',
    46                 'parametres'     => array(),
    47                 'signature'      => '',
    48         );
    49 
    50         // Recherche des noisettes par leur fichier YAML uniquement.
    51         $md5 = '';
    52         $fichier = isset($options['yaml']) ? $options['yaml'] : find_in_path("noisettes/${noisette}.yaml");
    53         if ($fichier) {
    54                 // il y a un fichier YAML de configuration, on vérifie le md5 avant de charger le contenu.
    55                 $md5 = md5_file($fichier);
    56                 if ($md5 != $options['md5']) {
    57                         include_spip('inc/yaml');
    58                         $description = yaml_charger_inclusions(yaml_decode_file($fichier));
    59                         // Traitements des champs pouvant être soit une chaine soit un tableau
    60                         if (!empty($description['necessite']) and is_string($description['necessite'])) {
    61                                 $description['necessite'] = array($description['necessite']);
    62                         }
    63                         if (!empty($description['contexte']) and is_string($description['contexte'])) {
    64                                 $description['contexte'] = array($description['contexte']);
    65                         }
    66                 }
    67         }
    68 
    69         // Si la description est remplie c'est que le chargement a correctement eu lieu.
    70         // Sinon, si la noisette n'a pas changée on renvoie une description limitée à un indicateur d'identité pour
    71         // distinguer ce cas avec une erreur de chargement qui renvoie une description vide.
    72         if ($description) {
    73                 // Mise à jour du md5
    74                 $description['signature'] = $md5;
    75                 // Complétude de la description avec les valeurs par défaut
    76                 $description = array_merge($description_defaut, $description);
    77                 // Sérialisation des champs necessite, contexte et parametres qui sont des tableaux
    78                 $description['necessite'] = serialize($description['necessite']);
    79                 $description['contexte'] = serialize($description['contexte']);
    80                 $description['parametres'] = serialize($description['parametres']);
    81         } elseif ($md5 == $options['md5']) {
    82                 $description['identique'] = true;
    83         }
    84 
    85         return $description;
    86 }
    87 
    886
    897function phraser_page($page, $options = array()) {
Note: See TracChangeset for help on using the changeset viewer.