source: spip-zone/_plugins_/dewplayer/dew_player.php @ 117558

Last change on this file since 117558 was 17286, checked in by olivier.gendrin@…, 13 years ago

Création d'un modèle pour utiliser <docXXX|dewplayer> dans l'admin de SPIP.
On passe le fichier dewplayer.swf en version 1.6.
Je n'ai pas osé retirer le pipeline, mais il faudrait s'assurer qu'il est réellement utile, ou l'astreindre à un CFG...
Enfin, le modèle utilise partout des URLs absolues, mais il n'est pas certain que ça soit absolument nécessaire...
Attention, le paramètre envoyé au player change de nom, et passe de ?son= à ?mp3=.

File size: 1.2 KB
Line 
1<?php
2
3/**
4 * definition du plugin "dew player"
5 */
6        function dewplayer($url){
7                static  $player = NULL;
8                if ($player == NULL)
9                        $player = find_in_path('dewplayer.swf');
10                $playa_ = "
11<object type='application/x-shockwave-flash'
12data='$player?mp3=$url' width='200' height='20'>
13<param name='movie' value='$player?mp3=$url'/>
14</object>";
15       
16                return $playa_;
17               
18        }
19
20        /* static public */
21        function dewplayer_post_propre($quelquechose) {
22
23                // ne rien faire = retourner ce qu'on nous a envoye
24               
25                $reg_formats="mp3";
26                 
27                //trouver des liens complets
28                unset($matches) ;
29                preg_match_all("/<a href=['\"]?(http:\/\/[a-zA-Z0-9 ()\/\:\._%\?+'=~-]*\.($reg_formats))['\"]?[^>]*>(.*)<\/a>/iU", $quelquechose, $matches);
30                $url_a=$matches[1];
31
32                if(!$matches[1][0]){
33                        //trouver des url relatives
34                        unset($matches) ;
35                        preg_match_all("/<a(.*)href=['\"]([a-zA-Z0-9 ()\/\._&%\?+'=~-]*\.($reg_formats))['\"](.*)[^>]*>(.*)<\/a>/iU", $quelquechose, $matches);
36                        $url_a=$matches[2];
37                }
38                if (is_array($url_a)){
39                        if ($player == NULL)
40                                $player = find_in_path('dewplayer.swf');
41                        foreach($url_a as $url){
42                                $quelquechose .= dewplayer($url);
43                        }
44                }
45               
46                return $quelquechose;
47        }
48
49       
50?>
Note: See TracBrowser for help on using the repository browser.