Changeset 93685 in spip-zone


Ignore:
Timestamp:
Dec 14, 2015, 2:59:34 PM (4 years ago)
Author:
cedric@…
Message:

Utiliser le proxy configuré dans SPIP pour récupérer les URLs embed http://contrib.spip.net/oEmbed-4407#forum484935
+ renommage variable plus clair et PHPDoc

Location:
_plugins_/oembed
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/oembed/inc/oembed_recuperer_url.php

    r93009 r93685  
    88if (!defined('_ECRIRE_INC_VERSION')) return;
    99
    10 
    11 function inc_oembed_recuperer_url($data_url,$url,$format){
     10/**
     11 * Recuperer une URL oembed, si possible via curl et IPv4 pour contourner le bug de Youtube sur les IPv6
     12 *
     13 * @param string $oembed_url
     14 * @param string $url
     15 * @param string $format
     16 * @return bool|mixed|string
     17 */
     18function inc_oembed_recuperer_url($oembed_url,$url,$format){
    1219        $data = false;
    1320
     
    1522        // si possible via curl en IPv4 car youtube bug en IPv6
    1623        if (function_exists('curl_init')){
    17                 spip_log('Requete oembed (curl) pour '.$url.' : '.$data_url,'oembed.'._LOG_DEBUG);
     24                spip_log('Requete oembed (curl) pour '.$url.' : '.$oembed_url,'oembed.'._LOG_DEBUG);
    1825                $c = curl_init();
    1926                curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    20                 curl_setopt($c, CURLOPT_URL, $data_url);
     27                curl_setopt($c, CURLOPT_URL, $oembed_url);
     28
     29                if (isset($GLOBALS['meta']["http_proxy"]) AND $GLOBALS['meta']["http_proxy"]){
     30                  curl_setopt($c, CURLOPT_PROXY, $GLOBALS['meta']["http_proxy"]);
     31                        if (isset($GLOBALS['meta']["http_noproxy"])){
     32                                curl_setopt($c, CURLOPT_NOPROXY, $GLOBALS['meta']["http_proxy"]);
     33                        }
     34                }
     35
    2136                // the real trick for Youtube :
    2237                // http://stackoverflow.com/questions/26089067/youtube-oembed-api-302-then-503-errors
     
    2742        }
    2843        else {
    29                 spip_log('Requete oembed (recuperer_page) pour '.$url.' : '.$data_url,'oembed.'._LOG_DEBUG);
     44                spip_log('Requete oembed (recuperer_page) pour '.$url.' : '.$oembed_url,'oembed.'._LOG_DEBUG);
    3045                include_spip('inc/distant');
    31                 $data = recuperer_page($data_url);
     46                $data = recuperer_page($oembed_url);
    3247        }
    3348
     
    3853                // TODO : format xml
    3954                //if ($format == 'xml')
    40                 //      $cache[$data_url] = false;
     55                //      $cache[$oembed_url] = false;
    4156        }
    4257
  • _plugins_/oembed/paquet.xml

    r93344 r93685  
    22        prefix="oembed"
    33        categorie="multimedia"
    4         version="1.5.3"
     4        version="1.5.4"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.