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

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

Raccourci pour voir le log via la page de config

  • Property svn:eol-style set to LF
  • Property svn:keywords set to LastChangedBy LastChangedDate LastChangedRevision
File size: 7.4 KB
Line 
1<?php
2
3// inc/fmp3_api_globales.php
4
5// $LastChangedRevision: 23693 $
6// $LastChangedBy: paladin@quesaco.org $
7// $LastChangedDate: 2008-10-27 14:03:50 +0000 (Mon, 27 Oct 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
53/*
54 * si reseau local, activer le log de dev
55 * Vous pouvez forcer l'option en placant define("_FMP3_DEBUG", true) dans *_options.php
56 */
57if(!defined("_FMP3_DEBUG")) {
58        define("_FMP3_DEBUG", preg_match('/^(192\.168|127\.0)/', $_SERVER['SERVER_ADDR']));
59}
60
61function fmp3_spip_est_inferieur_193 () {
62        static $is_inf;
63        if($is_inf===NULL) {
64                $is_inf = version_compare($GLOBALS['spip_version_code'],'1.9300','<');
65        }
66        return($is_inf);
67}
68
69/*
70 * Journal de bord.
71 */
72function fmp3_log ($message, $flag = null, $force = true) {
73        if(!empty($message) && $force) {
74                $flag = 
75                        ($flag === null)
76                        ? ""
77                        : " " . (!$flag ? "ERROR" : "OK")
78                        ;
79                spip_log($message.$flag, _FMP3_PREFIX);
80        }
81}
82
83/*
84 * renvoie les infos du plugin contenues dans les metas
85 * qui contient 'dir' et 'version'
86 */
87function fmp3_get_plugin_meta_infos ($prefix) {
88        if(isset($GLOBALS['meta']['plugin'])) {
89                $result = unserialize($GLOBALS['meta']['plugin']);
90                $prefix = strtoupper($prefix);
91                if(isset($result[$prefix])) {
92                        return($result[$prefix]);
93                }
94        }
95        return(false);
96}
97
98/*
99 * retourne le num de version du plugin lors de la dernière installation
100 * présent dans les metas
101 */
102function fmp3_get_meta_version ($prefix) {
103        $result = false;
104        $info = fmp3_get_plugin_meta_infos($prefix);
105        if(isset($info['version'])) {
106                $result = $info['version'];
107        }
108        return($result);
109}
110
111/*
112 * retourne le dir du plugin
113 * présent dans les metas
114 */
115function fmp3_get_plugin_meta_dir($prefix) {
116        $result = false;
117        $info = fmp3_get_plugin_meta_infos($prefix);
118        if(isset($info['dir'])) {
119                $result = $info['dir'];
120        }
121        return($result);
122}
123
124/*
125 * ecriture des préférences dans les metas, format sérialisé
126 */
127function fmp3_set_preference ($key, $value) {
128        if(isset($GLOBALS['meta'][_FMP3_META_PREFERENCES])) {
129                $s_meta = unserialize($GLOBALS['meta'][_FMP3_META_PREFERENCES]);
130                $s_meta[$key] = $value;
131                return(fmp3_set_all_preferences($s_meta));
132        }
133        return(false);
134}
135
136/*
137 * ecriture dans les metas, format sérialisé
138 * $preferences Array
139 */
140function fmp3_set_all_preferences ($preferences = false) {
141        $preferences =
142                ($preferences === false)
143                ? _FMP3_PREFERENCES_DEFAULT
144                : serialize($preferences)
145                ;
146        ecrire_meta(_FMP3_META_PREFERENCES, $preferences);
147        return(fmp3_ecrire_metas());
148}
149
150/*
151 * lecture dans les metas
152 * retour: array ou false si inconnue
153 */
154function fmp3_get_all_preferences () {
155        if(isset($GLOBALS['meta'][_FMP3_META_PREFERENCES])) {
156                return(unserialize($GLOBALS['meta'][_FMP3_META_PREFERENCES]));
157        }
158        return(false);
159}
160
161//
162function fmp3_ecrire_metas () {
163        if(fmp3_spip_est_inferieur_193()) { 
164                include_spip("inc/meta");
165                ecrire_metas();
166        }
167        return(true);
168}
169
170/*
171 * dirname du fichier mp3
172 */
173function fmp3_chemin_son ($objet, $id_objet) {
174        $chemin = _DIR_LOGOS . $objet . $id_objet . '.mp3';
175        fmp3_log("son? : ".$chemin);
176        return ($chemin);
177}
178
179/*
180 * Donne le contenu javascript pour afficher le bouton play
181 * @author Christian Paulus
182 * @param $mp3path Chemin (URL) du fichier mp3
183 * @param $autoStart Démarrage auto du son (true|false)
184 * @param $backColor Couleur de fond du bouton (hexa, par ex: 030303)
185 * @param $frontColor Couleur du bouton (hexa, par ex: 030303)
186 * @param $repeatPlay Répéter le son (boucler)
187 * @param $songVolume Volume du son
188 * @param $width largeur du bloc contenant le bouton
189 * @param $height hauteur du bloc contenant le bouton
190 * @return Code HTML à insérer dans la page
191 */
192function fmp3_bouton_play (
193        $mp3path
194        , $autoStart = "false"
195        , $backColor = "030303"
196        , $frontColor = "ffffff"
197        , $repeatPlay = "false"
198        , $songVolume = "50"
199        , $width = 25
200        , $height = 20
201        ) {
202       
203        // la barre de progression n'est pas utilisé par ce plug-in
204        $showDownload = "false";
205       
206        // recherche le player
207        $playerPath = url_absolue(find_in_path('swf/singlemp3player.swf'));
208       
209        $bouton_play = ""
210                . "<!-- "._FMP3_PREFIX." -->\n"
211                . "<span id=\"fmp3-sound\" class=\"mp3\">\n"
212                . "<span id=\"fmp3-content\">\n"
213                . "<span id=\"fmp3-object\" style=\"width:".$width."px;height:".$height."px\">"
214                . "</span>\n"
215                . "</span>\n"
216                . "</span>\n"
217                /*
218                 * Un peu de javascript pour activer le plugin jQuery fmp3
219                 */
220                . "
221<script type=\"text/javascript\">
222//<![CDATA[
223$(document).ready(function(){
224        $(\"#fmp3-object\").jmp3({
225                playerPath: \"".$playerPath."\"
226                , mp3path: \"".$mp3path."\"
227                , showDownload: \"".$showDownload."\"
228                , autoStart: \"".$autoStart."\"
229                , backColor: \"".$backColor."\"
230                , frontColor: \"".$frontColor."\"
231                , repeatPlay: \"".$repeatPlay."\"
232                , songVolume: \"".$songVolume."\"
233                , width: ".$width."
234                , height: ".$height."
235        });
236});
237//]]>
238</script>
239"
240        /* */
241                . "<!-- / "._FMP3_PREFIX." -->\n"
242                ;
243               
244        return($bouton_play);
245}
246
247/*
248 *
249 */
250function fmp3_envelopper_script ($source, $format) {
251        $source = trim($source);
252        if(!empty($source)) {
253                switch($format) {
254                        case 'css':
255                                $source = "\n<style type='text/css'>\n<!--\n" 
256                                        . $source
257                                        . "\n-->\n</style>";
258                                break;
259                        case 'js':
260                                $source = "\n<script type='text/javascript'>\n//<![CDATA[\n" 
261                                        . $source
262                                        . "\n//]]>\n</script>";
263                                break;
264                        default:
265                                $source = "\n\n<!-- erreur envelopper: format inconnu [$format] -->\n\n";
266                }
267        }
268        return($source);
269} // end fmp3_envelopper_script()
270
271/*
272 * complément des deux 'compacte'. supprimer les espaces en trop.
273 */ 
274function fmp3_compacter_script ($source, $format) {
275        $source = trim($source);
276        if(!empty($source)) {
277                $source = compacte($source, $format);
278                $source = preg_replace(",/\*.*\*/,Ums","",$source); // pas de commentaires
279                $source = preg_replace('=[[:space:]]+=', ' ', $source); // réduire les espaces
280        }
281        return($source);
282} // end fmp3_compacter_script()
283?>
Note: See TracBrowser for help on using the repository browser.