Changeset 115855 in spip-zone


Ignore:
Timestamp:
Jul 3, 2019, 7:03:43 PM (3 weeks ago)
Author:
eric@…
Message:

Mise en conformité de SVP API avec l'API plugin de SVP

Location:
_plugins_/svp_api/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/svp_api/trunk/inc/svpapi_plugin.php

    r115692 r115855  
    120120        return $objet_normalise;
    121121}
    122 
    123 
    124 /**
    125  * Retourne la description complète d'un objet plugin identifié par son préfixe.
    126  *
    127  * @param $prefixe
    128  *        La valeur du préfixe du plugin.
    129  *
    130  * @return array
    131  *         La description brute du plugin sans les id.
    132  */
    133 function plugin_lire($prefixe) {
    134 
    135         // Initialisation du tableau de sortie
    136         static $plugins = array();
    137 
    138         // On passe le préfixe en majuscules pour être cohérent avec le stockage en base.
    139         $prefixe = strtoupper($prefixe);
    140 
    141         if (!isset($plugins[$prefixe])) {
    142                 // --Initialisation de la jointure entre plugins et dépôts.
    143                 $from = array('spip_plugins', 'spip_depots_plugins');
    144                 $group_by = array('spip_plugins.id_plugin');
    145 
    146                 // -- Tous le champs sauf id_plugin et id_depot.
    147                 $description_table = lister_tables_objets_sql('spip_plugins');
    148                 $select = array_keys($description_table['field']);
    149                 $select = array_diff($select, array('id_depot', 'id_plugin'));
    150 
    151                 // -- Préfixe, jointure et conditions sur la table des dépots.
    152                 $where = array(
    153                         'spip_plugins.prefixe=' . sql_quote($prefixe),
    154                         'spip_depots_plugins.id_depot>0',
    155                         'spip_depots_plugins.id_plugin=spip_plugins.id_plugin'
    156                 );
    157 
    158                 // Acquisition du plugin.
    159                 $plugins[$prefixe] = array();
    160                 if ($plugin = sql_fetsel($select, $from, $where, $group_by)) {
    161                         $plugins[$prefixe] = $plugin;
    162                 }
    163         }
    164 
    165         return $plugins[$prefixe];
    166 }
  • _plugins_/svp_api/trunk/paquet.xml

    r115830 r115855  
    1919        <pipeline nom="post_ressource_svp" action="" />
    2020
    21         <necessite nom="svp" compatibilite="[0.78.11;[" />
     21        <necessite nom="svp" compatibilite="[2.0.1;[" />
    2222        <necessite nom="http" compatibilite="[1.2.0;]" />
    2323</paquet>
  • _plugins_/svp_api/trunk/svpapi/svpapi.php

    r115693 r115855  
    106106
    107107        // On recherche d'abord le plugin par son préfixe dans la table spip_plugins.
     108        // -- Acquisition du plugin (on est sur qu'il est en base) et suppression de l'id qui est inutile.
     109        include_spip('inc/svp_plugin');
     110        $plugin = plugin_lire($prefixe);
     111        unset($plugin['id_plugin']);
     112        // -- Normalisation des champs.
    108113        include_spip('inc/svpapi_plugin');
    109         // -- Acquisition du plugin (on est sur qu'il est en base).
    110         $prefixe = strtoupper($prefixe);
    111         $plugin = plugin_lire($prefixe);
    112         // -- Normalisation des champs.
    113114        $ressource['plugin'] = plugin_normaliser_champs('plugin', $plugin);
    114115
     
    190191                // On vérifie ensuite si la ressource est bien un plugin fourni par un dépôt
    191192                // et pas un plugin installé sur le serveur uniquement.
    192                 include_spip('inc/svpapi_plugin');
     193                include_spip('inc/svp_plugin');
    193194                if (!plugin_lire($prefixe)) {
    194195                        $est_valide = false;
Note: See TracChangeset for help on using the changeset viewer.