Ignore:
Timestamp:
May 21, 2018, 9:40:23 AM (3 years 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/formulaires/configurer_noizetier.php

    r110112 r110333  
    1414        // Injecter les objets exclus
    1515        include_spip('inc/noizetier_objet');
    16         $valeurs['_objets_exclus'] = noizetier_objet_lister_exclusions();
     16        $valeurs['_objets_exclus'] = lister_objets_exclus();
    1717
    1818        $valeurs['editable'] = true;
     
    4848        return $retour;
    4949}
     50
     51
     52/**
     53 * Renvoie la liste des types d'objet ne pouvant pas être personnalisés car ne possédant pas
     54 * de page détectable par le noiZetier.
     55 *
     56 * @api
     57 *
     58 * @return array|null
     59 */
     60function lister_objets_exclus() {
     61
     62        static $exclusions = null;
     63
     64        if (is_null($exclusions)) {
     65                $exclusions = array();
     66                include_spip('base/objets');
     67
     68                // On récupère les tables d'objets sous la forme spip_xxxx.
     69                $tables = lister_tables_objets_sql();
     70                $tables = array_keys($tables);
     71
     72                // On récupère la liste des pages disponibles et on transforme le type d'objet en table SQL.
     73                $where = array('composition=' . sql_quote(''), 'est_page_objet=' . sql_quote('oui'));
     74                $pages = sql_allfetsel('type', 'spip_noizetier_pages', $where);
     75                $pages = array_map('reset', $pages);
     76                $pages = array_map('table_objet_sql', $pages);
     77
     78                // On exclut donc les tables qui ne sont pas dans la liste issues des pages.
     79                $exclusions = array_diff($tables, $pages);
     80        }
     81
     82        return $exclusions;
     83}
Note: See TracChangeset for help on using the changeset viewer.