source: spip-zone/_plugins_/boutonstexte/trunk/boutonstexte_pipelines.php @ 54259

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

rangement des css et js dans leurs dossiers respectifs
les bouton avec une img rien.gif et la vrai image en background sont remplaces
par un lien a qui contient la vrai image directement inseree en js et non plus en css
cela permet d'etre vraiment accessible dans toutes les situations, et de beneficier du style des liens (focus, hover...) par defaut
rangement des icones dans un sous dossier boutonstexte/themes/
ajout d'un theme zoom tire de fatcow

File size: 2.5 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3
4// insert le css et le js externes pour boutonstexte dans le <head> du document (#INSERT_HEAD)
5function boutonstexte_insert_head_css($flux) 
6{
7        $metacfg = array(
8                'cssFile' => 'css/boutonstexte',
9        );
10        meta_boutonstexte($metacfg);
11        $cssFile = find_in_path($metacfg['cssFile'].".css");
12
13        $dir = $GLOBALS['lang_dir']=="ltr"?"left":"right";
14        $imgto = find_in_path("images/textonly.png");
15        $imgtsd = find_in_path("images/fontsizedown.png");
16        $imgtsu = find_in_path("images/fontsizeup.png");
17        $flux .=
18                '<link rel="stylesheet" href="'.$cssFile.'" type="text/css" media="all" />'
19          . "<style type='text/css'>div.onlytext {text-align:$dir;}</style>"
20                ;
21
22
23        return $flux;
24}
25
26function boutonstexte_insert_head($flux)
27{
28        $metacfg = array(
29                'selector' => '#content .texte',
30                'jsFile' => 'javascript/boutonstexte.js',
31                'imgPath' => 'boutonstexte/themes/zoom/fontsizeup.png',
32                'txtOnly' => 'boutonstexte:texte_seulement',
33                'txtBackSpip' => 'boutonstexte:retour_a_spip',
34                'txtSizeUp' => 'boutonstexte:augmenter_police',
35                'txtSizeDown' => 'boutonstexte:diminuer_police'
36        );
37        meta_boutonstexte($metacfg);
38       
39        $selector = $metacfg['selector'];
40        $jsFile = find_in_path($metacfg['jsFile']);
41        $imgPath = dirname(find_in_path($metacfg['imgPath']))."/";
42
43        $txtOnly = txt_boutonstexte($metacfg['txtOnly']);
44        $txtBackSpip = txt_boutonstexte($metacfg['txtBackSpip']);
45        $txtSizeUp = txt_boutonstexte($metacfg['txtSizeUp']);
46        $txtSizeDown = txt_boutonstexte($metacfg['txtSizeDown']);
47
48        $flux .= <<<EOH
49<script src="{$jsFile}" type="text/javascript"></script>
50<script type="text/javascript"><!--
51        var boutonstexte = new boutonsTexte({
52                'selector':'{$selector}',
53                'imgPath':'{$imgPath}',
54                'txtOnly':'{$txtOnly}',
55                'txtBackSpip':'{$txtBackSpip}',
56                'txtSizeUp':'{$txtSizeUp}',
57                'txtSizeDown':'{$txtSizeDown}'
58        });
59//-->
60</script >
61EOH;
62        return $flux;
63}
64       
65function txt_boutonstexte($txt)
66{
67        if (!$txt || $txt == '_') {
68                return '';
69        }
70        return addslashes(unicode_to_javascript(html2unicode(_T($txt))));
71}
72       
73function meta_boutonstexte(&$metacfg)
74{
75        include_spip('inc/meta');
76        lire_metas();
77    global $meta;
78    if (empty($meta['boutonstexte'])) {
79        return 0;
80    }
81        $return = 0;
82    $metabtxt = unserialize($meta['boutonstexte']);
83    foreach ($metabtxt as $o=>$v) {
84        if (isset($metacfg[$o])) {
85                $metacfg[$o] = $v;
86                        ++$return;
87        }
88    }
89    return $return;
90}
91?>
Note: See TracBrowser for help on using the repository browser.