Changeset 61001 in spip-zone


Ignore:
Timestamp:
May 5, 2012, 3:55:55 PM (7 years ago)
Author:
cedric@…
Message:

Ferme http://core.spip.org/issues/2679 : reparer les documents et le processus d'upgrade depuis spip 2.1

Location:
_core_/plugins/medias
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/base/medias.php

    r59090 r61001  
    188188 * @return void
    189189 */
    190 function creer_base_types_doc($serveur='') {
     190function creer_base_types_doc($serveur='', $champ_media="media_defaut") {
    191191        global $tables_images, $tables_sequences, $tables_documents, $tables_mime;
    192192        include_spip('base/typedoc');
     
    194194
    195195        // charger en memoire tous les types deja definis pour limiter les requettes
    196         $rows = sql_allfetsel('mime_type,titre,inclus,extension,media_defaut,upload,descriptif','spip_types_documents','','','','','',$serveur);
     196        $rows = sql_allfetsel('mime_type,titre,inclus,extension,'.$champ_media.',upload,descriptif','spip_types_documents','','','','','',$serveur);
    197197        $deja = array();
    198198        foreach ($rows as $k=>$row){
     
    230230
    231231                $set = array(
    232                                                 'mime_type' => $type_mime,
    233                                                 'titre' => $titre,
    234                                                 'inclus' => $inclus,
    235                                                 'extension' => $extension,
    236                                                 'media_defaut' => $media,
    237                                                 'upload' => 'oui',
    238                                                 'descriptif' => '',
     232                        'mime_type' => $type_mime,
     233                        'titre' => $titre,
     234                        'inclus' => $inclus,
     235                        'extension' => $extension,
     236                        $champ_media => $media,
     237                        'upload' => 'oui',
     238                        'descriptif' => '',
    239239                                        );
    240240                if (!isset($deja[$extension])){
  • _core_/plugins/medias/medias_administrations.php

    r58273 r61001  
    5454        $maj['create'] = array(
    5555                array('maj_tables',array('spip_documents','spip_documents_liens','spip_types_documents')),
    56                 array('creer_base_types_doc')
     56                array('creer_base_types_doc','','media')
    5757        );
    5858        $maj['0.2.0'] = array(
     
    7171        $maj['0.6.0'] = array(
    7272                array('sql_alter',"TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"),
    73                 array('creer_base_types_doc'),
     73                array('creer_base_types_doc','','media'),
    7474        );
    7575        $maj['0.7.0'] = array(
     
    8989        );
    9090        $maj['0.14.0'] = array(
    91                 array('creer_base_types_doc'),
     91                array('creer_base_types_doc','','media'),
    9292        );
    9393        $maj['0.15.0'] = array(
    94                 array('creer_base_types_doc'),
     94                array('creer_base_types_doc','','media'),
    9595        );
    9696        $maj['0.15.1'] = array(
     
    9898        );
    9999        $maj['0.16.0'] = array(
    100                 array('creer_base_types_doc'),
     100                array('creer_base_types_doc','','media'),
    101101        );
    102102
     
    104104                // on cree le champ en defaut '?' pour reperer les nouveaux a peupler
    105105                array('sql_alter',"TABLE spip_documents ADD media varchar(10) DEFAULT '?' NOT NULL"),
    106                 array('medias_peuple_media_document'),
     106                array('medias_peuple_media_document', 'media'),
    107107                // puis on retablit le bon defaut
    108108                array('sql_alter',"TABLE spip_documents CHANGE media media varchar(10) DEFAULT 'file' NOT NULL"),
     
    119119        $maj['1.1.1'] = array(
    120120                array('creer_base_types_doc'),
     121        );
     122        // reparer les media sur les file suite a upgrade rate depuis SPIP 2.x
     123        $maj['1.2.0'] = array(
     124                // on remet en ? tous les media=file
     125                array('sql_updateq',"spip_documents",array('media'=>'?'),"media='file'"),
     126                // et on repeuple
     127                array('medias_peuple_media_document'),
    121128        );
    122129
     
    141148}
    142149
    143 function medias_peuple_media_document(){
     150function medias_peuple_media_document($champ_media="media_defaut"){
    144151        $res = sql_select("DISTINCT extension","spip_documents","media=".sql_quote('?'));
    145152        while($row = sql_fetch($res)){
    146153                // attention ici c'est encore le champ media, car on le renomme juste apres
    147                 $media = sql_getfetsel('media','spip_types_documents','extension='.sql_quote($row['extension']));
     154                $media = sql_getfetsel($champ_media,'spip_types_documents','extension='.sql_quote($row['extension']));
    148155                sql_updateq('spip_documents',array('media'=>$media),"media=".sql_quote('?').' AND extension='.sql_quote($row['extension']));
    149156                if (time() >= _TIME_OUT)
  • _core_/plugins/medias/paquet.xml

    r60873 r61001  
    66        compatibilite="[3.0.0-alpha2;["
    77        logo="prive/themes/spip/images/portfolio-32.png"
    8         schema="1.1.1"
     8        schema="1.2.0"
    99>
    1010
Note: See TracChangeset for help on using the changeset viewer.