Compare commits

...
Sign in to create a new pull request.

1 commit

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 = [ $valeurs = [
'_bigup_rechercher_fichiers' => true, '_bigup_rechercher_fichiers' => true,
'id_objet' => $id_objet, 'id_objet' => $id_objet,
'objet' => $objet 'objet' => $objet,
'mode' => $mode
]; ];
$valeurs['objet_ok'] = ''; $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()) { function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = array()) {
$erreurs = array(); $erreurs = array();
return $erreurs; return $erreurs;
} }

View file

@ -3,7 +3,6 @@ if (!defined('_ECRIRE_INC_VERSION')){
return; return;
} }
/** /**
* fonction de recuperation et liaison image / objet * 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 * On peut utiliser une fonction SPIP
* pour supprimer les logos * 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); autoriser_exception('associerdocuments', $objet, $id_objet);
$autorisation_temp = true; $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) { if ($autorisation_temp) {
autoriser_exception('associerdocuments', $objet, $id_objet, false); 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)) { if (!empty($html_titre) and count($Tid_doc)) {
foreach ($Tid_doc as $i => $id_doc) { foreach ($Tid_doc as $i => $id_doc) {
$titre = $lesTitres[$i]; $titre = $lesTitres[$i];

View file

@ -14,8 +14,13 @@
flex-grow: 1; flex-grow: 1;
} }
</style> </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"> <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 id="id-#ID_DOCUMENT" class="doc_article doc_objet[ (#MODE|=={logoon}|oui)logo_objet]">
<div class="vignette_doc"> <div class="vignette_doc">
[(#EXTENSION|match{jpg|png|gif}|oui) [(#EXTENSION|match{jpg|png|gif}|oui)
@ -46,10 +51,34 @@
</div> </div>
</div> </div>
</BOUCLE_doc> </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}{doublons}>
<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">
<div id="id-#ID_DOCUMENT" class="doc_article doc_objet doc_pdf]">
<div class="vignette_doc"> <div class="vignette_doc">
<a href="#URL_DOCUMENT" title="Ouvrir le document" class="" download="[(#FICHIER|basename)]"> <a href="#URL_DOCUMENT" title="Ouvrir le document" class="" download="[(#FICHIER|basename)]">
#LOGO_DOCUMENT{apercu} #LOGO_DOCUMENT{apercu}
@ -71,6 +100,30 @@
</div> </div>
</div> </div>
</BOUCLE_pdf> </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> </div>
<script type="text/javascript"> <script type="text/javascript">