source: spip-zone/_plugins_/tablesorter/trunk/tablesorter_pipelines.php @ 119902

Last change on this file since 119902 was 119902, checked in by cedric@…, 2 years ago

des timestamp sur les insertions css et js sinon on galere a rafraichir quand on surcharge

File size: 2.8 KB
Line 
1<?php
2/**
3 * Pipelines du plugin Tabelesorter
4 *
5 * @plugin     Tablesorter
6 * @licence    GNU/GPL v3
7 * @package    SPIP\Tablesorter\Pipelines
8 */
9if (!defined("_ECRIRE_INC_VERSION")) {
10        return;
11}
12
13/**
14 * Insertion dans le pipeline insert_head_css (SPIP)
15 *
16 * Ajout de la feuille de style dans le head
17 *
18 * @pipeline insert_head_css
19 * @param string $flux Le contenu de la balise #INSERT_HEAD_CSS
20 * @return string $flux Le contenu complété de la balise
21 */
22function tablesorter_insert_head_css($flux) {
23        if (lire_config('tablesorter/no_insert')) {
24                return $flux;
25        }
26        $flux .= '<link rel="stylesheet" href="' . timestamp(direction_css(find_in_path('css/tablesorter.min.css'))) . '" type="text/css" />';
27
28        return $flux;
29}
30
31/**
32 * Insertion dans le pipeline insert_head (SPIP)
33 *
34 * Ajout de la librairie js tablesorter et du script d'init
35 * dans le head de l'espace public
36 *
37 * @pipeline insert_head
38 * @param string $flux Le contenu de la balise #INSERT_HEAD
39 * @return string $flux Le contenu complété de la balise
40 */
41function tablesorter_insert_head($flux) {
42        if (lire_config('tablesorter/no_insert')) {
43                return $flux;
44        }
45        $flux .= '<script src="' . timestamp(find_in_path('javascript/jquery.tablesorter.min.js')) . '" type="text/javascript"></script>';
46        $flux .= '
47        <script type="text/javascript">/* <![CDATA[ */
48        (function($){
49                $(function(){
50                        var tablesorter_init = function(){
51                                $("table.spip").not(".ss_tablesort").each(function(){
52                                        var options = {};
53                                        if($(this).find("th.ts_disabled").size() >= 1){
54                                                options.headers = {};
55                                                $(this).find("th").each(function(index,value){
56                                                        if($(this).is(".ts_disabled"))
57                                                                options.headers[index] = {sorter : false};
58                                                });
59                                        }
60                                        $(this).tablesorter(options);
61                                });
62                        }
63                        tablesorter_init();
64                        onAjaxLoad(tablesorter_init);
65                });
66        })(jQuery);
67        /* ]]> */</script>';
68
69        return $flux;
70}
71
72/**
73 * Insertion dans le pipeline header_prive (SPIP)
74 *
75 * Ajout de la librairie js tablesorter, du script d'init et de la CSS
76 * dans le head de l'espace privé
77 *
78 * @pipeline header_prive
79 * @param string $flux Le contenu du head de l'espace privé
80 * @return string $flux Le contenu complété du head
81 */
82function tablesorter_header_prive($flux) {
83        if (lire_config('tablesorter/no_insert')) {
84                return $flux;
85        }
86        // Insertion des librairies js
87        $flux .= '<script src="' . find_in_path('javascript/jquery.tablesorter.min.js') . '" type="text/javascript"></script>';
88        // Inclusion des styles du plugin
89        $flux .= '<link rel="stylesheet" href="' . direction_css(find_in_path('css/tablesorter.css')) . '" type="text/css" />';
90        // Init de tablesorter
91        $flux .= '
92        <script type="text/javascript">/* <![CDATA[ */
93        (function($){
94                $(function(){
95                        $("table.spip").tablesorter();
96                });
97        })(jQuery);
98        /* ]]> */</script>';
99        return $flux;
100}
Note: See TracBrowser for help on using the repository browser.