Changeset 44950 in spip-zone


Ignore:
Timestamp:
Feb 25, 2011, 5:59:32 PM (9 years ago)
Author:
xdjuj@…
Message:
  • Ajouter la VIGNETTE à la vidéo téléchargée, vignette téléchargée et installée en local
  • Gérer plus proprement la présence des champs installés par Mediatheque
Location:
_plugins_/videos
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/videos/formulaires/insertion_video.php

    r44674 r44950  
    4848        $url = _request('video_url');
    4949
    50         $titre = "";
    51         $descriptif = "";
     50        $titre = ""; $descriptif = ""; $id_vignette = "";
    5251
    5352        // On tente de récupérer titre et description à l'aide de Videopian
    5453        if(!preg_match('/culture/',$url) && (version_compare(PHP_VERSION, '5.2') >= 0)) {
     54                /*
     55                        TODO
     56                        Question ouverte : pourquoi ne pas utiliser => http://oohembed.com/ ? Nécessite quand même PHP5 (json) et semble faire pareil (mieux ?)
     57                        - Inconvénient : dépend d'un service distant alors que là, c'est dans le plugin, ça marche direct
     58                        - Avantage : sûrement mieux maintenu à jour, utilise JSON donc boucle DATA envisageables, réponse plus propre
     59                */
    5560
    5661                include_spip('lib/Videopian'); // http://www.upian.com/upiansource/videopian/
    5762                $Videopian = new Videopian();
    5863                try {
    59                         $infosVideo = $Videopian->get($url);           
     64                        $infosVideo = $Videopian->get($url);
    6065                        $titre = $infosVideo->title;
    6166                        $descriptif = $infosVideo->description;
    62                         // $logoDocument = $infosVideo->thumbnails->0->url; // A brancher sur la copie de document
     67                        $logoDocument = $infosVideo->thumbnails[0]->url;
    6368                } catch (Exception $e) {
    6469                        //echo 'Exception reçue : ',  $e->getMessage(), "\n";
    65                         spip_log("L\'ajout automatique du titre et de la description a echoue","Plugin Videos");
     70                        spip_log("L'ajout automatique du titre et de la description a echoué","Plugin Vidéo(s)");
    6671                }
    6772        }
     
    7883        );
    7984       
    80         /** Gérer le cas de la présence de Médiathèque (parce que Mediatheque c'est le BIEN) **/
    81         if(filtre_info_plugin_dist('medias','est_actif')){
    82                 if($infosVideo) {
    83                         // Récupérer les infos
    84                         $taille = $infosVideo->duration;
    85                         $auteur = $infosVideo->author;
    86                         // Remplir quelques champs de plus
    87                         $champs['taille'] = $taille;
    88                         $champs['credits'] = $auteur;
     85        /** Gérer le cas de la présence des champs de Médiathèque (parce que Mediatheque c'est le BIEN mais c'est pas toujours activé) **/
     86        $trouver_table=charger_fonction('trouver_table','base');       
     87        $desc = $trouver_table('spip_documents');
     88        if(array_key_exists('taille',$desc['field'])) if($infosVideo) $champs['taille'] = $infosVideo->duration;
     89        if(array_key_exists('credits',$desc['field'])) if($infosVideo) $champs['credits'] = $infosVideo->author;
     90        if(array_key_exists('statut',$desc['field'])) $champs['statut'] = 'prepa';
     91
     92        /* Cas de la présence d'une vignette à attacher */
     93        if($logoDocument){
     94                include_spip('inc/distant');
     95                if($fichier = preg_replace("#IMG/#", '', copie_locale($logoDocument))){ // set_spip_doc ne fonctionne pas... Je ne sais pas pourquoi
     96                        $champsVignette['fichier'] = $fichier;
     97                        $champsVignette['mode'] = 'vignette';
     98                       
     99                        // Recuperer les tailles
     100                        $champsVignette['taille'] = @intval(filesize($fichier));
     101                        $size_image = @getimagesize($fichier);
     102                        $champsVignette['largeur'] = intval($size_image[0]);
     103                        $champsVignette['hauteur'] = intval($size_image[1]);
     104                        // $infos['type_image'] = decoder_type_image($size_image[2]);
     105                       
     106                        // Ajouter
     107                        $id_vignette = sql_insertq('spip_documents',$champsVignette);
     108                        if($id_vignette) $champs['id_vignette'] = $id_vignette;
    89109                }
    90                 $champs['statut'] = 'publie';
     110                else{ spip_log("Echec du lien vers le document $logoDocument, abandon"); return $champs; }
    91111        }
    92 
     112       
    93113        $document = sql_insertq('spip_documents',$champs);
    94114        if($document){
  • _plugins_/videos/plugin.xml

    r44931 r44950  
    99        <licence>GPL &#169; 2010</licence>
    1010       
    11         <version>0.5.1</version>
     11        <version>0.6</version>
    1212        <version_base>0.3</version_base>
    1313       
Note: See TracChangeset for help on using the changeset viewer.