[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / plugins-dist / medias / action / supprimer_tous_orphelins.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
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 include_spip('base/abstract_sql');
16
17 function action_supprimer_tous_orphelins() {
18
19 $securiser_action = charger_fonction('securiser_action','inc');
20 $arg = $securiser_action();
21
22 //on recupere le contexte pour ne supprimer les orphelins que de ce dernier
23 list($media,$distant,$statut,$sanstitre) = explode('/',$arg);
24
25 //critere sur le media
26 if($media)
27 $select = "media=".sql_quote($media);
28
29 //critere sur le distant
30 if($distant)
31 $where[] = "distant=".sql_quote($distant);
32
33 //critere sur le statut
34 if($statut)
35 $where[] = "statut REGEXP ".sql_quote("($statut)");
36
37 //critere sur le sanstitre
38 if($sanstitre)
39 $where[] = "titre=''";
40
41 //on isole les orphelins
42 $select = sql_get_select("DISTINCT id_document","spip_documents_liens as oooo");
43 $cond = "spip_documents.id_document NOT IN ($select)";
44 $where[] = $cond;
45
46 $ids_doc_orphelins = sql_select( "id_document", "spip_documents", $where );
47
48 $supprimer_document = charger_fonction('supprimer_document','action');
49 while ($row = sql_fetch($ids_doc_orphelins)) {
50 $supprimer_document($row['id_document']); // pour les orphelins du contexte, on traite avec la fonction existante
51 }
52 }
53
54 ?>