Changeset 52658 in spip-zone


Ignore:
Timestamp:
Oct 6, 2011, 9:12:00 AM (8 years ago)
Author:
kent1@…
Message:

SPIP ne pose pas de problèmes avec des fichiers de plus de 2Go sauf que le champ "taille" de spip_documents est un int et que sa valeur maximale est limitée ... On passe donc en bigint si on n'a pas la médiathèque installée c'est utile

Location:
_plugins_/spipmotion
Files:
6 edited

Legend:

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

    r51912 r52658  
    7272                        }
    7373
    74                         echo '<p>'._T('spipmotion:install_creation_base').'</p>';
    75                         echo '<p>'._T('spipmotion:install_ajout_champs_documents').'</p>';
     74                        /**
     75                         * On change le champs taille en bigint pour avoir des tailles de documents en base > 2Go
     76                         */
     77                        sql_alter("TABLE spip_documents CHANGE `taille` `taille` bigint");
    7678                        ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
    7779                }
     
    8082                        sql_alter("TABLE spip_spipmotion_attentes ADD INDEX ( `id_auteur` )");
    8183                        ecrire_meta($nom_meta_base_version,$current_version=0.2);
    82                         echo '<p>'._T('spipmotion:install_maj_base',array('version'=>0.2)).'</p>';
    8384                }
    8485                if (version_compare($current_version,'0.3','<')){
    8586                        maj_tables('spip_documents');
    8687                        ecrire_meta($nom_meta_base_version,$current_version=0.3);
    87                         echo '<p>'._T('spipmotion:install_maj_base',array('version'=>0.3)).'</p>';
    8888                }
    8989                if (version_compare($current_version,'0.4','<')){
     
    9191                        sql_alter("TABLE spip_spipmotion_attentes ADD `objet` VARCHAR(25) AFTER `id_objet`");
    9292                        ecrire_meta($nom_meta_base_version,$current_version=0.4);
    93                         echo '<p>'._T('spipmotion:install_maj_base',array('version'=>0.4)).'</p>';
    9493                }
    9594                if (version_compare($current_version,'0.5','<')){
    9695                        maj_tables('spip_documents');
    9796                        ecrire_meta($nom_meta_base_version,$current_version=0.5);
    98                         echo '<p>'._T('spipmotion:install_maj_base',array('version'=>0.5)).'</p>';
    9997                }
    10098                if (version_compare($current_version,'0.6','<')){
    10199                        maj_tables('spip_spipmotion_attentes');
    102100                        ecrire_meta($nom_meta_base_version,$current_version=0.6);
    103                         echo '<p>'._T('spipmotion:install_maj_base',array('version'=>0.6)).'</p>';
    104101                }
    105102                if (version_compare($current_version,'0.7','<')){
     
    269266                        ecrire_meta($nom_meta_base_version,$current_version='0.8.0');
    270267                }
     268                if (version_compare($current_version,'0.8.1','<')){
     269                        /**
     270                         * On change le champs taille en bigint pour avoir des tailles de documents en base > 2Go
     271                         */
     272                        sql_alter("TABLE spip_documents CHANGE `taille` `taille` bigint");
     273                        ecrire_meta($nom_meta_base_version,$current_version='0.8.1');
     274                }
    271275                /**
    272276                 * TODO : générer un htaccess dans le répertoire script_bash/
  • _plugins_/spipmotion/inc/spipmotion_mediainfo.php

    r51912 r52658  
    3131                        }
    3232                        if($track == 'track type="Video"'){
    33                                 $infos['videobitrate'] = $info[0]['Bit_rate'][0];
     33                                if(!$infos['titre'])
     34                                        $infos['titre'] = $info[0]['Title'][0] ? $info[0]['Title'][0] : '';
     35                                $infos['videobitrate'] = $info[0]['Bit_rate'][0] ? $info[0]['Bit_rate'][0] : ($info[0]['Nominal_bit_rate'][0] ? $info[0]['Nominal bit rate'][0] : '');
    3436                                $infos['hauteur'] = $info[0]['Height'][0];
    3537                                $infos['largeur'] = $info[0]['Width'][0];
  • _plugins_/spipmotion/inc/spipmotion_recuperer_infos.php

    r51912 r52658  
    2424        $document = sql_fetsel("*", "spip_documents","id_document=".intval($id_document));
    2525        $chemin = $document['fichier'];
    26         $movie_chemin = get_spip_doc($chemin);
    27 
     26        $fichier = get_spip_doc($chemin);
     27       
    2828        /**
    2929         * Si c'est un flv on lui applique les metadatas pour éviter les problèmes
     
    4848                       
    4949                }else if($flvtool2['flvtool2']){
    50                         $metadatas_flv = "flvtool2 -xUP $movie_chemin";
     50                        $metadatas_flv = "flvtool2 -xUP $fichier";
    5151                }
    5252                if($metadatas_flv){
    5353                        exec($metadatas_flv,$retour,$retour_int);
    5454                        if(file_exists($movie_chemin_tmp)){
    55                                 rename($movie_chemin_tmp,$movie_chemin);
     55                                rename($movie_chemin_tmp,$fichier);
    5656                        }
    5757                }
    5858        }
    5959        if(in_array($document['extension'],array('mov','mp4','m4v')) && !$GLOBALS['meta']['spipmotion_qt-faststart_casse']){
    60                 exec("qt-faststart $movie_chemin $movie_chemin._temp",$retour,$retour_int);
    61                 if(file_exists($movie_chemin.'._temp')){
    62                         rename($movie_chemin.'._temp',$movie_chemin);
     60                exec("qt-faststart $fichier $fichier._temp",$retour,$retour_int);
     61                if(file_exists($fichier.'._temp')){
     62                        rename($fichier.'._temp',$fichier);
    6363                }
    6464        }
     
    6969        if(!$GLOBALS['meta']['spipmotion_mediainfo_casse']){
    7070                $mediainfo = charger_fonction('spipmotion_mediainfo','inc');
    71                 $infos = $mediainfo($movie_chemin,$id_document);
     71                $infos = $mediainfo($fichier,$id_document);
    7272        }
    7373        else if(class_exists('ffmpeg_movie')){
    74                 $movie = new ffmpeg_movie($movie_chemin, 0);
     74                $movie = new ffmpeg_movie($fichier, 0);
    7575       
    7676                $infos['bitrate'] = $movie->getBitRate();
     
    131131                }       
    132132        }
     133       
     134        $infos['taille'] = @intval(filesize($fichier));
     135
     136        // Filesize tout seul est limité à 2Go
     137        // cf http://php.net/manual/fr/function.filesize.php#refsect1-function.filesize-returnvalues
     138        if($infos['taille'] == '2147483647'){
     139                $infos['taille'] = sprintf("%u", filesize($fichier));
     140        }
     141        spip_log($infos['taille'],'test');
     142        spip_log(intval(filesize($fichier)),'test');
    133143        if(count($infos) > 0){
     144                spip_log('on modifie','test');
    134145                include_spip('inc/modifier');
    135146                revision_document($id_document, $infos);
  • _plugins_/spipmotion/lang/spipmotion_en.php

    r52038 r52658  
    140140        'install_ajout_champs_documents' => 'Adding fields on the spip_documents database table',
    141141        'install_creation_base' => 'Creating the SPIPmotion database',
    142         'install_maj_base' => 'Update of the SPIPmotion database at version @version@',
    143142
    144143        // L
  • _plugins_/spipmotion/lang/spipmotion_fr.php

    r52038 r52658  
    138138        'install_ajout_champs_documents' => 'Ajout des champs sur spip_documents',
    139139        'install_creation_base' => 'Création de la base de spipmotion',
    140         'install_maj_base' => 'Mise à jour de la base de spipmotion &agrave la version @version@',
    141140
    142141        // L
  • _plugins_/spipmotion/plugin.xml

    r52260 r52658  
    1818        <lien>http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/spipmotion/</lien>
    1919       
    20         <version>0.9.6</version>
    21         <version_base>0.8.0</version_base>
     20        <version>0.9.7</version>
     21        <version_base>0.8.1</version_base>
    2222        <etat>test</etat>
    2323        <prefix>spipmotion</prefix>
Note: See TracChangeset for help on using the changeset viewer.