source: spip-zone/_plugins_/uploadhtml5/trunk/formulaires/uploadhtml5.php @ 95495

Last change on this file since 95495 was 95495, checked in by p@…, 3 years ago

Règles de codages

File size: 3.0 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Formulaire d'upload en html5
9 *
10 * @param mixed $objet Objet cible
11 * @param mixed $id_objet Id de l'objet cible
12 * @param string $mode mode d'insertion des objets
13 * @param string $ajaxReload Objet ajax à recharger quand une image est uploadé
14 * @param mixed $args Tableau d'option
15 *        redirect => Faire une redirection après l'upload de tout les éléménts.
16 *        acceptedFiles => limiter les types de fichier accepter. Une liste d'extension (ex: jpg,gif,pdf)
17 *        paramName => Changer le name du formulaire d'envoie
18 *        id => Changer l'id de la dropzone
19 *        maxFiles => Nombre maximum de fichier envoyé (supplante la configuration global)
20 *        _header => placer du texte ou du header dans le haut du formulaire
21 *        _footer => placer du texte ou du header dans le bas du formulaire
22 *
23 * @access public
24 * @return mixed
25 */
26function formulaires_uploadhtml5_charger_dist($objet, $id_objet, $mode = 'auto', $ajaxReload = '', $args = array()) {
27    include_spip('uploadhtml5_fonctions');
28
29    // Si l'option logo est activée, on renvoie un contexte figé qui correspond
30    if (isset($args['logo']) and $args['logo'] == 'oui') {
31
32        $contexte = array(
33            'paramName' => 'file_logo',
34            'ajaxReload' => $ajaxReload, // Le bloc ajax à rafraichir
35            'maxFiles' => 1, // un seul fichier
36            'acceptedFiles' => trouver_mime_type('logo'), // N'accepter que les logo défini par spip
37            'id' => 'dropzonespip_logo'.uniqid() // Un ID spécifique pour les logo
38        );
39
40        // Si on est dans l'espace privé, on ajouter le titre du bloc
41        if (test_espace_prive() and !isset($args['_header'])) {
42            $contexte['_header'] = '<h3 class="titrem">'.titre_cadre_logo($objet, $id_objet).'</h3>';
43        }
44        // On ajoute le reste du contexte
45        // Dans ce cas si, c'est $contexte qui supplante les informations
46        // de $args car on force ces options pour les logos
47        $contexte = array_merge($args, $contexte);
48
49        return $contexte;
50    }
51
52    // Convertir les acceptedFiles
53    if (!empty($args['acceptedFiles'])) {
54            $args['acceptedFiles'] = trouver_mime_type($args['acceptedFiles']);
55    }
56
57    // Contexte de base, qui pourra être surcharger par $args
58    $contexte = array(
59        'ajaxReload' => $ajaxReload,
60        'paramName' => 'file',
61        'id' => 'dropzonespip_'.uniqid()
62    );
63
64    // Fusionner args avec le contexte
65    $contexte = array_merge($contexte, $args);
66
67    return $contexte;
68}
69
70function formulaires_uploadhtml5_traiter_dist($objet, $id_objet, $mode = 'auto', $ajaxReload = '', $args = array()) {
71
72    if (isset($args['logo']) and $args['logo'] == 'oui') {
73        uploadhtml5_uploader_logo($objet, $id_objet, $_FILES['file_logo']['tmp_name']);
74    } else {
75        uploadhtml5_uploader_document($objet, $id_objet, $_FILES, 'new', $mode);
76    }
77
78    // Donnée de retour.
79    return array('editable' => true);
80}
Note: See TracBrowser for help on using the repository browser.