J’ai quand même regardé, et j’ai compris, il manque une condition dans le core.
Explication :
En mode installation via le market :
Il y a bien un new update() (L63) si le plugin n’existe pas, puis « set » de certaines données dont localVersion, il y a donc bien une modification de la config du plugin si il existe déja.
vient ensuite le doUpdate (L71).
si doNotUpdate (Ne pas mettre a jour) → message d’alerte
entre temps ajax répond ajax::success(); donc Plugin installé avec succès :
Ce cas ne ce présente pas dans le centre de mise a jour, car normalement pas possible de cliquer sur le bouton « mettre a jour » (disabled)
Je pense qu’il manque un contrôle juste après
54. if (!is_object($update)) {
55. $update = new update();
56. }
if ($update->getConfiguration('doNotUpdate') == 1) ... et ajouter un return a la réponse ajax.