Changeset 104855 in spip-zone


Ignore:
Timestamp:
Jun 14, 2017, 8:58:07 AM (2 years ago)
Author:
cedric@…
Message:

Securisation de la vignette utilisee sur les oembed rich/video async si on utilise acces restreint et/ou des urls arbos

Location:
_plugins_/oembed
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/oembed/modeles/oembed_rich.html

    r103216 r104855  
    33<div class="oembed oe-rich[(#GET{async}|oui)async] clearfix[ (#ENV{align})]" style="max-width:#ENV{data/width}px;">
    44        <div class="rwd-rich-container[(#GET{async}|oui)oe-play-button]"
    5              style="width:100%;[height:(#ENV{data/height})px;][background:url('(#GET{thumbnail})') no-repeat center;background-size:cover;]"
     5             style="width:100%;[height:(#ENV{data/height})px;][background:url('(#GET{thumbnail}|oembed_safe_thumbnail)') no-repeat center;background-size:cover;]"
    66                         [(#GET{async}|oui)
    77             onclick="if (jQuery(this).is('.oe-play-button')){jQuery(this).removeClass('oe-play-button').addClass('loading').html(decodeURIComponent('[(#ENV*{data/html}|oembed_force_video_autoplay|rawurlencode|texte_script)]'));}"
  • _plugins_/oembed/modeles/oembed_video.html

    r103216 r104855  
    33<div class="oembed oe-video[(#GET{async}|oui)async] clearfix[ (#ENV{align})]" style="max-width:#ENV{data/width}px;">
    44        <div class="rwd-video-container[(#GET{async}|oui)oe-play-button]"
    5                 style="width:100%;height:0;padding-bottom:[(#ENV{data/height}|div{#ENV{data/width}}|mult{100}|round{2})]%;[background-image:url('(#GET{thumbnail})');background-repeat:no-repeat;background-position:center;background-size:cover;]"
     5                style="width:100%;height:0;padding-bottom:[(#ENV{data/height}|div{#ENV{data/width}}|mult{100}|round{2})]%;[background-image:url('(#GET{thumbnail}|oembed_safe_thumbnail)');background-repeat:no-repeat;background-position:center;background-size:cover;]"
    66                         [(#GET{async}|oui)
    77                        onclick="if (jQuery(this).is('.oe-play-button')){jQuery(this).removeClass('oe-play-button').addClass('loading').html(decodeURIComponent('[(#ENV*{data/html}|oembed_force_video_autoplay|rawurlencode|texte_script)]'));}"
  • _plugins_/oembed/oembed_fonctions.php

    r104338 r104855  
    174174        return $texte;
    175175}
     176
     177/**
     178 * Securiser la vignette utilisee pour les videos oembed en mode async :
     179 * si c'est une image locale il faut
     180 * - en faire une copie dans local/ via image_reduire pour le cas ou acces_retreint
     181 * - appliquer url_absolue dessus car si on est sur une page avec url arbo le <base> ne s'appliquera pas dans le style inline
     182 * @param string $img
     183 * @return string
     184 */
     185function oembed_safe_thumbnail($img) {
     186
     187        if (!tester_url_absolue($img) and file_exists($img)) {
     188                if (!function_exists('image_filtrer')) {
     189                        include_spip('inc/filtres');
     190                }
     191                $img = image_filtrer(array('image_reduire', $img, 1200, 1200));
     192                $img = image_filtrer(array('image_graver', $img));
     193                $img = extraire_attribut($img, 'src');
     194                $img = url_absolue($img);
     195        }
     196
     197        return $img;
     198}
  • _plugins_/oembed/paquet.xml

    r103989 r104855  
    22        prefix="oembed"
    33        categorie="multimedia"
    4         version="1.8.2"
     4        version="1.8.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.