3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2013 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
13 if (!defined("_ECRIRE_INC_VERSION")) return;
15 include_spip('base/abstract_sql');
17 function action_supprimer_tous_orphelins() {
19 $securiser_action = charger_fonction('securiser_action','inc');
20 $arg = $securiser_action();
22 //on recupere le contexte pour ne supprimer les orphelins que de ce dernier
23 list($media,$distant,$statut,$sanstitre) = explode('/',$arg);
25 //critere sur le media
27 $select = "media=".sql_quote($media);
29 //critere sur le distant
31 $where[] = "distant=".sql_quote($distant);
33 //critere sur le statut
35 $where[] = "statut REGEXP ".sql_quote("($statut)");
37 //critere sur le sanstitre
39 $where[] = "titre=''";
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)";
46 $ids_doc_orphelins = sql_select( "id_document", "spip_documents", $where );
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