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


Ignore:
Timestamp:
May 21, 2018, 9:40:23 AM (14 months ago)
Author:
eric@…
Message:

Renommage dans l'API des blocs.
Mise au point de l'API des objets.
Correction des fonctions réversibles de composition/décomposition des conteneurs pour le cas des objets.

Location:
_plugins_/noizetier/trunk/inc
Files:
4 edited

Legend:

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

    r110112 r110333  
    1818 * @return array
    1919 */
    20 function noizetier_bloc_defaut() {
     20function noizetier_bloc_lister_defaut() {
    2121
    2222        // Stocker la liste des blocs par défaut pour éviter le recalcul sur le même hit.
     
    6060        $retour = $information ? '' : array();
    6161
    62         if (in_array($bloc, noizetier_bloc_defaut())) {
     62        if (in_array($bloc, noizetier_bloc_lister_defaut())) {
    6363                if (!isset($description_bloc[$bloc])) {
    6464                        if ($fichier = find_in_path("${bloc}/bloc.yaml")) {
  • _plugins_/noizetier/trunk/inc/noizetier_conteneur.php

    r110320 r110333  
    4444                        $conteneur['objet'] = $page_ou_objet['objet'];
    4545                        $conteneur['id_objet'] = $page_ou_objet['id_objet'];
    46                         $conteneur['squelette'] = "${bloc}";
     46                        $conteneur['squelette'] = "${bloc}/{$page_ou_objet['objet']}";
    4747                }
    4848                else {
     
    102102                        $conteneur['id_noisette'] = intval($elements[2]);
    103103                        // -- le squelette
     104                        // TODO : revoir l'intérêt voire la cohérence de ce champ
    104105                        include_spip('ncore/noizetier');
    105106                        $conteneur['squelette'] = type_noisette_localiser('noizetier', $conteneur['type_noisette']);
     
    125126                        $conteneur['objet'] = $elements[1];
    126127                        $conteneur['id_objet'] = $elements[2];
     128                        // -- le squelette
     129                        $conteneur['squelette'] = $elements[0];
    127130                        // -- le bloc
    128                         $conteneur['bloc'] = $elements[0];
    129                         // -- le squelette
    130                         $conteneur['squelette'] = $conteneur['bloc'] . '/' . $conteneur['objet'];
     131                        list($bloc, ) = explode('/', $conteneur['squelette']);
     132                        $conteneur['bloc'] = $bloc;
    131133                }
    132134        }
  • _plugins_/noizetier/trunk/inc/noizetier_objet.php

    r110321 r110333  
    140140
    141141/**
    142  * Renvoie la liste des types d'objet ne pouvant pas être personnalisés car ne possédant pas
    143  * de page détectable par le noiZetier.
    144  *
    145  * @api
    146  *
    147  * @return array|null
    148  */
    149 function noizetier_objet_lister_exclusions() {
    150 
    151         static $exclusions = null;
    152 
    153         if (is_null($exclusions)) {
    154                 $exclusions = array();
    155                 include_spip('base/objets');
    156 
    157                 // On récupère les tables d'objets sous la forme spip_xxxx.
    158                 $tables = lister_tables_objets_sql();
    159                 $tables = array_keys($tables);
    160 
    161                 // On récupère la liste des pages disponibles et on transforme le type d'objet en table SQL.
    162                 $where = array('composition=' . sql_quote(''), 'est_page_objet=' . sql_quote('oui'));
    163                 $pages = sql_allfetsel('type', 'spip_noizetier_pages', $where);
    164                 $pages = array_map('reset', $pages);
    165                 $pages = array_map('table_objet_sql', $pages);
    166 
    167                 // On exclut donc les tables qui ne sont pas dans la liste issues des pages.
    168                 $exclusions = array_diff($tables, $pages);
    169         }
    170 
    171         return $exclusions;
    172 }
    173 
    174 /**
    175142 * Détermine si un type d'objet est activé dans la configuration du noiZetier.
    176143 * Si oui, ses objets peuvent recevoir une configuration de noisettes.
  • _plugins_/noizetier/trunk/inc/noizetier_page.php

    r110320 r110333  
    2525        // Initialiser les blocs par défaut
    2626        include_spip('inc/noizetier_bloc');
    27         $options['blocs_defaut'] = noizetier_bloc_defaut();
     27        $options['blocs_defaut'] = noizetier_bloc_lister_defaut();
    2828
    2929        // Choisir le bon répertoire des pages
     
    159159 * @api
    160160 *
    161  * @uses noizetier_bloc_defaut()
     161 * @uses noizetier_bloc_lister_defaut()
    162162 *
    163163 * @param string        $page
     
    217217        // Initialisation des blocs avec la liste des blocs par défaut
    218218        include_spip('inc/noizetier_bloc');
    219         $blocs = noizetier_bloc_defaut();
     219        $blocs = noizetier_bloc_lister_defaut();
    220220
    221221        // Si la liste des blocs exclus n'a pas été passé en argument on les cherche dans la configuration
     
    374374 *
    375375 * @uses noizetier_page_initialiser_dossier()
    376  * @uses noizetier_bloc_defaut()
     376 * @uses noizetier_bloc_lister_defaut()
    377377 *
    378378 * @param       $page
     
    394394        if (empty($options['blocs_defaut'])) {
    395395                include_spip('inc/noizetier_bloc');
    396                 $options['blocs_defaut'] = noizetier_bloc_defaut();
     396                $options['blocs_defaut'] = noizetier_bloc_lister_defaut();
    397397        }
    398398
Note: See TracChangeset for help on using the changeset viewer.