source: spip-zone/_plugins_/getID3/trunk/getid3_fonctions.php @ 62814

Last change on this file since 62814 was 62814, checked in by kent1@…, 7 years ago

Une chaine de langue manquante

Moins de logs

De simples quotas au lieu de doubles, il parait que c'est plus rapide

File size: 2.7 KB
Line 
1<?php
2/**
3 * GetID3
4 * Gestion des métadonnées de fichiers sonores directement dans SPIP
5 *
6 * Auteurs :
7 * kent1 (http://www.kent1.info - kent1@arscenic.info), BoOz
8 * 2008-2012 - Distribué sous licence GNU/GPL
9 *
10 * Les fonctions du plugin
11 */
12
13if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 /**
16  * Récupération des informations contenues dans les id3
17  * et affichage pour tester (les données sont enregistrées en base)
18  *
19  * @param $id_document int
20  *     identifiant numérique du document en base
21  * @param $retour boolean
22  *     si true, retourne un affichage html
23  *     si false, retourne l'array des informations
24  * @return $output string|array
25  *     l'ensemble des infos id3 du document en fonction du paramètre $retour ci dessus
26  */
27function recuperer_id3_doc($id_document,$retour=true){
28        $recuperer_id3 = charger_fonction('getid3_recuperer_infos','inc');
29        $id3_content = $recuperer_id3($id_document);
30
31        if($retour){
32                $output = '';
33                foreach($id3_content as $cle => $val){
34                        if(preg_match('/cover/',$cle)){
35                                $output .= ($val) ? '<img src='.url_absolue($val).' /><br /><br />' : '';
36                        }else{
37                                $output .= ($val) ? _T('getid3:info_'.$cle).' '.$val.'<br />' : '';
38                        }
39                }
40        }else{
41                $output = $id3_content;
42        }
43        return $output;
44}
45
46/**
47 * Converti une durée en secondes en une durée affichable et lisible hh:mm:ss ou mm:ss
48 *
49 * @param $temps_secondes int|float
50 *              le nombre de secondes
51 */
52function getid3_duree($temps_secondes){
53        $diff_hours = floor($temps_secondes/3600);
54        $temps_secondes -= $diff_hours * 3600;
55        $diff_hours = (($diff_hours >= 0) && ($diff_hours < 10)) ? '0'.$diff_hours : $diff_hours;
56
57        $diff_minutes = floor($temps_secondes/60);
58        $temps_secondes -= $diff_minutes * 60;
59        $diff_minutes = (($diff_minutes >= 0) && ($diff_minutes < 10)) ? '0'.$diff_minutes : $diff_minutes;
60
61        $temps_secondes = (($temps_secondes >= 0) && ($temps_secondes < 10)) ? '0'.floor($temps_secondes) : floor($temps_secondes);
62
63        $str = (($diff_hours > 0) ? $diff_hours.':':'').(($diff_minutes > 0) ? $diff_minutes:'00').':'.$temps_secondes;
64
65        return $str;
66}
67
68function getid3_duree_iso8601($temps_secondes){
69        $diff_hours = floor($temps_secondes/3600);
70        $temps_secondes -= $diff_hours * 3600;
71        $diff_hours = (($diff_hours >= 0) && ($diff_hours < 10)) ? '0'.$diff_hours : $diff_hours;
72
73        $diff_minutes  = floor($temps_secondes/60);
74        $temps_secondes -= $diff_minutes * 60;
75        $diff_minutes = (($diff_minutes >= 0) && ($diff_minutes < 10)) ? '0'.$diff_minutes : $diff_minutes;
76
77        $temps_secondes = (($temps_secondes >= 0) && ($temps_secondes < 10)) ? '0'.floor($temps_secondes) : floor($temps_secondes);
78
79        $str = 'PT'.(($diff_hours > 0) ? $diff_hours.'H':'').(($diff_minutes > 0) ? $diff_minutes:'00').'M'.$temps_secondes.'S';
80
81        return $str;
82}
83?>
Note: See TracBrowser for help on using the repository browser.