source: spip-zone/_plugins_/mejs_trunk/mejs_pipelines.php @ 93570

Last change on this file since 93570 was 81623, checked in by erational@…, 7 years ago

améliorer l'affichage ds la partie privée en appellant le js ds le head

File size: 2.2 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par MediaElementPlayer
4 *
5 * @plugin     MediaElementPlayer
6 * @copyright  2014
7 * @author     John Dyer
8 * @licence    MIT
9 * @package    SPIP\Mejs\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13       
14
15/**
16 * inserer systematiquement le CSS dans la page
17 * @param string $flux
18 * @return string
19 */
20function mejs_insert_head_css($flux){
21          $css = find_in_path('mejs/mediaelementplayer.css');     
22    $flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
23          $css = find_in_path('mejs/mejs-skins.css');   
24    $flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n"; 
25    return $flux;
26}
27
28/**
29 * inserer systematiquement le JS dans la page
30 *  on utilise uniquement la fonction pour l'affichage prive
31 *  pour l'affichage publique on utilise  plutot le pipeline affichage_final comme sur video accessible 
32 *   
33 * @param string $flux
34 * @return string
35 */ 
36function mejs_insert_head($flux){
37          $js = find_in_path('mejs/mediaelement-and-player.min.js');     
38    $flux .= "<script type='text/javascript' src='$js'></script>\n";
39    // $flux .= "<script>$('video,audio').mediaelementplayer();</script>\n";     // l'appel se fait à la volee
40    return $flux;
41}
42
43
44/**
45 * Insertion dynamique du js en pied de page,
46 * uniquement en presence de video sur la page
47 * et sur les pages html ! (pas dans les flux rss ou autre)
48 *
49 *(pas l'instant pas utilise) 
50 *
51 * @param string $flux
52 * @return string
53 */
54function mejs_affichage_final($flux){
55        if ($GLOBALS['html']
56                AND stripos($flux,'mejs-')){
57                $script = find_in_path('mejs/mediaelement-and-player.min.js');
58          lire_fichier($script, $js);
59          $js = '<script type="text/javascript">/*<![CDATA[*/'.$js.'/*]]>*/</script>';
60          if ($p=stripos($flux,'</body>'))
61                  $flux = substr_replace($flux,$js,$p,0);
62          else
63                  $flux .= $js;
64        }
65        return $flux;
66}
67
68/**
69 * inserer systematiquement le JS dans la page
70 * @param string $flux
71 * @return string
72 */
73function mejs_header_prive($flux){
74    $flux = mejs_insert_head($flux);
75    $flux .= "<script type='text/javascript'>jQuery(function(){ $('video,audio').mediaelementplayer();});</script>\n"; // dans le prive, on a appel le script via le head
76    $flux = mejs_insert_head_css($flux);
77    return $flux;
78}
79
80?>
Note: See TracBrowser for help on using the repository browser.