source: spip-zone/_core_/plugins/mediabox/mediabox_pipelines.php @ 79182

Last change on this file since 79182 was 79182, checked in by fabrice.veronneau@…, 7 years ago

Ne pas charger de script inutile dans le public lorsque mediabox est désactivé.

File size: 3.9 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) return;
4
5function mediabox_config($public=null){
6        include_spip("inc/filtres");
7        $config = @unserialize($GLOBALS['meta']['mediabox']);
8        if (!is_array($config))
9                $config = array();
10        $config = array_merge(array(
11                'active' => 'oui',
12                'traiter_toutes_images' => 'oui',
13                'selecteur_galerie' => '#documents_portfolio a[type=\'image/jpeg\'],#documents_portfolio a[type=\'image/png\'],#documents_portfolio a[type=\'image/gif\']',
14                'selecteur_commun' => '.mediabox',
15                'splash_url' => '',
16                'skin' => 'black-striped',
17                'transition' => 'elastic',
18                'speed'=>'200',
19                'maxWidth'=>'90%',
20                'maxHeight'=>'90%',
21                'minWidth'=>'400px',
22                'minHeight'=>'',
23                'slideshow_speed' => '2500',
24                'opacite' => '0.9',
25        ), $config);
26
27        if ((is_null($public) AND test_espace_prive()) OR $public===false) {
28                $config = array_merge($config,array(
29                'active' => 'oui',
30                'selecteur_galerie' => '#portfolios a[type^=\'image/\']',
31                'selecteur_commun' => '.mediabox, .iconifier a[href$=jpg],.iconifier a[href$=png],.iconifier a[href$=gif]',
32                'splash_url' => '',
33                'skin' => 'white-shadow',
34                'maxWidth'=>'90%',
35                'maxHeight'=>'95%',
36                'minWidth'=>'600px',
37                'minHeight'=>'300px',
38                'opacite' => '0.9',
39                ));
40        }
41       
42        // charger la config du theme uniquement dans le public
43        if (!test_espace_prive() AND include_spip("colorbox/".$config['skin']."/mediabox_config_theme")) {
44                $config_theme = mediabox_config_theme();
45                $config = array_merge($config, $config_theme);
46        }
47       
48        return $config; 
49}
50
51function mediabox_insert_head_css($flux){
52        $config = mediabox_config();
53        if ($config['active']=='oui' AND $f = find_in_path((test_espace_prive()?"prive/":"")."colorbox/".$config['skin'].'/colorbox.css'))
54        {
55                $flux .= '<link rel="stylesheet" href="'.direction_css($f).'" type="text/css" media="all" />';
56                // Ne pas envoyer le script dans le public lorsque mediabox est desactive
57                if ($config['active']=='non' AND !test_espace_prive())
58                return $flux;
59                /**
60                 * Initialiser la config de la mediabox
61                 */
62                $flux ='<script type="text/javascript">/* <![CDATA[ */
63var box_settings = {tt_img:'.($config['traiter_toutes_images'] == 'oui'?'true':'false')
64.',sel_g:"'.$config['selecteur_galerie']
65.'",sel_c:"'.$config['selecteur_commun']
66.'",trans:"'.$config['transition']
67.'",speed:"'.$config['speed']
68.'",ssSpeed:"'.$config['slideshow_speed']
69.'",maxW:"'.$config['maxWidth']
70.'",maxH:"'.$config['maxHeight']
71.'",minW:"'.$config['minWidth']
72.'",minH:"'.$config['minHeight']
73.'",opa:"'.$config['opacite']
74.'",str_ssStart:"'.unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStart')))
75.'",str_ssStop:"'.unicode2charset(html2unicode(_T('mediabox:boxstr_slideshowStop')))
76.'",str_cur:"'._T('mediabox:boxstr_current', array('current'=>'{current}', 'total'=>'{total}'))
77.'",str_prev:"'._T('mediabox:boxstr_previous')
78.'",str_next:"'._T('mediabox:boxstr_next')
79.'",str_close:"'._T('mediabox:boxstr_close')
80.'",splash_url:"'.$config['splash_url']
81.'"};
82/* ]]> */</script>'."\n" . $flux;
83        }
84        return $flux;
85}
86
87
88function mediabox_timestamp($fichier){
89        if ($m = filemtime($fichier))
90                return "$fichier?$m";
91        return $fichier;
92}
93
94function mediabox_insert_head($flux){
95        $config = mediabox_config();
96        if ($config['active']=='oui') {
97
98                $flux .='
99        <script src="'.mediabox_timestamp(find_in_path('javascript/jquery.colorbox.js')).'" type="text/javascript"></script>
100        <script src="'.mediabox_timestamp(find_in_path('javascript/spip.mediabox.js')).'" type="text/javascript"></script>';
101                if ($config['splash_url'])
102                        $flux .='<script src="'.mediabox_timestamp(find_in_path('javascript/splash.mediabox.js')).'" type="text/javascript"></script>';
103        }
104
105        return $flux;
106}
107
108function mediabox_jquery_plugins($plugins){
109        $config = mediabox_config();
110        if ($config['splash_url']) {
111                $plugins[] = 'javascript/jquery.cookie.js';
112        }
113        return $plugins;
114}
115
116?>
Note: See TracBrowser for help on using the repository browser.