Changeset 96800 in spip-zone


Ignore:
Timestamp:
Apr 25, 2016, 1:40:46 PM (4 years ago)
Author:
cedric@…
Message:

bugfix suite de r95872 : generer des urls en http quand le site public est en http, meme si le site prive est en https

Location:
_plugins_/newsletters/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/newsletters/trunk/action/fixer_newsletter.php

    r93686 r96800  
    2424        }
    2525
     26        $base = newsletter_url_base();
    2627        include_spip('inc/autoriser');
    2728        if (autoriser('modifier', 'newsletter', $id_newsletter)){
     
    3637                                        $src = $matche[2];
    3738                                        if (!isset($images[$src])){
    38                                                 if ($url = newsletter_fixer_image($src,$id_newsletter))
    39                                                         $images[$src] = url_absolue($url);
     39                                                if ($url = newsletter_fixer_image($src,$id_newsletter)){
     40                                                        $images[$src] = url_absolue($url,$base);
     41                                                }
    4042                                        }
    4143                                        $img = $matche[0];
  • _plugins_/newsletters/trunk/newsletters_fonctions.php

    r95872 r96800  
    1414
    1515/**
     16 * URL de base de la newsletter, qui respecte le protocole http/https du site public
     17 * independamment du protocole http/https du site prive
     18 * @return string
     19 */
     20function newsletter_url_base(){
     21        $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
     22        // respecter le protocole http/https de l'adresse principale du site
     23        // car le back-office peut etre en https, mais le site public en http
     24        $protocole = explode("://",$GLOBALS['meta']['adresse_site']);
     25        $protocole = reset($protocole) . ":";
     26        $base = $protocole . protocole_implicite($base);
     27        return $base;
     28}
     29
     30/**
    1631 * un filtre pour transformer les URLs relatives en URLs absolues ;
    1732 * ne s'applique qu'aux textes contenant des liens
     
    2540function newsletters_liens_absolus($texte, $base='') {
    2641        if (!$base) {
    27                 $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
    28                 // respecter le protocole http/https de l'adresse principale du site
    29                 // car le back-office peut etre en https, mais le site public en http
    30                 $protocole = explode("://",$GLOBALS['meta']['adresse_site']);
    31                 $protocole = reset($protocole) . ":";
    32                 $base = $protocole . protocole_implicite($base);
     42                $base = newsletter_url_base();
    3343        }
    3444
     
    196206 */
    197207function newsletter_fixer_image($src,$id_newsletter){
     208        static $url_base = null;
    198209        static $dir = array();
    199210        if (!isset($dir[$id_newsletter])){
     
    204215
    205216        // recuperer l'image par copie directe si possible
    206         if (strncmp($src,$GLOBALS['meta']['adresse_site'].'/',$l=strlen($GLOBALS['meta']['adresse_site'].'/'))==0)
    207                 $src = _DIR_RACINE . substr($src,$l);
     217        if (is_null($url_base)){
     218                $url_base = protocole_implicite($GLOBALS['meta']['adresse_site'].'/');
     219        }
     220        if (strncmp(protocole_implicite($src),$url_base,$l=strlen($url_base))==0){
     221                $src = _DIR_RACINE . substr(protocole_implicite($src),$l);
     222        }
    208223        $url = parse_url($src);
    209224
  • _plugins_/newsletters/trunk/paquet.xml

    r96627 r96800  
    22        prefix="newsletters"
    33        categorie="communication"
    4         version="1.3.20"
     4        version="1.3.21"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.