0)); } include_spip('inc/documents'); 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'].")"); include_spip('action/editer_liens'); // Si c'est un document ayant une vignette, supprimer aussi la vignette if ($doc['id_vignette']) { action_supprimer_document_dist($doc['id_vignette']); objet_dissocier(array('document'=>$doc['id_vignette']),'*'); } // Si c'est un document ayant des documents annexes (sous-titre, ...) // les supprimer aussi $annexes = array_map('reset',sql_allfetsel("id_document","spip_documents_liens","objet='document' AND id_objet=".intval($id_document))); foreach($annexes as $id){ action_supprimer_document_dist($id); } // dereferencer dans la base objet_dissocier(array('document'=>$id_document),'*'); sql_delete('spip_documents', 'id_document='.intval($id_document)); // Supprimer le fichier si le doc est local, // et la copie locale si le doc est distant if ($doc['distant'] == 'oui') { include_spip('inc/distant'); if ($local = _DIR_RACINE . copie_locale($doc['fichier'],'test')) spip_unlink($local); } else spip_unlink(get_spip_doc($doc['fichier'])); pipeline('post_edition', array( 'args' => array( 'operation' => 'supprimer_document', // compat v<=2 'action' => 'supprimer_document', 'table' => 'spip_documents', 'id_objet' => $id_document ), 'data' => null ) ); return true; } ?>