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

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

La récupération des infos refonctionne

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