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

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

Règles de codages

File size: 4.5 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Formulaire upload html5
4 *
5 * @plugin     Formulaire upload html5
6 * @copyright  2014
7 * @author     Phenix
8 * @licence    GNU/GPL
9 * @package    SPIP\Uploadhtml5\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16function uploadhtml5_jquery_plugins($scripts) {
17        include_spip('inc/config');
18    $config = lire_config('uploadhtml5');
19    if ((isset($config['charger_public']) and $config['charger_public']) // Si on doit charger dans l'espace publique
20        or test_espace_prive() // Ou que l'on est dans l'espace privé
21    ) {
22        $scripts[] = 'lib/dropzone/dropzone.js'; // Charger Dropzone
23    }
24
25    return $scripts;
26}
27
28function uploadhtml5_insert_head_css($flux) {
29        include_spip('inc/config');
30    $config = lire_config('uploadhtml5');
31    if ((isset($config['charger_public']) and $config['charger_public']) // Si on doit charger dans l'espace publique
32        or test_espace_prive() // Ou que l'on est dans l'espace privé
33    ) {
34        $flux .= '<link rel="stylesheet" href="'.find_in_path('lib/dropzone/dropzone.css').'" type="text/css" media="screen" />';
35
36        $flux .= '<link rel="stylesheet" href="'.find_in_path('css/saisie_upload.css').'" type="text/css" media="screen" />';
37    }
38
39    return $flux;
40}
41
42function uploadhtml5_header_prive($flux) {
43    $flux .= '<link rel="stylesheet" href="'.find_in_path('lib/dropzone/dropzone.css').'" type="text/css" media="screen" />';
44
45    $flux .= '<link rel="stylesheet" href="'.find_in_path('prive/css/dropzone_prive.css').'" type="text/css" media="screen" />';
46
47
48    return $flux;
49}
50
51function uploadhtml5_formulaire_fond($flux) {
52        include_spip('inc/config');
53        $config = lire_config('uploadhtml5');
54
55    // Simplification de variable
56    $objet = isset($flux['args']['contexte']['objet']) ? $flux['args']['contexte']['objet'] : '';
57    $id_objet = isset($flux['args']['contexte']['id_objet']) ? $flux['args']['contexte']['id_objet'] : 0;
58
59
60    if ($flux['args']['form'] == 'joindre_document') {
61
62            /**
63             * Si on est pas sur l'espace privé et que les scripts
64             * n'ont pas été charger sur l'espace public,
65             * on ne fait rien au formulaire
66             */
67            if (!test_espace_prive() and !$config['charger_public']) {
68                    return $flux;
69            }
70
71        // Récupérer le formulaire d'upload en html5 et lui passer une partie du contexte de joindre_document
72        $uploadhtml5 = recuperer_fond(
73            'prive/squelettes/inclure/uploadhtml5',
74            array(
75                'type' => $objet,
76                'id' => $id_objet
77            )
78        );
79
80        // Injecter uloadhtml5 au dessus du formulaire joindre_document.
81        $flux['data'] = $uploadhtml5.$flux['data'];
82    } elseif ($flux['args']['form'] == 'editer_logo') {
83
84            /**
85             * Si on est pas sur l'espace privé et que les scripts
86             * n'ont pas été charger sur l'espace public,
87             * on ne fait rien au formulaire
88             */
89            if (!test_espace_prive() and !$config['charger_public']) {
90                    return $flux;
91            }
92
93        $chercher_logo = charger_fonction('chercher_logo', 'inc');
94        if (!$chercher_logo($id_objet, id_table_objet($objet))) {
95
96
97            // Bloc ajax par défaut
98            $ajaxReload = 'navigation';
99
100            // Cas spécial: si on édite le logo du site, il faut recharger le contenu et non la navigation
101            if ($id_objet == 0 and $objet == 'site') {
102                $ajaxReload = 'contenu';
103            }
104
105            // Récupérer le formulaire d'upload en html5 et lui passer une partie du contexte
106            $uploadhtml5 = recuperer_fond(
107                'prive/squelettes/inclure/uploadhtml5_logo',
108                array(
109                    'type' => $objet,
110                    'id' => $id_objet,
111                    'ajaxReload' => $ajaxReload
112                )
113            );
114
115            $config = lire_config('uploadhtml5');
116            // Injecter uloadhtml5 au dessus du formulaire joindre_document.
117            if (isset($config['remplacer_editer_logo'])
118                and $config['remplacer_editer_logo']) {
119                $flux['data'] = $uploadhtml5;
120            } else {
121                $flux['data'] = $uploadhtml5.$flux['data'];
122            }
123        }
124    }
125
126    return $flux;
127}
128
129
130/**
131 * Lacher le cron de nettoyage des fichiers media temporaire toute les 24 heures
132 *
133 * @param mixed $taches
134 * @access public
135 * @return mixed
136 */
137function uploadhtml5_taches_generales_cron($taches) {
138    $taches['nettoyer_document_temporaire'] = 24*3600;
139    return $taches;
140}
Note: See TracBrowser for help on using the repository browser.