[SPIP] ~maj v2.1.25-->2.1.26
[velocampus/web/www.git] / www / ecrire / action / supprimer_document.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // http://doc.spip.org/@supprimer_document
16 function action_supprimer_document_dist($id_document) {
17 include_spip('inc/autoriser');
18 if (!autoriser('supprimer','document',$id_document))
19 return false;
20
21 include_spip('inc/documents');
22 if (!$doc = sql_fetsel('*', 'spip_documents', 'id_document='.$id_document))
23 return false;
24
25 spip_log("Suppression du document $id_document (".$doc['fichier'].")");
26
27 // Si c'est un document ayant une vignette, supprimer aussi la vignette
28 if ($doc['id_vignette']) {
29 action_supprimer_document_dist($doc['id_vignette']);
30 sql_delete('spip_documents_liens', 'id_document='.$doc['id_vignette']);
31 }
32
33 // Supprimer le fichier si le doc est local,
34 // et la copie locale si le doc est distant
35 if ($doc['distant'] == 'oui') {
36 include_spip('inc/distant');
37 if ($local = copie_locale($doc['fichier'],'test'))
38 spip_unlink($local);
39 }
40 else spip_unlink(get_spip_doc($doc['fichier']));
41
42 sql_delete('spip_documents', 'id_document='.$id_document);
43
44 pipeline('post_edition',
45 array(
46 'args' => array(
47 'operation' => 'supprimer_document',
48 'table' => 'spip_documents',
49 'id_objet' => $id_document
50 ),
51 'data' => null
52 )
53 );
54 }
55
56 ?>