Skip to content
Extraits de code Groupes Projets
Valider ec8f188a rédigé par kent1@arscenic.info's avatar kent1@arscenic.info
Parcourir les fichiers

PSR SPIP

parent bd491fe5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -8,6 +8,6 @@ include_spip('inc/formidable_fichiers'); ...@@ -8,6 +8,6 @@ include_spip('inc/formidable_fichiers');
/** /**
* Effacer régulièrement les fichiers des réponses envoyées par email * Effacer régulièrement les fichiers des réponses envoyées par email
**/ **/
function genie_formidable_effacer_fichiers_email($t){ function genie_formidable_effacer_fichiers_email($t) {
return formidable_effacer_fichiers_email(); return formidable_effacer_fichiers_email();
} }
...@@ -12,18 +12,18 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -12,18 +12,18 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* definir a 0 pour desactiver * definir a 0 pour desactiver
* même valeur par défaut que pour les forums * même valeur par défaut que pour les forums
**/ **/
function genie_formidable_hasher_ip_dist($t){ function genie_formidable_hasher_ip_dist($t) {
if (!defined('_CNIL_PERIODE')) { if (!defined('_CNIL_PERIODE')) {
define('_CNIL_PERIODE', 3600*24*31*4); define('_CNIL_PERIODE', 3600*24*31*4);
} }
if (_CNIL_PERIODE) { if (_CNIL_PERIODE) {
$critere_cnil = 'date<"'.date('Y-m-d', time()-_CNIL_PERIODE).'"' $critere_cnil = 'date<"'.date('Y-m-d', time()-_CNIL_PERIODE).'"'
. ' AND statut != "spam"' . ' AND statut != "spam"'
. ' AND (ip LIKE "%.%" OR ip LIKE "%:%")'; # ipv4 ou ipv6 . ' AND (ip LIKE "%.%" OR ip LIKE "%:%")'; # ipv4 ou ipv6
$c = sql_countsel('spip_formulaires_reponses', $critere_cnil); $c = sql_countsel('spip_formulaires_reponses', $critere_cnil);
if ($c>0) { if ($c>0) {
spip_log("CNIL: masquer IP de $c réponses anciennes à formidable", "formidable"); spip_log("CNIL: masquer IP de $c réponses anciennes à formidable", 'formidable');
sql_update('spip_formulaires_reponses', array('ip' => 'MD5(ip)'), $critere_cnil); sql_update('spip_formulaires_reponses', array('ip' => 'MD5(ip)'), $critere_cnil);
return $c; return $c;
} }
......
...@@ -7,18 +7,18 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -7,18 +7,18 @@ if (!defined('_ECRIRE_INC_VERSION')) {
/** /**
* Répondre à un formulaire Formidable en Collection+JSON * Répondre à un formulaire Formidable en Collection+JSON
* *
* Il faut avoir un id_formulaire et pouvoir y répondre. * Il faut avoir un id_formulaire et pouvoir y répondre.
* *
* @param Request $requete * @param Request $requete
* @param Response $reponse * @param Response $reponse
* @return void * @return void
*/ */
function http_collectionjson_formulaires_reponses_post_collection_dist($requete, $reponse){ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, $reponse) {
include_spip('inc/session'); include_spip('inc/session');
include_spip('inc/autoriser'); include_spip('inc/autoriser');
$fonction_erreur = charger_fonction('erreur', "http/collectionjson/"); $fonction_erreur = charger_fonction('erreur', 'http/collectionjson/');
// On teste si on a bien du contenu au bon format // On teste si on a bien du contenu au bon format
if ( if (
$contenu = $requete->getContent() $contenu = $requete->getContent()
...@@ -42,13 +42,13 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -42,13 +42,13 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
set_request($champ['name'], $champ['value']); set_request($champ['name'], $champ['value']);
} }
} }
// On teste l'autorisation // On teste l'autorisation
if ($id_formulaire > 0 and autoriser('repondre', 'formulaire', $id_formulaire)) { if ($id_formulaire > 0 and autoriser('repondre', 'formulaire', $id_formulaire)) {
// On vérifie maintenant les erreurs // On vérifie maintenant les erreurs
$formidable_verifier = charger_fonction('verifier', 'formulaires/formidable'); $formidable_verifier = charger_fonction('verifier', 'formulaires/formidable');
$erreurs = $formidable_verifier($id_formulaire); $erreurs = $formidable_verifier($id_formulaire);
// On passe les erreurs dans le pipeline "verifier" (par exemple pour Saisies) // On passe les erreurs dans le pipeline "verifier" (par exemple pour Saisies)
$erreurs = pipeline('formulaire_verifier', array( $erreurs = pipeline('formulaire_verifier', array(
'args' => array( 'args' => array(
...@@ -57,13 +57,13 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -57,13 +57,13 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
), ),
'data' => $erreurs, 'data' => $erreurs,
)); ));
// S'il y a des erreurs, on va générer un JSON les listant // S'il y a des erreurs, on va générer un JSON les listant
if ($erreurs) { if ($erreurs) {
$reponse->setStatusCode(400); $reponse->setStatusCode(400);
$reponse->headers->set('Content-Type', 'application/json'); $reponse->headers->set('Content-Type', 'application/json');
$reponse->setCharset('utf-8'); $reponse->setCharset('utf-8');
$json_reponse = array( $json_reponse = array(
'collection' => array( 'collection' => array(
'version' => '1.0', 'version' => '1.0',
...@@ -75,7 +75,7 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -75,7 +75,7 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
'errors' => array(), 'errors' => array(),
), ),
); );
foreach ($erreurs as $nom => $erreur) { foreach ($erreurs as $nom => $erreur) {
$json_reponse['collection']['errors'][$nom] = array( $json_reponse['collection']['errors'][$nom] = array(
'title' => $erreur, 'title' => $erreur,
...@@ -83,13 +83,12 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -83,13 +83,12 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
); );
} }
$reponse->setContent(json_encode($json_reponse)); $reponse->setContent(json_encode($json_reponse));
} } else {
// Sinon on continue le traitement // Sinon on continue le traitement
else {
// On lance le traitement de la réponse // On lance le traitement de la réponse
$formidable_traiter = charger_fonction('traiter', 'formulaires/formidable', true); $formidable_traiter = charger_fonction('traiter', 'formulaires/formidable', true);
$retours_formidable = $formidable_traiter($id_formulaire); $retours_formidable = $formidable_traiter($id_formulaire);
// On passe dans le pipeline "traiter" (par exemple pour les quizz) // On passe dans le pipeline "traiter" (par exemple pour les quizz)
$retours_formidable = pipeline('formulaire_traiter', array( $retours_formidable = pipeline('formulaire_traiter', array(
'args' => array( 'args' => array(
...@@ -98,7 +97,7 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -98,7 +97,7 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
), ),
'data' => $retours_formidable, 'data' => $retours_formidable,
)); ));
// Si à la fin on a bien un identifiant de réponse // Si à la fin on a bien un identifiant de réponse
if ($id_formulaires_reponse = $retours_formidable['id_formulaires_reponse']) { if ($id_formulaires_reponse = $retours_formidable['id_formulaires_reponse']) {
// On va cherche la fonction qui génère la vue d'une ressource // On va cherche la fonction qui génère la vue d'une ressource
...@@ -106,27 +105,24 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete, ...@@ -106,27 +105,24 @@ function http_collectionjson_formulaires_reponses_post_collection_dist($requete,
// On ajoute à la requête, l'identifiant de la nouvelle ressource // On ajoute à la requête, l'identifiant de la nouvelle ressource
$requete->attributes->set('ressource', $id_formulaires_reponse); $requete->attributes->set('ressource', $id_formulaires_reponse);
$reponse = $fonction_ressource($requete, $reponse); $reponse = $fonction_ressource($requete, $reponse);
// C'est une création, on renvoie 201 // C'est une création, on renvoie 201
$reponse->setStatusCode(201); $reponse->setStatusCode(201);
} }
} } else {
// Sinon l'enregistrement n'a pas fonctionné donc erreur // Sinon l'enregistrement n'a pas fonctionné donc erreur
// (TODO : il faudrait les chaînes pour les 5XX dans le plugin HTTP) // (TODO : il faudrait les chaînes pour les 5XX dans le plugin HTTP)
else {
$reponse = $fonction_erreur(500, $requete, $reponse); $reponse = $fonction_erreur(500, $requete, $reponse);
} }
} }
} } else {
// Sinon pas le droit // Sinon pas le droit
else {
$reponse = $fonction_erreur(403, $requete, $reponse); $reponse = $fonction_erreur(403, $requete, $reponse);
} }
} } else {
// Sinon on ne comprend pas ce qui se passe // Sinon on ne comprend pas ce qui se passe
else {
$reponse = $fonction_erreur(415, $requete, $reponse); $reponse = $fonction_erreur(415, $requete, $reponse);
} }
return $reponse; return $reponse;
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter