bigform/action/bigform_supprimer_doc.php

43 lines
1.3 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function action_bigform_supprimer_doc_dist($arg = null){
if ($arg === null) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
list($id_document, $id_objet, $objet) = explode('-', $arg);
} else {
list($id_document, $id_objet, $objet) = $arg;
}
include_spip('inc/autoriser');
// il faut ajouter id_objet / objet
if (!autoriser('dissociersupprimer', 'document', $id_document)) {
spip_log("Echec : Dissociation / Suppression document $id_document interdite", _LOG_ERREUR);
return false;
}
if (intval($id_document) and intval($id_objet) and $objet) {
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;
}
sql_delete('spip_documents_liens',
['id_document='.intval($id_document),
'id_objet='.intval($id_objet),
'objet='.sql_quote($objet)]);
sql_delete('spip_documents', 'id_document=' . intval($id_document));
spip_unlink(get_spip_doc($doc['fichier']));
}
// Cache
include_spip('inc/invalideur');
suivre_invalideur("id='id_document/$id_document'");
}