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

Last change on this file was 98050, checked in by kent1@…, 3 years ago

broutilles et petits bugs

File size: 1.5 KB
Line 
1<?php
2/**
3 * GetID3
4 * Gestion des métadonnées de fichiers sonores et vidéos directement dans SPIP
5 *
6 * Auteurs :
7 * kent1 (http://www.kent1.info - kent1@arscenic.info), BoOz
8 * 2008-2013 - Distribué sous licence GNU/GPL
9 *
10 * Les fonctions du plugin
11 *
12 * @package SPIP\GetID3\Fonctions
13 */
14
15if (!defined('_ECRIRE_INC_VERSION')) {
16        return;
17}
18
19/**
20 * Converti une durée en secondes en une durée affichable et lisible hh:mm:ss ou mm:ss
21 *
22 * @param int|float $temps_secondes
23 *              le nombre de secondes
24 * @param string $format
25 *              Le format de retour, par défaut false, peut prendre comme valeur iso8601
26 */
27function getid3_duree($temps_secondes, $format = false) {
28        if (is_numeric($temps_secondes)) {
29                $diff_hours = floor($temps_secondes/3600);
30                $temps_secondes -= $diff_hours * 3600;
31                $diff_hours = (($diff_hours >= 0) && ($diff_hours < 10)) ? '0'.$diff_hours : $diff_hours;
32
33                $diff_minutes = floor($temps_secondes/60);
34                $temps_secondes -= $diff_minutes * 60;
35                $diff_minutes = (($diff_minutes >= 0) && ($diff_minutes < 10)) ? '0'.$diff_minutes : $diff_minutes;
36
37                $temps_secondes = (($temps_secondes >= 0) && ($temps_secondes < 10)) ? '0'.floor($temps_secondes) : floor($temps_secondes);
38
39                if ($format == 'iso8601') {
40                        return 'PT'.(($diff_hours > 0) ? $diff_hours.'H':'').(($diff_minutes > 0) ? $diff_minutes:'00').'M'.$temps_secondes.'S';
41                }
42                return (($diff_hours > 0) ? $diff_hours.':':'').(($diff_minutes > 0) ? $diff_minutes:'00').':'.$temps_secondes;
43        }
44        return false;
45}
Note: See TracBrowser for help on using the repository browser.