Changeset 39375 in spip-zone


Ignore:
Timestamp:
Jul 20, 2010, 12:09:54 AM (9 years ago)
Author:
kent1@…
Message:

Invalidation du cache lorsque l'on demande un réencodage

On récupère un logo depuis le document original si on n'en a pas déjà un

Location:
_plugins_/spipmotion
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipmotion/action/spipmotion_ajouter_file_encodage.php

    r39086 r39375  
    105105        $extension = $infos_doc['extension'];
    106106        $id_orig = $infos_doc['id_orig'];
     107        $invalider = false;
    107108        if($id_orig == 0){
    108109                if($format && (
     
    114115                        $en_file = sql_getfetsel("id_spipmotion_attente","spip_spipmotion_attentes","id_document=$id_document AND extension =".sql_quote($format)." AND encode IN ('en_cours,non,erreur')");
    115116                        if(!$en_file){
     117                                $invalider = true;
    116118                                $document = sql_fetsel("docs.id_document, docs.extension,docs.fichier,docs.mode,docs.distant, L.vu, L.objet, L.id_objet", "spip_documents AS docs INNER JOIN spip_documents_liens AS L ON L.id_document=docs.id_document","L.id_document=".intval($id_document));
    117119                                $id_doc_attente = sql_insertq("spip_spipmotion_attentes", array('id_document'=>$id_document,'objet'=>$document['objet'],'id_objet'=>$document['id_objet'],'encode'=>'non','id_auteur'=> $GLOBALS['visiteur_session']['id_auteur'],'extension'=>$format));
     
    134136                                                $id_doc_attente = sql_insertq("spip_spipmotion_attentes", array('id_document'=>$id_document,'objet'=>$document['objet'],'id_objet'=>$document['id_objet'],'encode'=>'non','id_auteur'=> $GLOBALS['visiteur_session']['id_auteur'],'extension'=>$extension_sortie));
    135137                                                spip_log("on ajoute une video dans la file d'attente : $id_doc_attente","spipmotion");
     138                                                $invalider = true;
    136139                                        }
    137140                                        else{
     
    149152                                        $en_file = sql_getfetsel("id_spipmotion_attente","spip_spipmotion_attentes","id_document=$id_document AND extension ='$extension_sortie' AND encode IN ('en_cours,non')");
    150153                                        if(!$en_file){
     154                                                $invalider = true;
    151155                                                $document = sql_fetsel("docs.id_document, docs.extension,docs.fichier,docs.mode,docs.distant, L.vu, L.objet, L.id_objet", "spip_documents AS docs INNER JOIN spip_documents_liens AS L ON L.id_document=docs.id_document","L.id_document=".intval($id_document));
    152156                                                $id_doc_attente = sql_insertq("spip_spipmotion_attentes", array('id_document'=>$id_document,'objet'=>$document['objet'],'id_objet'=>$document['id_objet'],'encode'=>'non','id_auteur'=> $GLOBALS['visiteur_session']['id_auteur'],'extension'=>$extension_sortie));
     
    161165                        spip_log('que dalle','spipmotion');
    162166                }
     167                if($invalider){
     168                        include_spip('inc/invalideur');
     169                        suivre_invalideur(1);
     170                }
    163171        }
    164172}
  • _plugins_/spipmotion/spipmotion_pipelines.php

    r39134 r39375  
    137137                        }
    138138
     139
    139140                        /**
    140141                         * On l'ajoute dans la file d'attente d'encodage si nécessaire
     
    142143                        $fichier = basename(get_spip_doc($document['fichier']));
    143144                        $racine = str_replace('-encoded','',substr($fichier,0,-(strlen($document['extension'])+1)));
    144                         if(($GLOBALS['meta']['spipmotion_casse'] != 'oui') && !preg_match('/-encoded/',$document['fichier']) OR !($id_doc = sql_getfetsel('id_document','spip_documents',"fichier LIKE '%$racine%' AND id_document != $id_document"))){
     145                        $id_doc = sql_getfetsel('id_document','spip_documents',"fichier LIKE '%$racine%' AND id_document != $id_document AND id_orig=0");
     146                        if(($GLOBALS['meta']['spipmotion_casse'] != 'oui') && !preg_match('/-encoded/',$document['fichier']) OR !$id_doc){
    145147                                include_spip('action/spipmotion_ajouter_file_encodage');
    146148                                spipmotion_genere_file($id_document,$document['objet'],$document['id_objet']);
     149                        }
     150                        /**
     151                         * Tentative de récupération d'un logo du document original
     152                         */
     153                        if($id_doc){
     154                                $id_vignette = sql_getfetsel('id_vignette','spip_documents','id_document='.intval($id_doc));
     155                                if(!$logo && is_numeric($id_vignette) && ($id_vignette > 0)){
     156                                        sql_updateq('spip_documents',array('id_vignette'=>$id_vignette),'id_document='.intval($id_document));
     157                                }
    147158                        }
    148159
Note: See TracChangeset for help on using the changeset viewer.