objet_modifier_champ #3617

Closed
opened 7 years ago by JLuc · 5 comments
JLuc commented 7 years ago

objet_modifier_champ est l'api générique de modification d'un objet,
mais le code de la fonction appelle controler_md5 avec l'argument $_POST,
pour des vérifications qui n'ont de sens éventuellement que dans un formulaire.
cf https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/modifier.php#L170

Du coup, quand on appelle pas objet_modifier_champ dans un formulaire, un conflit est parfois détecté sans raison.

objet_modifier_champ est l'api générique de modification d'un objet, mais le code de la fonction appelle controler_md5 avec l'argument $_POST, pour des vérifications qui n'ont de sens éventuellement que dans un formulaire. cf https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/modifier.php#L170 Du coup, quand on appelle pas objet_modifier_champ dans un formulaire, un conflit est parfois détecté sans raison.
Owner

De mémoire, pour avoir eu le cas une fois, si on appelle l'API modifier une seconde fois dans le POST, avec une variable que a le même nom que dans ce qui a été posté, un conflit est détecté à tord.

De mémoire, pour avoir eu le cas une fois, si on appelle l'API modifier une seconde fois dans le POST, avec une variable que a le même nom que dans ce qui a été posté, un conflit est détecté à tord.
Poster

En l'occurence, c'est avec gis : gis_modifier est appelé et appelle
objet_modifier_champs(gis, 1976, options=Array ( [invalideur] => id='gis/1976' ), c=Array (
[titre] => Annonce 10630 — Recherche une chambre temporaire!
[lat] => 44.8964144
[lon] => 4.6452795
[code_pays] => fr
[pays] => France
[zoom] => 6
[descriptif] =>
[adresse] =>
[region] =>
[ville] => Vernoux-en-Vivarais
[departement] => Ardèche
)
Le conflit détecté est :
= Array
( [titre] => Array (
[base] =>
[post] => Annonce 10630 — Recherche une chambre temporaire!
)
)

En l'occurence, c'est avec gis : gis_modifier est appelé et appelle objet_modifier_champs(gis, 1976, options=Array ( [invalideur] => id='gis/1976' ), c=Array ( [titre] => Annonce 10630 — Recherche une chambre temporaire! [lat] => 44.8964144 [lon] => 4.6452795 [code_pays] => fr [pays] => France [zoom] => 6 [descriptif] => [adresse] => [region] => [ville] => Vernoux-en-Vivarais [departement] => Ardèche ) Le conflit détecté est : = Array ( [titre] => Array ( [base] => [post] => Annonce 10630 — Recherche une chambre temporaire! ) )
Poster

De manière générale, la fonction objet_modifier_champ peut être appelée en dehors d'un formulaire, ou dans un formulaire n'ayant rien à voir avec l'objet modifié, et donc elle ne devrait pas faire référence à $_POST

Dans mon code, le pb se produit seulement pour certains points, toujours les mêmes, mais pas pour tous. Je n'ai pas vu ce qu'ils avaient de particulier. Je ne crois pas qu'il y ait plusieurs appels à l'API dans un même hit.

De manière générale, la fonction objet_modifier_champ peut être appelée en dehors d'un formulaire, ou dans un formulaire n'ayant rien à voir avec l'objet modifié, et donc elle ne devrait pas faire référence à $_POST Dans mon code, le pb se produit seulement pour certains points, toujours les mêmes, mais pas pour tous. Je n'ai pas vu ce qu'ils avaient de particulier. Je ne crois pas qu'il y ait plusieurs appels à l'API dans un même hit.
Owner

Statut changé à Résolu

**Statut changé à Résolu**

Appliqué par commit r22650.
Statut changé à Fermé

Appliqué par commit r22650. **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.