source: spip-zone/_plugins_/massicot/trunk/formulaires/massicoter_image.php @ 98789

Last change on this file since 98789 was 98789, checked in by bystrano@…, 4 years ago

permet de passer un format en query string dans la page de recadrage

p.ex &format=200:300 pour pré-charger le preset de largeur 200px et
hauteur 300px. Il faut qu'il y ait un tel preset défini via la globale
presets_format_massicot.

File size: 2.5 KB
Line 
1<?php
2/**
3 * Traitements du formulaire de massicotage
4 *
5 * @plugin         Massicot
6 * @copyright  2015
7 * @author         Michel @ Vertige ASBL
8 * @licence        GNU/GPL
9 */
10
11/**
12 * Saisies du formulaire de massicotage
13 *
14 * @return array
15 *         Tableau des saisies du formulaire
16 */
17function formulaires_massicoter_image_saisies_dist($objet, $id_objet, $redirect, $format = null, $role = null) {
18
19        $saisies = array(
20                array(
21                        'saisie' => 'hidden',
22                        'options' => array(
23                                'nom' => 'zoom',
24                        ),
25                ),
26                array(
27                        'saisie' => 'hidden',
28                        'options' => array(
29                                'nom' => 'x1',
30                        ),
31                ),
32                array(
33                        'saisie' => 'hidden',
34                        'options' => array(
35                                'nom' => 'x2',
36                        ),
37                ),
38                array(
39                        'saisie' => 'hidden',
40                        'options' => array(
41                                'nom' => 'y1',
42                        ),
43                ),
44                array(
45                        'saisie' => 'hidden',
46                        'options' => array(
47                                'nom' => 'y2',
48                        ),
49                ),
50        );
51
52        if (isset($GLOBALS['presets_format_massicot'])) {
53                $datas = array();
54                foreach ($GLOBALS['presets_format_massicot'] as $preset) {
55                        $cle = $preset['largeur'] . ':' . $preset['hauteur'];
56                        $datas[$cle] = _T($preset['nom']);
57                }
58
59                $saisies[] = array(
60                        'saisie' => 'selection',
61                        'options' => array(
62                                'nom' => 'format',
63                                'label' => _T('massicot:label_format'),
64                                'datas' => $datas,
65                        ),
66                );
67        }
68
69        return $saisies;
70}
71
72/**
73 * Chargement du formulaire de massicotage
74 *
75 * Déclarer les champs postés et y intégrer les valeurs par défaut
76 *
77 * @return array
78 *         Environnement du formulaire
79 */
80function formulaires_massicoter_image_charger_dist($objet, $id_objet, $redirect, $format = null, $role = null) {
81
82        $parametres = massicot_get_parametres($objet, $id_objet, $role);
83
84        if (! $parametres) {
85                $parametres = array(
86                        'zoom' => 1,
87                );
88        }
89
90        if ($format) {
91                $parametres['format'] = $format;
92        }
93
94        $parametres['objet']    = $objet;
95        $parametres['id_objet'] = $id_objet;
96        $parametres['role']     = $role;
97
98        return $parametres;
99}
100
101/**
102 * Traitement du formulaire de massicotage
103 *
104 * Traiter les champs postés
105 *
106 * @return array
107 *         Retours des traitements
108 */
109function formulaires_massicoter_image_traiter_dist($objet, $id_objet, $redirect, $format = null, $role = null) {
110
111        if (! _request('annuler')) {
112                $parametres = array(
113                        'zoom' => _request('zoom'),
114                        'x1'   => _request('x1'),
115                        'x2'   => _request('x2'),
116                        'y1'   => _request('y1'),
117                        'y2'   => _request('y2'),
118                        'role' => $role,
119                );
120
121                if ($err = massicot_enregistrer($objet, $id_objet, $parametres)) {
122                        spip_log($err, 'massicot.'._LOG_ERREUR);
123                }
124        }
125
126        return array(
127                'redirect' => $redirect,
128        );
129}
Note: See TracBrowser for help on using the repository browser.