[SPIP] v3.2.12 -> v3.2.12 - Reinstallation avec le spip_loader
[lhc/web/www.git] / www / plugins-dist / medias / formulaires / illustrer_document.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2020 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) {
14 return;
15 }
16
17 function formulaires_illustrer_document_charger_dist($id_document) {
18 include_spip('inc/documents');
19 $valeurs = sql_fetsel('id_document,mode,id_vignette,extension,media', 'spip_documents', 'id_document=' . intval($id_document));
20 if (!$valeurs /*OR in_array($valeurs['extension'],array('jpg','gif','png'))*/) {
21 return array('editable' => false, 'id' => $id_document);
22 }
23
24 $valeurs['id'] = $id_document;
25 $valeurs['_hidden'] = "<input name='id_document' value='$id_document' type='hidden' />";
26 $valeurs['mode'] = 'vignette'; // pour les id dans le dom
27 $vignette = sql_fetsel('fichier,largeur,hauteur,id_document', 'spip_documents', 'id_document=' . $valeurs['id_vignette']);
28 $valeurs['vignette'] = get_spip_doc($vignette['fichier']);
29 $valeurs['hauteur'] = $vignette['hauteur'];
30 $valeurs['largeur'] = $vignette['largeur'];
31 $valeurs['id_vignette'] = $vignette['id_document'];
32 $valeurs['_pipeline'] = array('editer_contenu_objet', array('type' => 'illustrer_document', 'id' => $id_document));
33
34 if (test_formulaire_inclus_par_modele()) {
35 if (intval($id_document) and !autoriser('modifier', 'document', intval($id_document))) {
36 $valeurs['editable'] = '';
37 }
38 }
39
40 return $valeurs;
41 }
42
43 function formulaires_illustrer_document_verifier_dist($id_document) {
44 $erreurs = array();
45 if (_request('supprimer')) {
46 } else {
47 $id_vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id_document));
48 $verifier = charger_fonction('verifier', 'formulaires/joindre_document');
49 $erreurs = $verifier($id_vignette, 0, '', 'vignette');
50 }
51
52 return $erreurs;
53 }
54
55 function formulaires_illustrer_document_traiter_dist($id_document) {
56 $id_vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id_document));
57 $res = array('editable' => true);
58 if (_request('supprimer')) {
59 $supprimer_document = charger_fonction('supprimer_document', 'action');
60 if ($id_vignette and $supprimer_document($id_vignette)) {
61 $res['message_ok'] = _T('medias:vignette_supprimee');
62 } else {
63 $res['message_erreur'] = _T('medias:erreur_suppression_vignette');
64 }
65 } else {
66 $ajouter_documents = charger_fonction('ajouter_documents', 'action');
67
68 include_spip('inc/joindre_document');
69 $files = joindre_trouver_fichier_envoye();
70
71 $ajoute = $ajouter_documents($id_vignette, $files, '', 0, 'vignette');
72
73 if (is_numeric(reset($ajoute))
74 and $id_vignette = reset($ajoute)
75 ) {
76 include_spip('action/editer_document');
77 document_modifier($id_document, array('id_vignette' => $id_vignette, 'mode' => 'document'));
78 $res['message_ok'] = _T('medias:document_installe_succes');
79 } else {
80 $res['message_erreur'] = reset($ajoute);
81 }
82 }
83
84 // todo :
85 // generer les case docs si c'est necessaire
86 // rediriger sinon
87 return $res;
88 }