Hello,
Si j’ai bien interprété le code de la méthode remove() de la class config du core, true ou false est retourné pour indiquer la réussite ou l’échec de l’opération uniquement si l’on a supprimé toutes les configs d’un plugin.
Si l’on supprime une seule config, la valeur retournée n’est pas définie.
/**
* Supprime une clef de la config
* @param string $_key nom de la clef à supprimer
* @return boolean vrai si ok faux sinon
*/
public static function remove($_key, $_plugin = 'core') {
if ($_key == "*" && $_plugin != 'core') {
$values = array(
'plugin' => $_plugin,
);
$sql = 'DELETE FROM config
WHERE plugin=:plugin';
return DB::Prepare($sql, $values, DB::FETCH_TYPE_ROW);
} else {
$values = array(
'plugin' => $_plugin,
'key' => $_key,
);
$sql = 'DELETE FROM config
WHERE `key`=:key
AND plugin=:plugin';
DB::Prepare($sql, $values, DB::FETCH_TYPE_ROW);
if (isset(self::$cache[$_plugin . '::' . $_key])) {
unset(self::$cache[$_plugin . '::' . $_key]);
}
}
}
J’ai constaté ceci dans le core 1.4.27 mais le core est toujours le même dans la version alpha.