source: spip-zone/_plugins_/tooltip/tooltip_pipelines.php @ 92362

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

Ajout d'une version optimisée pour SPIP >= 3.0.0

On ne prend plus en compte IE <= 6

Javascript plus moderne en utilisant la délégation d'évènements

C'est du code à moi donc si ça bug, vous savez à qui vous adresser

Version 1.6.0

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4/**
5 * Insertion dans le pipeline insert_head_css (SPIP)
6 *
7 * On n'ajoute la CSS de l'ancienne version de jquery tooltips que lorsque la version de
8 * jquery ui est < à 1.10.1, dans le cas inverse, c'est jqueryui qui fait le travail
9 *
10 * @param string $flux
11 *              Le contenu de la balise #INSERT_HEAD_CSS
12 * @return string $flux
13 *              Le contenu de la balise #INSERT_HEAD_CSS complétée
14 */
15function tooltip_insert_head_css($flux) {
16        $f = chercher_filtre('info_plugin');
17        include_spip('plugins/installer');
18        if(!function_exists('spip_version_compare') || spip_version_compare($f('jqueryui','version'),'1.10.1','<')){
19                $flux .= '<link rel="stylesheet" type="text/css" href="'.direction_css(find_in_path('css/tooltip.css')).'" media="all" />'."\n";
20        }
21        return $flux;
22}
23
24/**
25 * Insertion dans le pipeline insert_head (SPIP)
26 *
27 * On ajoute un bloc javascript dans le head des pages si le sélecteur sur lequel
28 * appliquer les tooltips est configuré
29 *
30 * @param string $flux
31 *              Le contenu de la balise #INSERT_HEAD
32 * @return string $flux
33 *              Le contenu de la balise #INSERT_HEAD complétée
34 */
35function tooltip_insert_head($flux) {
36        $config = @unserialize($GLOBALS['meta']['tooltip']);
37        if (!is_array($config))
38                $config = array();
39        if(isset($config['selecteur']) && strlen($config['selecteur']) > 0){
40                if($config['showurl'] == 'on')
41                        $options = '{"showURL":false}';
42                $flux .=
43                        '<script type="text/javascript">/* <![CDATA[ */
44                                var tooltip_init=function(){
45                                        if($("'.$config['selecteur'].'").size() > 0)
46                                                $("'.$config['selecteur'].'").tooltip('.$options.');
47                                }
48                                $(document).ready(function(){
49                                        tooltip_init();
50                                });
51                                onAjaxLoad(tooltip_init);
52                        /* ]]> */</script>
53                        ';
54        }
55        return $flux;
56}
57
58/**
59 * Insertion dans le pipeline jquery_plugins (SPIP)
60 *
61 * On n'ajoute l'ancienne version de jquery tooltips que lorsque la version de jquery ui est
62 * < à 1.10.1, dans le cas inverse, on passe par jqueryui_plugins
63 *
64 * @param array $plugins
65 *              Le tableau des plugins jQuery ajoutés dans le head
66 * @return array $plugins
67 *              Le tableau des plugins complétés
68 */
69function tooltip_jquery_plugins($plugins){
70        $f = chercher_filtre('info_plugin');
71        include_spip('plugins/installer');
72        if(!function_exists('spip_version_compare') || spip_version_compare($f('jqueryui','version'),'1.10.1','<')){
73                if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.0alpha', '<')) { 
74                        $plugins[] = 'lib/delegate.js';
75                        $plugins[] = 'lib/dimensions.js';
76                        $plugins[] = 'js/tooltip.js';
77                }
78                else{
79                        $plugins[] = 'js/tooltip2.js';
80                }
81        }
82        return $plugins;
83}
84
85/**
86 * Insertion dans le pipeline jqueryui_plugins (Plugin jQuery UI)
87 *
88 * On n'ajoute l'ancienne version de jquery tooltips que lorsque la version de jquery ui est
89 * < à 1.10.1, dans le cas inverse, on passe par jqueryui_plugins
90 *
91 * @param array $plugins
92 *              Le tableau des plugins jQuery ajoutés dans le head
93 * @return array $plugins
94 *              Le tableau des plugins complétés
95 */
96function tooltip_jqueryui_plugins($plugins){
97        $f = chercher_filtre('info_plugin');
98        include_spip('plugins/installer');
99        if (function_exists('spip_version_compare') && spip_version_compare($f('jqueryui','version'),'1.10.1','>='))
100                $plugins[] = "jquery.ui.tooltip";
101        return $plugins;
102}
103?>
Note: See TracBrowser for help on using the repository browser.