From fedf815518135033fab431cde0b46a25c78ca00e Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Fri, 28 Jan 2011 17:54:41 +0000 Subject: [PATCH] log en cas d'echec de la suppression, et suppression des liens par precaution lorsqu'on supprime un document --- action/supprimer_document.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/action/supprimer_document.php b/action/supprimer_document.php index 95d30ba4..eb98e459 100644 --- a/action/supprimer_document.php +++ b/action/supprimer_document.php @@ -19,8 +19,10 @@ function action_supprimer_document_dist($id_document=0) { $id_document = $securiser_action(); } include_spip('inc/autoriser'); - if (!autoriser('supprimer','document',$id_document)) + if (!autoriser('supprimer','document',$id_document)){ + spip_log("Echec : Suppression document $id_document interdite",_LOG_ERREUR); return false; + } // si c'etait une vignette, modifier le document source ! if ($source = sql_getfetsel('id_document', 'spip_documents', 'id_vignette='.intval($id_document))){ @@ -29,8 +31,10 @@ function action_supprimer_document_dist($id_document=0) { } include_spip('inc/documents'); - if (!$doc = sql_fetsel('*', 'spip_documents', 'id_document='.intval($id_document))) + if (!$doc = sql_fetsel('*', 'spip_documents', 'id_document='.intval($id_document))){ + spip_log("Echec : Suppression document $id_document : le document n'existe pas en base",_LOG_ERREUR); return false; + } spip_log("Suppression du document $id_document (".$doc['fichier'].")"); @@ -42,6 +46,8 @@ function action_supprimer_document_dist($id_document=0) { // dereferencer dans la base sql_delete('spip_documents', 'id_document='.intval($id_document)); + // securite + sql_delete('spip_documents_liens', 'id_document='.intval($id_document)); // Supprimer le fichier si le doc est local, @@ -64,6 +70,7 @@ function action_supprimer_document_dist($id_document=0) { 'data' => null ) ); + return true; } ?> -- GitLab