Valider 7b81855f rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Fix le cas d'utilisation avec le plugin newsletter qui vide session_email et...

Fix le cas d'utilisation avec le plugin newsletter qui vide session_email et appelle explicitement nospam_encrypt_decrypt_post()
On modifie la fonction pour qu'elle soit idempotente si elle est appelee 2 fois dans le meme contexte. Mais si on efface un des request poste, elle le renseigne a nouveau avec un nouvel appel
cf https://git.spip.net/spip-contrib-extensions/mailsubscribers/src/branch/master/formulaires/newsletter_subscribe.php#L57
parent 86a0cfe2
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+3 −9
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -202,8 +202,8 @@ function nospam_encrypt_check_valeurs($valeurs, $args) {
}

/**
 * Decrypter les name d'un POST
 * n'agit qu'une seule fois
 * Decrypter les name d'un POST (idempotent)
 *
 * @param $form
 *   optionel, on peut se reposer sur formulaire_action pour avoir le nom du form
 * @return bool|string
@@ -211,11 +211,6 @@ function nospam_encrypt_check_valeurs($valeurs, $args) {
 *   bool : indique si des names ont ete decodes ou non
 */
function nospam_encrypt_decrypt_post($form=null) {
	static $deja = false;
	if ($deja) {
		return false;
	}

	if (is_null($form)) {
		$form = _request('formulaire_action');
		if (!$form) {
@@ -242,11 +237,10 @@ function nospam_encrypt_decrypt_post($form=null) {
		return _T('nospam:erreur_jeton');
	}

	$deja = true;
	$re_verifier = false;
	foreach ($_POST as $k => $v) {
		$kd = nospam_name_decode($k, $jeton);
		if ($kd !== $k) {
		if ($kd !== $k and _request($kd) !== $v) {
			set_request($kd, $v);
			$re_verifier = true;
		}
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="nospam"
	categorie="performance"
	version="2.3.0"
	version="2.3.1"
	etat="stable"
	compatibilite="[3.1.0;4.0.*]"
	logo="images/nospam-64.png"