finalisation #FORMULAIRE_BIGFORM{objet, id_objet, mode, args}

This commit is contained in:
Christophe 2020-04-24 23:26:12 +02:00
parent 0c0820118a
commit d5d31ba1ff
5 changed files with 128 additions and 1 deletions

View file

@ -0,0 +1,40 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function action_bigform_supprimer_doc_dist(){
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
list($id_document, $id_objet, $objet) = explode('-', $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'");
}

View file

@ -24,3 +24,14 @@ function bigform_autoriser() {
function autoriser_document_charger_dist($faire, $type, $id, $qui, $opt) {
return true;
}
function autoriser_document_dissociersupprimer_dist($faire, $type, $id, $qui, $opt) {
if (!intval($id)
or !$qui['id_auteur']
) {
return false;
}
return autoriser('modifier', 'document', $id, $qui, $opt);
}

View file

@ -4,9 +4,10 @@
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<form name="formulaire_#FORM" action="#ENV{action}" method="post" enctype="multipart/form-data"><div>
<form id="form_bigform" name="formulaire_#FORM" action="#ENV{action}" method="post" enctype="multipart/form-data"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<INCLURE{fond=inclure/bigform_doc,env,ajax}>
<INCLURE{fond=inclure/bigform,env}>
<div class="boutons"><input id="valider_bigup" type="submit" class="submit" value="Envoyer" ></div>
@ -14,3 +15,4 @@
</div>
]

View file

@ -9,6 +9,8 @@ include_spip('inc/cvtupload');
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = array()) {
$valeurs = [
'_bigup_rechercher_fichiers' => true,
'id_objet' => $id_objet,
'objet' => $objet
];
$valeurs['objet_ok'] = '';

72
inclure/bigform_doc.html Normal file
View file

@ -0,0 +1,72 @@
<div class="docs_ressource doc_rang" id="les_docs">
<BOUCLE_doc(DOCUMENTS){id_objet}{objet}{mode in image,logoon}{statut in prop,prepa,publie}{par rang_lien}>
<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)
<a href="#URL_DOCUMENT" title="Ouvrir le document" class="mediabox">
][(#EXTENSION|match{jpg|png|gif}|non)
<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>
<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 photo ?');"
title="Supprimer le document">
<i class="fa fa-trash red"></i>
</a>
</div>
]
</div>
</div>
</div>
</BOUCLE_doc>
<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]">
<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 pdf ?');"
title="Supprimer le document">
<i class="fa fa-trash red"></i>
</a>
]
</div>
</div>
</BOUCLE_pdf>
</div>
<script type="text/javascript">
jQuery(function() {
$('#valider_bigup').css('display','none');
$('input.bigup').bigup({}, {
complete: function(){
console.log("on valide");
$('#form_bigform').submit();
},
});
});
</script>