source: spip-zone/_plugins_/mediaspip_player/trunk/mediaspip_player_pipelines.php @ 98344

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

PSR

File size: 5.4 KB
Line 
1<?php
2/**
3 * MediaSPIP player
4 * Lecteur multimédia HTML5 pour MediaSPIP
5 *
6 * Auteurs :
7 * kent1 (http://www.kent1.info - kent1@arscenic.info)
8 * 2010-2013 - Distribué sous licence GNU/GPL
9 *
10 * Fichier de définition des différents pipelines
11 *
12 */
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17/**
18 * Insertion dans le pipeline insert_head (SPIP)
19 * On ajoute les js compilé et la css du player dans le public
20 *
21 * @param $flux string
22 *              Le contenu du insert_head modifié
23 * @return $flux string
24 *              Le contenu du insert_head modifié
25 */
26function mediaspip_player_insert_head($flux) {
27        $flux .= '
28<script src="'.produire_fond_statique('mediaspip_player_lang.js', array('lang' => $GLOBALS['spip_lang'])).'" type="text/javascript"></script>
29';
30        return $flux;
31}
32
33/**
34 * Insertion dans le pipeline header_prive (SPIP)
35 * On ajoute les js compilé et la css du player dans le privé
36 *
37 * @param $flux string
38 *              Le contenu du insert_head modifié
39 * @return $flux string
40 *              Le contenu du insert_head modifié
41 */
42function mediaspip_player_header_prive($flux) {
43        $flux .= '
44<script src="'.produire_fond_statique('mediaspip_player_lang.js', array('lang'=>$GLOBALS['spip_lang'])).'" type="text/javascript"></script>
45<link rel="stylesheet" href="'.direction_css(find_in_path('css/html5_controls.css')).'" type="text/css" media="all" />
46';
47        return $flux;
48}
49
50/**
51 * Insertion dans le pipeline jqueryui_plugins (jQuery UI)
52 * On ajoute les sliders au chargement des js (et ses dépendances)
53 *
54 * @param $flux array
55 *              L'array des plugins déjà inséré
56 * @return $flux array
57 *              L'array des plugins mis à jour
58 */
59function mediaspip_player_jqueryui_plugins($plugins) {
60        if (!function_exists('lire_config')) {
61                include_spip('inc/config');
62        }
63
64        if (lire_config('mediaspip_player/slider_non_charger', 'non') != 'on') {
65                $plugins[] = 'jquery.ui.slider';
66        }
67        return $plugins;
68}
69
70/**
71 * Insertion dans le pipeline jquery_plugins (SPIP)
72 * On ajoute les différents plugins jquery dans le privé et public
73 *
74 * @param $flux array
75 *              L'array des plugins déjà inséré
76 * @return $flux array
77 *              L'array des plugins mis à jour
78 */
79function mediaspip_player_jquery_plugins($plugins) {
80        if (!function_exists('lire_config')) {
81                include_spip('inc/config');
82        }
83
84        if (lire_config('mediaspip_player/mousewheel_non_charger', 'non') != 'on') {
85                $plugins[] = _DIR_LIB_MOUSEWHEEL.'jquery.mousewheel.js';
86        }
87        $plugins[] = 'javascript/flowplayer-3.2.12.min.js';
88        $plugins[] = 'javascript/mediaspip_player.js';
89        $plugins[] = 'javascript/mediaspip_fallback_flash.js';
90        return $plugins;
91}
92
93/**
94 * Insertion dans le pipeline insert_head_css (SPIP)
95 * On ajoute la css de mediaspip_player dans l'espace public
96 *
97 * @param $flux string
98 *              Le contexte du pipeline
99 * @return $flux string
100 *              Le contexte du pipeline modifié
101 */
102function mediaspip_player_insert_head_css($flux) {
103        $flux .= '
104<link rel="stylesheet" href="'.direction_css(mediaspip_player_timestamp(find_in_path('css/html5_controls.css'))).'" type="text/css" media="all" />';
105        return $flux;
106}
107
108/**
109 * Insertion dans le pipeline formulaire_verifier (SPIP)
110 * On vérifie les valeurs du formulaire de configuration
111 *
112 * @param $flux array
113 *              Le contexte du pipeline
114 * @return $flux array
115 *              Le contexte du pipeline modifié
116 */
117function mediaspip_player_formulaire_verifier($flux) {
118        if ($flux['args']['form'] == 'configurer_mediaspip_player') {
119                $numeriques = array('video_largeur_embed','video_hauteur_embed');
120                foreach ($numeriques as $numerique) {
121                        if (_request($numerique) && !ctype_digit(_request($numerique))) {
122                                $flux['data'][$numerique] = _T('mediaspip_player:erreur_valeur_int');
123                        }
124                        if (!$flux['data'][$numerique] && _request($numerique) && (_request($numerique) > 2000)) {
125                                $flux['data'][$numerique] = _T('mediaspip_player:erreur_valeur_int_inf', array('nb'=>'2000'));
126                        }
127                }
128                if (!$flux['data']['video_largeur_embed'] && _request('video_largeur_embed') && (_request('video_largeur_embed') < 200)) {
129                        $flux['data']['video_largeur_embed'] = _T('mediaspip_player:erreur_valeur_int_sup', array('nb'=>'200'));
130                }
131        }
132        return $flux;
133}
134
135/**
136 * Insertion dans le pipeline formulaire_traiter (SPIP)
137 * On purge le cache js pour que la nouvelle config soit prise en compte automatiquement
138 *
139 * @param $flux array
140 *              Le contexte du pipeline
141 * @return $flux array
142 *              Le contexte du pipeline modifié
143 */
144function mediaspip_player_formulaire_traiter($flux) {
145        if ($flux['args']['form'] == 'configurer_mediaspip_player') {
146                include_spip('inc/invalideur');
147                $rep_js = _DIR_VAR.'cache-js/';
148                purger_repertoire($rep_js);
149        }
150        return $flux;
151}
152
153/**
154 * Insertion dans le pipeline recuperer_fond (SPIP)
155 * On affiche en dessous des documents les conversions
156 *
157 * @param array $flux
158 * @return array $flux
159 */
160function mediaspip_player_recuperer_fond($flux) {
161        if ($flux['args']['fond']=='modeles/document_desc') {
162                $flux['data']['texte'] .= recuperer_fond('prive/inclure/document_desc_liste_conversions', $flux['args']['contexte']);
163        }
164        return $flux;
165}
166
167/**
168 * Insertion dans le pipeline medias_documents_visibles (Plugin medias)
169 * On ajoute le fait que les documents ayant comme mode conversion soient visibles et non pas
170 * supprimés des boucles documents
171 *
172 * @param array $flux
173 * @return array $flux
174 */
175function mediaspip_player_medias_documents_visibles($flux) {
176        $flux[] = 'conversion';
177        return $flux;
178}
179
180function mediaspip_player_timestamp($fichier) {
181        if ($m = filemtime($fichier)) {
182                return "$fichier?$m";
183        }
184        return $fichier;
185}
Note: See TracBrowser for help on using the repository browser.