Changeset 115587 in spip-zone


Ignore:
Timestamp:
Jun 10, 2019, 8:13:03 AM (7 days ago)
Author:
root
Message:

Améliorer les messages d'erreur

Location:
_plugins_/svp_api/trunk
Files:
3 edited

Legend:

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

    r115585 r115587  
    2121function inc_declarer_collections_svp_dist() {
    2222
    23         // Les index désignent les collections, le tableau associé contient les filtres admissibles.
    24         // -- Par défaut, svpapi fournit deux collections, plugins et depots.
    25         $collections = array(
    26                 'plugins' => array(
    27                         'ressource' => 'prefixe',
    28                         'module'    => 'svpapi',
    29                         'filtres'   => array(
    30                                 array(
    31                                         'critere' => 'compatible_spip'
    32                                 ),
    33                         )
    34                 ),
    35                 'depots'  => array(
    36                         'module'  => 'svpapi',
    37                         'filtres' => array(
    38                                 array(
    39                                         'nom' => 'type'
     23        // Initialisation en static pour les performances
     24        static $collections = array();
     25
     26        if (!$collections) {
     27                // Les index désignent les collections, le tableau associé contient les filtres admissibles.
     28                // -- Par défaut, svpapi fournit deux collections, plugins et depots.
     29                $collections = array(
     30                        'plugins' => array(
     31                                'ressource' => 'prefixe',
     32                                'module'    => 'svpapi',
     33                                'filtres'   => array(
     34                                        array(
     35                                                'critere' => 'compatible_spip'
     36                                        ),
     37                                )
     38                        ),
     39                        'depots'  => array(
     40                                'module'  => 'svpapi',
     41                                'filtres' => array(
     42                                        array(
     43                                                'nom' => 'type'
     44                                        )
    4045                                )
    4146                        )
    42                 )
    43         );
     47                );
    4448
    45         $collections = pipeline('declarer_collections_svp', $collections);
     49                // On complète par des collections fournies par d'autres plugin
     50                $collections = pipeline('declarer_collections_svp', $collections);
     51        }
    4652
    4753        return $collections;
  • _plugins_/svp_api/trunk/inc/verifier_requete_svp.php

    r115586 r115587  
    229229        // Vérification de la disponibilité de l'accès à une ressource pour la collection concernée
    230230        if (empty($configuration['ressource'])) {
     231                // Récupération de la liste des collections disponibles pour lister celles avec ressources dans le message.
     232                $declarer = charger_fonction('declarer_collections_svp', 'inc');
     233                $collections = $declarer();
     234                $ressources = array();
     235                foreach ($collections as $_collection => $_config) {
     236                        if (!empty($_config['ressource'])) {
     237                                $ressources[] = $_collection;
     238                        }
     239                }
    231240                $erreur = array(
    232241                        'status'  => 400,
     
    234243                        'element' => 'ressource',
    235244                        'valeur'  => $ressource,
    236                         'extra'   => 'plugins'
     245                        'extra'   => implode(', ', $ressources)
    237246                );
    238247                $est_valide = false;
  • _plugins_/svp_api/trunk/lang/svpapi_fr.php

    r115586 r115587  
    1717        'erreur_400_critere_valeur_nok_titre'      => 'La valeur « @valeur@ » du critère « @element@ » est invalide',
    1818        'erreur_400_ressource_nok_message'         => 'SVP ne fournit des ressources que pour les collections suivantes : @extra@.',
    19         'erreur_400_ressource_nok_titre'           => 'La collection « @collection@ » n\autorise pas l\'accès à une ressource',
     19        'erreur_400_ressource_nok_titre'           => 'La collection « @collection@ » n\'autorise pas l\'accès à une ressource',
    2020        'erreur_400_ressource_prefixe_nok_message' => 'Veuillez vérifier l\'orthographe du préfixe (caractères alphanumériques et souligné) ou si celui-ci est bien fourni par un des dépôts enregistrés sur le serveur.',
    2121        'erreur_400_ressource_prefixe_nok_titre'   => 'Le préfixe « @valeur@ » n\'est pas disponible pour la collection « @collection@ »',
Note: See TracChangeset for help on using the changeset viewer.