Changeset 47762 in spip-zone


Ignore:
Timestamp:
May 13, 2011, 5:21:38 PM (10 years ago)
Author:
kent1@…
Message:

On récupère des métadonnées supplémentaires comme le titre, le descriptif et les crédits

On met toutes les metadonnées dans un champ metas des fois que l'on en ai besoin

Location:
_plugins_/spipmotion
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipmotion/base/spipmotion.php

    r41071 r47762  
    5050        $tables_principales['spip_documents']['field']['audiochannels'] = "INTEGER";
    5151        $tables_principales['spip_documents']['field']['id_orig'] = "BIGINT(21) NOT NULL";
     52        $tables_principales['spip_documents']['field']['metas'] = "TEXT DEFAULT '' NOT NULL";
    5253
    5354        return $tables_principales;
  • _plugins_/spipmotion/base/spipmotion_upgrade.php

    r43798 r47762  
    181181                        }
    182182                        ecrire_meta($nom_meta_base_version,$current_version='0.7.5');
     183                }
     184                if (version_compare($current_version,'0.7.6','<')){
     185                        maj_tables('spip_documents');
     186                        ecrire_meta($nom_meta_base_version,$current_version='0.7.6');
    183187                }
    184188                /**
  • _plugins_/spipmotion/inc/spipmotion_mediainfo.php

    r46418 r47762  
    2222                spip_xml_match_nodes(",^track type,",$arbre, $tracks);
    2323                foreach($tracks as $track => $info){
     24                        $metas[$track] = $info;
     25                        spip_log($info,'spipmotion');
    2426                        if($track == 'track type="General"'){
     27                                $infos['titre'] = $info[0]['Title'][0] ? $info[0]['Title'][0] : $info[0]['Movie_name'][0];
     28                                $infos['descriptif'] = $info[0]['Description'][0] ? $info[0]['Description'][0] : $info[0]['desc'][0];
     29                                $infos['credits'] = $info[0]['Copyright'][0];
    2530                                $infos['duree'] = $info[0]['Duration'][0] / 1000;
    2631                                $infos['bitrate'] = $info[0]['Overall_bit_rate'][0];
     
    4550                }
    4651        }
     52        $infos['metas'] = serialize($metas);
    4753        return $infos;
    4854}
  • _plugins_/spipmotion/inc/spipmotion_recuperer_infos.php

    r45200 r47762  
    2020
    2121        include_spip('inc/documents');
    22         $document = sql_fetsel("docs.extension,docs.fichier,docs.taille,docs.mode", "spip_documents AS docs INNER JOIN spip_documents_liens AS L ON L.id_document=docs.id_document","L.id_document=".sql_quote($id_document));
     22        $document = sql_fetsel("docs.titre,docs.descriptif,docs.extension,docs.fichier,docs.taille,docs.mode", "spip_documents AS docs INNER JOIN spip_documents_liens AS L ON L.id_document=docs.id_document","L.id_document=".sql_quote($id_document));
    2323        $chemin = $document['fichier'];
    2424        $movie_chemin = get_spip_doc($chemin);
     
    3838        }
    3939
    40         if(!$GLOBALS['meta']['spipmotion_mediainfo_casse']){
    41                 $mediainfo = charger_fonction('spipmotion_mediainfo','inc');
    42                 $infos = $mediainfo($movie_chemin);
    43         }else{
     40        if(class_exists('ffmpeg_movie')){
    4441                $movie = new ffmpeg_movie($movie_chemin, 0);
    4542       
     
    9087        }
    9188       
     89        if(!$GLOBALS['meta']['spipmotion_mediainfo_casse']){
     90                $mediainfo = charger_fonction('spipmotion_mediainfo','inc');
     91                $mediainfos = $mediainfo($movie_chemin);
     92        }
     93
     94        $infos = array_merge($mediainfos,$infos);
     95       
     96        if(strlen($document['titre']) > 0){
     97                unset($infos['titre']);
     98        }
     99        if(strlen($document['descriptif']) > 0){
     100                unset($infos['descriptif']);
     101        }
    92102        foreach($infos as $key => $val){
    93103                if(!$val){
  • _plugins_/spipmotion/plugin.xml

    r44845 r47762  
    55        <licence>GNU/GPL v3</licence>
    66        <version>0.7.2</version>
    7         <version_base>0.7.5</version_base>
     7        <version_base>0.7.6</version_base>
    88        <etat>test</etat>
    99        <description>
Note: See TracChangeset for help on using the changeset viewer.