- foreach ($this->jtables as $table => $j)
- XDB::execute("DELETE FROM {$table} WHERE {$j['joinid']} = {?}{$j['joinextra']}", $id);
- XDB::execute("DELETE FROM {$this->table} WHERE {$this->idfield} = {?}",$id);
- $page->trig("L'entrée ".$id." a été supprimée.");
+ S::assert_xsrf_token();
+
+ if (!isset($this->delete_action)) {
+ foreach ($this->jtables as $table => $j)
+ XDB::execute("DELETE FROM {$table} WHERE {$j['joinid']} = {?}{$j['joinextra']}", $id);
+ XDB::execute("DELETE FROM {$this->table} WHERE {$this->idfield} = {?}",$id);
+ $page->trigSuccess("L'entrée ".$id." a été supprimée.");
+ } else if ($this->delete_action) {
+ XDB::execute($this->delete_action, $id);
+ if (isset($this->delete_message)) {
+ $page->trigSuccess($this->delete_message);
+ } else {
+ $page->trigSuccess("L'entrée ".$id." a été supprimée.");
+ }
+ } else {
+ $page->trigError("Impossible de supprimer l'entrée.");
+ }