source: spip-zone/_plugins_/_stable_/fond_mp3/inc/fmp3_api_globales.php @ 22738

Last change on this file since 22738 was 22738, checked in by paladin@…, 13 years ago

Les librairies

  • Property svn:eol-style set to LF
  • Property svn:keywords set to LastChangedBy LastChangedDate LastChangedRevision
File size: 6.3 KB
Line 
1<?php
2
3// inc/fmp3_api_globales.php
4
5// $LastChangedRevision: 22738 $
6// $LastChangedBy: paladin@quesaco.org $
7// $LastChangedDate: 2008-09-25 13:31:14 +0000 (Thu, 25 Sep 2008) $
8
9        /*****************************************************
10        Copyright (C) 2007 Christian PAULUS
11        cpaulus@quesaco.org - http://www.quesaco.org/
12        /*****************************************************
13       
14        This file is part of Fmp3.
15       
16        Fmp3 is free software; you can redistribute it and/or modify
17        it under the terms of the GNU General Public License as published by
18        the Free Software Foundation; either version 2 of the License, or
19        (at your option) any later version.
20       
21        Fmp3 is distributed in the hope that it will be useful,
22        but WITHOUT ANY WARRANTY; without even the implied warranty of
23        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24        GNU General Public License for more details.
25       
26        You should have received a copy of the GNU General Public License
27        along with Fmp3; if not, write to the Free Software
28        Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
29       
30        /*****************************************************
31       
32        Ce fichier est un des composants de Fmp3.
33       
34        Fmp3 est un programme libre, vous pouvez le redistribuer et/ou le modifier
35        selon les termes de la Licence Publique Generale GNU publiée par
36        la Free Software Foundation (version 2 ou bien toute autre version ulterieure
37        choisie par vous).
38       
39        Fmp3 est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,
40        ni explicite ni implicite, y compris les garanties de commercialisation ou
41        d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU
42        pour plus de details.
43       
44        Vous devez avoir reçu une copie de la Licence Publique Generale GNU
45        en même temps que ce programme ; si ce n'est pas le cas, ecrivez à la 
46        Free Software Foundation, Inc.,
47        59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.
48       
49        *****************************************************/
50       
51include_spip('inc/utils');
52
53function fmp3_spip_est_inferieur_193 () {
54        static $is_inf;
55        if($is_inf===NULL) {
56                $is_inf = version_compare($GLOBALS['spip_version_code'],'1.9300','<');
57        }
58        return($is_inf);
59}
60
61/*
62 * Journal de bord.
63 * Activé uniquement en dev (voir fmp3_options.php)
64 */
65function fmp3_log ($message, $flag = null) {
66        if(!empty($message) && defined('_FMP3_DEBUG') && _FMP3_DEBUG) {
67                $flag = 
68                        ($flag === null)
69                        ? ""
70                        : " " . (!$flag ? "ERROR" : "OK")
71                        ;
72                spip_log($message.$flag, _FMP3_PREFIX);
73        }
74}
75
76/*
77 * renvoie les infos du plugin contenues dans les metas
78 * qui contient 'dir' et 'version'
79 */
80function fmp3_get_plugin_meta_infos ($prefix) {
81        if(isset($GLOBALS['meta']['plugin'])) {
82                $result = unserialize($GLOBALS['meta']['plugin']);
83                $prefix = strtoupper($prefix);
84                if(isset($result[$prefix])) {
85                        return($result[$prefix]);
86                }
87        }
88        return(false);
89}
90
91/*
92 * retourne le num de version du plugin lors de la dernière installation
93 * présent dans les metas
94 */
95function fmp3_get_meta_version ($prefix) {
96        $result = false;
97        $info = fmp3_get_plugin_meta_infos($prefix);
98        if(isset($info['version'])) {
99                $result = $info['version'];
100        }
101        return($result);
102}
103
104/*
105 * retourne le dir du plugin
106 * présent dans les metas
107 */
108function fmp3_get_plugin_meta_dir($prefix) {
109        $result = false;
110        $info = fmp3_get_plugin_meta_infos($prefix);
111        if(isset($info['dir'])) {
112                $result = $info['dir'];
113        }
114        return($result);
115}
116
117/*
118 * ecriture des préférences dans les metas, format sérialisé
119 */
120function fmp3_set_preference ($key, $value) {
121        if(isset($GLOBALS['meta'][_FMP3_META_PREFERENCES])) {
122                $s_meta = unserialize($GLOBALS['meta'][_FMP3_META_PREFERENCES]);
123                $s_meta[$key] = $value;
124                return(fmp3_set_all_preferences($s_meta));
125        }
126        return(false);
127}
128
129/*
130 * ecriture dans les metas, format sérialisé
131 * $preferences Array
132 */
133function fmp3_set_all_preferences ($preferences = false) {
134        $preferences =
135                ($preferences === false)
136                ? _FMP3_PREFERENCES_DEFAULT
137                : serialize($preferences)
138                ;
139        ecrire_meta(_FMP3_META_PREFERENCES, $preferences);
140        return(fmp3_ecrire_metas());
141}
142
143/*
144 * lecture dans les metas
145 * retour: array ou false si inconnue
146 */
147function fmp3_get_all_preferences () {
148        if(isset($GLOBALS['meta'][_FMP3_META_PREFERENCES])) {
149                return(unserialize($GLOBALS['meta'][_FMP3_META_PREFERENCES]));
150        }
151        return(false);
152}
153
154//
155function fmp3_ecrire_metas () {
156        if(fmp3_spip_est_inferieur_193()) { 
157                include_spip("inc/meta");
158                ecrire_metas();
159        }
160        return(true);
161}
162
163/*
164 * dirname du fichier mp3
165 */
166function fmp3_chemin_son ($objet, $id_objet) {
167        $chemin = _DIR_LOGOS . $objet . $id_objet . '.mp3';
168        fmp3_log("son? : ".$chemin);
169        return ($chemin);
170}
171
172/*
173 * Donne le contenu javascript pour afficher le bouton play
174 * @author Christian Paulus
175 * @param $mp3path Chemin (URL) du fichier mp3
176 * @param $autoStart Démarrage auto du son (true|false)
177 * @param $backColor Couleur de fond du bouton (hexa, par ex: 030303)
178 * @param $frontColor Couleur du bouton (hexa, par ex: 030303)
179 * @param $repeatPlay Répéter le son (boucler)
180 * @param $songVolume Volume du son
181 * @param $width largeur du bloc contenant le bouton
182 * @param $height hauteur du bloc contenant le bouton
183 * @return Code HTML à insérer dans la page
184 */
185function fmp3_bouton_play (
186        $mp3path
187        , $autoStart = "false"
188        , $backColor = "030303"
189        , $frontColor = "ffffff"
190        , $repeatPlay = "false"
191        , $songVolume = "50"
192        , $width = 25
193        , $height = 20
194        ) {
195       
196        // la barre de progression n'est pas utilisé par ce plug-in
197        $showDownload = "false";
198       
199        // recherche le player
200        $playerPath = url_absolue(find_in_path('swf/singlemp3player.swf'));
201       
202        $bouton_play = ""
203                . "<!-- "._FMP3_PREFIX." -->\n"
204                . "<span id=\"fmp3-sound\" class=\"mp3\">\n"
205                . "<span id=\"fmp3-content\">\n"
206                . "<span id=\"fmp3-object\" style=\"width:".$width."px;height:".$height."px\">"
207                . "</span>\n"
208                . "</span>\n"
209                . "</span>\n"
210                /*
211                 * Un peu de javascript pour activer le plugin jQuery fmp3
212                 */
213                . "
214<script type=\"text/javascript\">
215//<![CDATA[
216$(document).ready(function(){
217        $(\"#fmp3-object\").jmp3({
218                playerPath: \"".$playerPath."\"
219                , mp3path: \"".$mp3path."\"
220                , showDownload: \"".$showDownload."\"
221                , autoStart: \"".$autoStart."\"
222                , backColor: \"".$backColor."\"
223                , frontColor: \"".$frontColor."\"
224                , repeatPlay: \"".$repeatPlay."\"
225                , songVolume: \"".$songVolume."\"
226                , width: ".$width."
227                , height: ".$height."
228        });
229});
230//]]>
231</script>
232"
233        /* */
234                . "<!-- / "._FMP3_PREFIX." -->\n"
235                ;
236               
237        return($bouton_play);
238}
239
240?>
Note: See TracBrowser for help on using the repository browser.