Browse Source

Correction d'un prototype de service.

Ajout des items de langue pour l'erreur de préfixe et amélioration de la fonction de vérification.
svn/root/tags/v0.9.0
eric@smellup.net 3 years ago
parent
commit
24697aa1e7
  1. 12
      ezrest/svpapi.php
  2. 12
      lang/svpapi_fr.php
  3. 2
      paquet.xml

12
ezrest/svpapi.php

@ -125,7 +125,7 @@ function plugins_collectionner($filtres, $configuration) {
$module = !empty($criteres[$_critere]['module'])
? $criteres[$_critere]['module']
: $configuration['module'];
include_spip("svpapi/${module}");
include_spip("ezrest/${module}");
$construire = "plugins_construire_critere_${_critere}";
if (function_exists($construire)) {
$where[] = $construire($_valeur);
@ -244,19 +244,21 @@ function plugins_verifier_filtre_compatible_spip($valeur, &$erreur) {
* @return bool
* `true` si la valeur est valide, `false` sinon.
*/
function plugins_verifier_ressource_prefixe($prefixe) {
function plugins_verifier_ressource_prefixe($prefixe, &$erreur) {
$est_valide = true;
// On teste en premier si le préfixe est syntaxiquement correct pour éviter un accès SQL dans ce cas.
if (!preg_match('#^(\w){2,}$#', strtolower($prefixe))) {
if (intval($prefixe) or !preg_match('#^(\w){2,}$#', strtolower($prefixe))) {
$est_valide = false;
$erreur['type'] = 'prefixe_malforme';
} else {
// On vérifie ensuite si la ressource est bien un plugin fourni par un dépôt
// et pas un plugin installé sur le serveur uniquement.
include_spip('inc/svp_plugin');
if (!plugin_lire($prefixe)) {
$est_valide = false;
$erreur['type'] = 'prefixe_nok';
}
}
@ -303,12 +305,12 @@ function depots_collectionner($filtres, $configuration) {
$module = !empty($criteres[$_critere]['module'])
? $criteres[$_critere]['module']
: $configuration['module'];
include_spip("svpapi/${module}");
include_spip("ezrest/${module}");
$construire = "depots_construire_critere_${_critere}";
if (function_exists($construire)) {
$where[] = $construire($_valeur);
} else {
$where[] = "spip_plugins.${_critere}=" . sql_quote($_valeur);
$where[] = "spip_depots.${_critere}=" . sql_quote($_valeur);
}
}
}

12
lang/svpapi_fr.php

@ -7,8 +7,12 @@ if (!defined('_ECRIRE_INC_VERSION')) {
$GLOBALS[$GLOBALS['idx_lang']] = array(
// E
'erreur_400_critere_compatible_spip_nok_message' => 'Veuillez spécifier une valeur autorisée pour le critère « @element@ » : version comme « 3.2.0 » ou branche comme « 2.1 » ou liste de branches comme « 2.1,3.0,3.1 ».',
'erreur_400_critere_compatible_spip_nok_titre' => 'La valeur « @valeur@ » du critère « @element@ » est invalide',
'erreur_501_runtime_nok_message' => 'Le serveur est actuellement en mode « SVP runtime » incompatible avec le service REST SVP.',
'erreur_501_runtime_nok_titre' => 'Le serveur SVP n\'est pas correctement configuré',
'erreur_400_critere_compatible_spip_nok_message' => 'Veuillez spécifier une valeur autorisée pour le critère « @element@ » : version comme « 3.2.0 » ou branche comme « 2.1 » ou liste de branches comme « 2.1,3.0,3.1 ».',
'erreur_400_critere_compatible_spip_nok_titre' => 'La valeur « @valeur@ » du critère « @element@ » est invalide',
'erreur_400_prefixe_malforme_titre' => 'Le préfixe « @valeur@ » est mal formé',
'erreur_400_prefixe_malforme_message' => 'Le préfixe d\'un plugin est un mot d\'au moins 2 caractères',
'erreur_400_prefixe_nok_titre' => 'Le préfixe « @valeur@ » est invalide',
'erreur_400_prefixe_nok_message' => 'Le préfixe doit correspondre à un celui d\'un plugin référencé dans un des dépôts chargés',
'erreur_501_runtime_nok_message' => 'Le serveur est actuellement en mode « SVP runtime » incompatible avec le service REST SVP.',
'erreur_501_runtime_nok_titre' => 'Le serveur SVP n\'est pas correctement configuré',
);

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="svpapi"
categorie="outil"
version="0.7.2"
version="0.7.3"
etat="test"
compatibilite="[3.0.0;3.2.*]"
logo="svpapi_logo-64.png"

Loading…
Cancel
Save