Gestion des logos : on supprime les anciens documents en mode logoon de cet objet.

This commit is contained in:
Pierre 2020-01-16 18:26:36 +01:00
parent 6ebfdfea5e
commit 4dfe6d6d5b

View file

@ -11,7 +11,7 @@ if (!defined('_ECRIRE_INC_VERSION')){
* @param $mode
* @return array tableau des id_document $Tid_doc
*/
function inc_bigform_traiter_dist($id_objet,$objet = 'article',$mode='auto') {
function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode='auto') {
include_spip('inc/joindre_document');
set_request('joindre_upload','ok');
@ -27,12 +27,28 @@ function inc_bigform_traiter_dist($id_objet,$objet = 'article',$mode='auto') {
$lesTitres[] = $html_titre[$index];
}
// en mode logoon, on va supprimer le (ou les) anciens logos. on récupère d'abord leurs id
if ($mode == 'logoon'){
$T_docs_objet = sql_allfetsel('id_document','spip_documents_liens',"id_objet=".intval($id_objet)." AND objet='" . $objet . "'");
}
$Tid_doc = [];
if (is_array($files) and count($files)) {
$ajouter_document = charger_fonction('ajouter_documents', 'action');
$Tid_doc = $ajouter_document('new', $files, $objet, $id_objet,$mode);
}
// si tout s'est bien passé, on supprime le/les anciens logos
if ($mode == 'logoon'){
foreach ($T_docs_objet as $i => $ligne) {
$id_doc = $ligne['id_document'];
if (sql_getfetsel('mode','spip_documents','id_document=' . intval($id_doc)) == 'logoon'){
sql_delete('spip_documents', 'id_document='.intval($id_doc));
sql_delete('spip_documents_liens', 'id_document='.intval($id_doc));
}
}
}
if (!empty($html_titre) and count($Tid_doc)) {
foreach ($Tid_doc as $i => $id_doc) {
$titre = $lesTitres[$i];