Changeset 22743 in spip-zone


Ignore:
Timestamp:
Sep 25, 2008, 3:50:31 PM (13 years ago)
Author:
kent1@…
Message:

Et maintenant on casse tout...
Version spip 2.0

  • stockage des infos en base
  • récupération automatique des infos à l'insertion de sons

etc...

Location:
_plugins_/_test_/getID3
Files:
10 added
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/getID3/getid3_fonctions.php

    r16273 r22743  
    11<?php
    22
    3 function recuperer_id3_doc($id_document){
     3function recuperer_id3_doc($id_document,$info,$mime){
    44include_spip('inc/recuperer_id3');
     5include_spip('inc/documents');
    56
    6 $result = spip_query("SELECT fichier FROM spip_documents WHERE id_document = " . intval($id_document));
     7        $result = sql_select("fichier","spip_documents","id_document = " .sql_quote($id_document));
    78
    8         if(spip_num_rows($result)>0){
    9         $document=spip_fetch_array($result);
    10         $fichier = $document['fichier'];
    11         $fichier =ereg_replace(" ","%20",$fichier);
    12         return recuperer_id3($fichier);
     9        if(sql_num_rows($result)>0){
     10                $document=sql_fetch($result);
     11                $fichier = get_spip_doc($document['fichier']);
     12                $fichier = ereg_replace(" ","%20",$fichier);
     13                return recuperer_id3($fichier,$info,$mime);
    1314        }
    14 
    1515}
    1616
  • _plugins_/_test_/getID3/getid3_options.php

    r16273 r22743  
    22
    33if (!defined('_DIR_PLUGIN_GETID3')){
    4                 $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
    5                 define('_DIR_PLUGIN_GETID3',(_DIR_PLUGINS.end($p)).'/');
     4        $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
     5        define('_DIR_PLUGIN_GETID3',(_DIR_PLUGINS.end($p)).'/');
    66}
    77
  • _plugins_/_test_/getID3/inc/recuperer_id3.php

    r16273 r22743  
    11<?php
    22
    3 
    4 
    5 function recuperer_id3($fichier){
    6 
    7 // Copy remote file locally to scan with getID3()
    8 require_once(_DIR_PLUGIN_GETID3.'/getid3/getid3.php');
    9 $getID3 = new getID3;   
    10 $remotefilename = $fichier ;
    11 if ($fp_remote = @fopen($remotefilename, 'rb')) {
    12     $localtempfilename = tempnam('tmp', 'getID3');
    13     if ($fp_local = @fopen($localtempfilename, 'wb')) {
    14         // Do this to copy the entire file:
    15         //while ($buffer = fread($fp_remote, 16384)) {
    16         //    fwrite($fp_local, $buffer);
    17         //}
    18        
    19         // Do this to only work on the first 10kB of the file (good enough for most formats)
    20         $buffer = fread($fp_remote, 10240);
    21         fwrite($fp_local, $buffer);
    22        
    23         fclose($fp_local);
    24        
    25         // Scan file - should parse correctly if file is not corrupted
    26         $ThisFileInfo = $getID3->analyze($localtempfilename);
    27         // re-scan file more aggressively if file is corrupted somehow and first scan did not correctly identify
    28         /*if (empty($ThisFileInfo['fileformat']) || ($ThisFileInfo['fileformat'] == 'id3')) {
    29             $ThisFileInfo = GetAllFileInfo($localtempfilename, strtolower(fileextension($localtempfilename)));
    30         }*/
    31        
    32         // Delete temporary file
    33         unlink($localtempfilename);
    34     }
    35     fclose($fp_remote);
    36 }
     3function recuperer_id3($fichier,$info=null,$mime=null){
     4        // Copy remote file locally to scan with getID3()
     5        include_spip('getid3/getid3');
     6        $getID3 = new getID3;   
     7       
     8        // Scan file - should parse correctly if file is not corrupted
     9        $ThisFileInfo = $getID3->analyze($fichier);
     10        getid3_lib::CopyTagsToComments($ThisFileInfo);
    3711       
    3812        if(sizeof($ThisFileInfo)>0){
    39        
    40                         $id3['titre'] = ($ThisFileInfo['tags']['id3v2']['title']['0']) ? $ThisFileInfo['tags']['id3v2']['title']['0'] : $ThisFileInfo['id3v2']['comments']['title']['0'] ;
    41                         $id3['artiste'] = ($ThisFileInfo['tags']['id3v2']['artist']['0']) ? $ThisFileInfo['tags']['id3v2']['artist']['0'] : $ThisFileInfo['id3v2']['comments']['artist']['0'] ;
    42                         $id3['album']  = ($ThisFileInfo['tags']['id3v2']['album']['0']) ? $ThisFileInfo['tags']['id3v2']['album']['0'] : $ThisFileInfo['id3v2']['comments']['album']['0'] ;
    43                         $id3['genre'] = ($ThisFileInfo['tags']['id3v2']['genre']['0']) ? $ThisFileInfo['tags']['id3v2']['genre']['0'] : $ThisFileInfo['id3v2']['comments']['genre']['0'] ;
    44                         $id3['comment'] = ($ThisFileInfo['tags']['id3v2']['comment']['0']) ? $ThisFileInfo['tags']['id3v2']['comment']['0'] : $ThisFileInfo['id3v2']['comments']['comment']['0'] ;
    45                         $id3['sample_rate'] = $ThisFileInfo['audio']['sample_rate'] ;
    46                         $id3['track'] = $ThisFileInfo['tags']['id3v2']['track']['0'] ;
    47                         $id3['encoded_by'] = $ThisFileInfo['tags']['id3v2']['encoded_by']['0'] ;
    48                         $id3['totaltracks'] = $ThisFileInfo['tags']['id3v2']['totaltracks']['0'] ;
    49                         $id3['tracknum'] = $ThisFileInfo['tags']['id3v2']['totaltracks']['0'] ;
    50                        
    51                
    52                         return $id3 ;
    53                        
    54         }       
    55                        
    56        
    57        
     13                $id3['titre'] = ($ThisFileInfo['tags']['id3v2']['title']['0']) ? $ThisFileInfo['tags']['id3v2']['title']['0'] : $ThisFileInfo['id3v2']['comments']['title']['0'] ;
     14                $id3['artiste'] = ($ThisFileInfo['tags']['id3v2']['artist']['0']) ? $ThisFileInfo['tags']['id3v2']['artist']['0'] : $ThisFileInfo['id3v2']['comments']['artist']['0'] ;
     15                $id3['album']  = ($ThisFileInfo['tags']['id3v2']['album']['0']) ? $ThisFileInfo['tags']['id3v2']['album']['0'] : $ThisFileInfo['id3v2']['comments']['album']['0'] ;
     16                $id3['genre'] = ($ThisFileInfo['tags']['id3v2']['genre']['0']) ? $ThisFileInfo['tags']['id3v2']['genre']['0'] : $ThisFileInfo['id3v2']['comments']['genre']['0'] ;
     17                $id3['comment'] = ($ThisFileInfo['tags']['id3v2']['comment']['0']) ? $ThisFileInfo['tags']['id3v2']['comment']['0'] : $ThisFileInfo['id3v2']['comments']['comment']['0'] ;
     18                $id3['sample_rate'] = $ThisFileInfo['audio']['sample_rate'] ;
     19                $id3['track'] = $ThisFileInfo['tags']['id3v2']['track']['0'] ;
     20                $id3['encoded_by'] = $ThisFileInfo['tags']['id3v2']['encoded_by']['0'] ;
     21                $id3['totaltracks'] = $ThisFileInfo['tags']['id3v2']['totaltracks']['0'] ;
     22                $id3['tracknum'] = $ThisFileInfo['tags']['id3v2']['totaltracks']['0'] ;
     23                $id3['bitrate'] = $ThisFileInfo['audio']['bitrate'];
     24                $id3['bitrate_mode'] = $ThisFileInfo['audio']['bitrate_mode'];
     25                $id3['duree_secondes'] = $ThisFileInfo['playtime_seconds'];
     26                $id3['duree'] = $ThisFileInfo['playtime_string'];
     27        }
     28        if(!$info){
     29                return $id3;
     30        }
     31        else{
     32                return $id3[$info];
     33        }
    5834}
    5935
  • _plugins_/_test_/getID3/plugin.xml

    r16387 r22743  
    3232        </prefix>
    3333        <!-- Definitions des fonctions qui s'inserent dans les pipelines -->
     34                <pipeline>
     35                <nom>editer_contenu_objet</nom>
     36                <action>editer_contenu_objet</action>
     37                <inclure>getid3_pipelines.php</inclure>
     38        </pipeline>
     39        <pipeline>
     40                <nom>post_edition</nom>
     41                <action>post_edition</action>
     42                <inclure>getid3_pipelines.php</inclure>
     43        </pipeline>
     44        <install>base/getid3_upgrade.php</install>
    3445        <!-- Le parametre action est facultatif : en son absence la methode de la classe portant le nom du pipeline est appelee. Le parametre inclure est facultatif.   -->
    3546</plugin>
  • _plugins_/_test_/getID3/test_id3.html

    r16273 r22743  
    1 <BOUCLE1(DOCUMENTS){extension==mp3}{!par date}{0,1}>
     1<BOUCLE1(DOCUMENTS){extension==mp3}{id_document ?}{!par date}{0,1}>
    22<pre>
    33<?php
Note: See TracChangeset for help on using the changeset viewer.