[SPIP][PLUGINS] v3.0-->v3.2
[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-2016 *
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 return $valeurs;
35 }
36
37 function formulaires_illustrer_document_verifier_dist($id_document) {
38 $erreurs = array();
39 if (_request('supprimer')) {
40 } else {
41 $id_vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id_document));
42 $verifier = charger_fonction('verifier', 'formulaires/joindre_document');
43 $erreurs = $verifier($id_vignette, 0, '', 'vignette');
44 }
45
46 return $erreurs;
47 }
48
49 function formulaires_illustrer_document_traiter_dist($id_document) {
50 $id_vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id_document));
51 $res = array('editable' => true);
52 if (_request('supprimer')) {
53 $supprimer_document = charger_fonction('supprimer_document', 'action');
54 if ($id_vignette and $supprimer_document($id_vignette)) {
55 $res['message_ok'] = _T('medias:vignette_supprimee');
56 } else {
57 $res['message_erreur'] = _T('medias:erreur_suppression_vignette');
58 }
59 } else {
60 $ajouter_documents = charger_fonction('ajouter_documents', 'action');
61
62 include_spip('inc/joindre_document');
63 $files = joindre_trouver_fichier_envoye();
64
65 $ajoute = $ajouter_documents($id_vignette, $files, '', 0, 'vignette');
66
67 if (is_numeric(reset($ajoute))
68 and $id_vignette = reset($ajoute)
69 ) {
70 include_spip('action/editer_document');
71 document_modifier($id_document, array('id_vignette' => $id_vignette, 'mode' => 'document'));
72 $res['message_ok'] = _T('medias:document_installe_succes');
73 } else {
74 $res['message_erreur'] = reset($ajoute);
75 }
76 }
77
78 // todo :
79 // generer les case docs si c'est necessaire
80 // rediriger sinon
81 return $res;
82 }