démarrage de la branche pour prendre en compte le mode passé au formulaire bigform

This commit is contained in:
clem 2020-12-09 02:44:12 +01:00
parent cb4839d320
commit b3b9f68cd8
3 changed files with 80 additions and 25 deletions

View file

@ -10,7 +10,8 @@ function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $ar
$valeurs = [
'_bigup_rechercher_fichiers' => true,
'id_objet' => $id_objet,
'objet' => $objet
'objet' => $objet,
'mode' => $mode
];
$valeurs['objet_ok'] = '';
@ -23,6 +24,7 @@ function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $ar
}
function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = array()) {
$erreurs = array();
return $erreurs;
}

View file

@ -3,7 +3,6 @@ if (!defined('_ECRIRE_INC_VERSION')){
return;
}
/**
* fonction de recuperation et liaison image / objet
*
@ -28,12 +27,6 @@ function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto',
}
}
// 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 . "'");
//}
//
/*
* On peut utiliser une fonction SPIP
* pour supprimer les logos
@ -59,8 +52,26 @@ function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto',
autoriser_exception('associerdocuments', $objet, $id_objet);
$autorisation_temp = true;
}
$ajouter_document = charger_fonction('ajouter_documents', 'action');
$Tid_doc = $ajouter_document('new', $files, $objet, $id_objet, $mode);
// traitement vignette (pompé sur medias/formulaires/illustrer_document.php)
if ($mode === 'vignette') {
$id_vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id_objet));
$ajouter_documents = charger_fonction('ajouter_documents', 'action');
$ajoute = $ajouter_documents($id_vignette, $files, '', 0, 'vignette');
if (is_numeric(reset($ajoute))
and $id_vignette = reset($ajoute)
) {
include_spip('action/editer_document');
document_modifier($id_objet, array('id_vignette' => $id_vignette, 'mode' => 'document'));
}
}
// traitement doc ou logo
else {
$ajouter_document = charger_fonction('ajouter_documents', 'action');
$Tid_doc = $ajouter_document('new', $files, $objet, $id_objet, $mode);
}
if ($autorisation_temp) {
autoriser_exception('associerdocuments', $objet, $id_objet, false);
}
@ -71,17 +82,6 @@ function inc_bigform_traiter_dist($id_objet, $objet = 'article', $mode = 'auto',
}
}
// 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];

View file

@ -14,8 +14,13 @@
flex-grow: 1;
}
</style>
[(#REM)
affichage selon le mode : logoon logoff image vignette document
défaut = document
] #SET{mode, #ENV{mode,document}}
<div class="docs_ressource doc_rang" id="les_docs">
<BOUCLE_doc(DOCUMENTS){id_objet}{objet}{mode in image,logoon,vignette}{statut in prop,prepa,publie}{par rang_lien}>
<BOUCLE_doc(DOCUMENTS){id_objet}{objet}{si #GET{mode}|in_array{#LISTE{image,logoon,logoff}}}{mode in image,logoon,logoff}{statut in prop,prepa,publie}{par rang_lien}{doublons}>
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet[ (#MODE|=={logoon}|oui)logo_objet]">
<div class="vignette_doc">
[(#EXTENSION|match{jpg|png|gif}|oui)
@ -46,10 +51,34 @@
</div>
</div>
</BOUCLE_doc>
<BOUCLE_doc_vignette(DOCUMENTS){id_vignette!=''}{id_document=#ENV{id_objet}}{si #GET{mode}|=={vignette}}>
<BOUCLE_vignette(DOCUMENTS){mode=vignette}{id_document=#ID_VIGNETTE}{tout}{extension IN jpg,png,gif}{doublons}>
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet">
<div class="vignette_doc">
<a href="#URL_DOCUMENT" title="Ouvrir la vignette" class="mediabox">
#LOGO_DOCUMENT{apercu}
</a>
</div>
<div class="infos_doc">
<div class="icones_doc">
[(#AUTORISER{modifier, #ENV{objet}, #ENV{id_objet}})
<div class="icone-doc">
<a class="ajax nocache nohistory btn btn_poubelle"
href="[(#URL_ACTION_AUTEUR{bigform_supprimer_doc, [(#ID_DOCUMENT)]-[(#ENV{id_objet})]-[(#ENV{objet})], #SELF})]"
onClick="return confirm('Confirmer la suppression de cette vignette ?');"
title="Supprimer la vignette">
<i class="fa fa-trash red"></i>
</a>
</div>
]
</div>
</div>
</div>
</BOUCLE_vignette>
</BOUCLE_doc_vignette>
<B_pdf>
<BOUCLE_pdf(DOCUMENTS){id_objet}{objet}{mode=document}{extension=pdf}{statut in prop,prepa,publie}{par rang_lien}>
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet doc_pdf]">
<BOUCLE_pdf(DOCUMENTS){id_objet}{objet}{mode=document}{extension=pdf}{statut in prop,prepa,publie}{par rang_lien}{doublons}>
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet doc_pdf">
<div class="vignette_doc">
<a href="#URL_DOCUMENT" title="Ouvrir le document" class="" download="[(#FICHIER|basename)]">
#LOGO_DOCUMENT{apercu}
@ -71,6 +100,30 @@
</div>
</div>
</BOUCLE_pdf>
<BOUCLE_autres(DOCUMENTS){id_objet}{objet}{mode=document}{statut in prop,prepa,publie}{par rang_lien}{doublons}>mode2: #MODE
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet">
<div class="vignette_doc">
<a href="#URL_DOCUMENT" title="Ouvrir le document" class="" download="[(#FICHIER|basename)]">
#LOGO_DOCUMENT{apercu}
</a>
</div>
<div class="infos_doc">
<div class="bloc_titres">
[<div class="titre_doc #EDIT{titre}" title="Editer le titre">(#TITRE|sinon{[(#AUTORISER{modifier, #ENV{objet}, #ENV{id_objet}})<i class="fa fa-edit"></i>]})</div>]
<div class="fichier_doc">[(#FICHIER|basename)]</div>
</div>
[(#AUTORISER{modifier, #ENV{objet}, #ENV{id_objet}})
<a class="fr ajax nocache nohistory btn btn_poubelle"
href="[(#URL_ACTION_AUTEUR{bigform_supprimer_doc, [(#ID_DOCUMENT)]-[(#ENV{id_objet})]-[(#ENV{objet})], #SELF})]"
onClick="return confirm('Confirmer la suppression de ce document ?');"
title="Supprimer le document">
<i class="fa fa-trash red"></i>
</a>
]
</div>
</div>
</BOUCLE_autres>
</div>
<script type="text/javascript">