Skip to content
Extraits de code Groupes Projets
Valider 70d2fd1b rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

Ajout du champ duree : entier en nombre de secondes, dans unite

Ajout d'une fonction metadata/audio pour renseigner les infos de duree, titre, credits des sons
parent 1d35185a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -257,6 +257,7 @@ lib/mejs/renderers/vimeo.min.js -text ...@@ -257,6 +257,7 @@ lib/mejs/renderers/vimeo.min.js -text
/medias_fonctions.php -text /medias_fonctions.php -text
/medias_ieconfig.php -text /medias_ieconfig.php -text
/medias_pipelines.php -text /medias_pipelines.php -text
metadata/audio.php -text
metadata/html.php -text metadata/html.php -text
metadata/image.php -text metadata/image.php -text
metadata/svg.php -text metadata/svg.php -text
......
...@@ -148,6 +148,7 @@ function medias_declarer_tables_objets_sql($tables) { ...@@ -148,6 +148,7 @@ function medias_declarer_tables_objets_sql($tables) {
'taille' => 'bigint', 'taille' => 'bigint',
'largeur' => 'integer', 'largeur' => 'integer',
'hauteur' => 'integer', 'hauteur' => 'integer',
'duree' => 'integer',
'media' => "varchar(10) DEFAULT 'file' NOT NULL", 'media' => "varchar(10) DEFAULT 'file' NOT NULL",
'mode' => "varchar(10) DEFAULT 'document' NOT NULL", 'mode' => "varchar(10) DEFAULT 'document' NOT NULL",
'distant' => "VARCHAR(3) DEFAULT 'non'", 'distant' => "VARCHAR(3) DEFAULT 'non'",
...@@ -190,6 +191,7 @@ function medias_declarer_tables_objets_sql($tables) { ...@@ -190,6 +191,7 @@ function medias_declarer_tables_objets_sql($tables) {
'taille', 'taille',
'largeur', 'largeur',
'hauteur', 'hauteur',
'duree',
'mode', 'mode',
'credits', 'credits',
'fichier', 'fichier',
...@@ -202,12 +204,13 @@ function medias_declarer_tables_objets_sql($tables) { ...@@ -202,12 +204,13 @@ function medias_declarer_tables_objets_sql($tables) {
'id_vignette', 'id_vignette',
'titre', 'titre',
'descriptif', 'descriptif',
'hauteur',
'largeur',
'fichier',
'taille', 'taille',
'largeur',
'hauteur',
'duree',
'mode', 'mode',
'credits', 'credits',
'fichier',
'distant' 'distant'
), ),
'modeles' => array('document', 'doc', 'img', 'emb', 'image', 'video', 'text', 'audio', 'application'), 'modeles' => array('document', 'doc', 'img', 'emb', 'image', 'video', 'text', 'audio', 'application'),
......
...@@ -186,6 +186,10 @@ function medias_upgrade($nom_meta_base_version, $version_cible) { ...@@ -186,6 +186,10 @@ function medias_upgrade($nom_meta_base_version, $version_cible) {
array('medias_maj_date_publication_documents'), array('medias_maj_date_publication_documents'),
array('medias_check_statuts', true) array('medias_check_statuts', true)
); );
$maj['1.3.5'] = array(
// ajout de duree
array('maj_tables', 'spip_documents'),
);
include_spip('base/upgrade'); include_spip('base/upgrade');
include_spip('base/medias'); include_spip('base/medias');
maj_plugin($nom_meta_base_version, $version_cible, $maj); maj_plugin($nom_meta_base_version, $version_cible, $maj);
......
<?php
/**
* GetID3
* Gestion des métadonnées de fichiers sonores et vidéos directement dans SPIP
*
* Auteurs :
* kent1 (http://www.kent1.info - kent1@arscenic.info), BoOz
* 2008-2016 - Distribué sous licence GNU/GPL
*
* @package SPIP\GetID3\Metadatas
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Fonction de récupération des métadonnées sur les fichiers audio
* appelée à l'insertion en base dans le plugin medias (inc/renseigner_document)
*
* @param string $file
* Le chemin du fichier à analyser
* @return array $metas
* Le tableau comprenant les différentes metas à mettre en base
*/
function metadata_audio($file) {
$meta = array();
include_spip('lib/getid3/getid3');
$getID3 = new getID3;
$getID3->setOption(array('tempdir' => _DIR_TMP));
// Scan file - should parse correctly if file is not corrupted
$file_info = $getID3->analyze($file);
header('Content-Type: text/plain');
if (isset($file_info['id3v2']['comments']['title'])) {
$meta['titre'] = ucfirst(trim(implode(' ',$file_info['id3v2']['comments']['title'])));
}
if (isset($file_info['id3v2']['comments']['artist'])) {
$meta['credits'] = implode(', ',$file_info['id3v2']['comments']['artist']);
if (isset($file_info['id3v2']['comments']['album'])) {
$meta['credits'] .= '/'.trim(implode(' ',$file_info['id3v2']['comments']['album']));
}
if (isset($file_info['id3v2']['comments']['year'])) {
$meta['credits'] .= ' ('.trim(implode(' ',$file_info['id3v2']['comments']['year'])).')';
}
}
if (isset($file_info['playtime_seconds'])) {
$meta['duree'] = round($file_info['playtime_seconds'], 0);
}
return $meta;
}
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
etat="stable" etat="stable"
compatibilite="[3.2.0-dev;3.2.*]" compatibilite="[3.2.0-dev;3.2.*]"
logo="prive/themes/spip/images/portfolio-32.png" logo="prive/themes/spip/images/portfolio-32.png"
schema="1.3.4" schema="1.3.5"
> >
<nom>Medias</nom> <nom>Medias</nom>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter