Changeset 92995 in spip-zone


Ignore:
Timestamp:
Nov 18, 2015, 11:14:51 AM (4 years ago)
Author:
cedric@…
Message:

On etend la prise en charge de _SYNDICATION_DEREFERENCER_URL a tout flux en verifiant que les URLs syndiquees ne sont pas des redirections, et en recuperant l'URL finale le cas echeant

Location:
_core_/branches/spip-3.0/plugins/sites
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.0/plugins/sites/inc/syndic.php

    r92523 r92995  
    265265                $data['url'] = url_absolue(filtrer_entites($data['url']), $url_syndic);
    266266
     267                // si on demande un dereferencement de l'URL, il faut verifier que ce n'est pas une redirection
     268                if (_SYNDICATION_DEREFERENCER_URL){
     269                        $target = $data['url'];
     270                        include_spip("inc/distant");
     271                        for ($i = 0; $i<10; $i++){
     272                                // on fait un GET et pas un HEAD car les vieux SPIP ne repondent pas la redirection avec un HEAD (honte) sur un article virtuel
     273                                $res = recuperer_lapage($target, false, "GET", 4096);
     274                                if (!$res) break; // c'est pas bon signe car on a pas trouve l'URL...
     275                                if (is_array($res))     break; // on a trouve la page, donc on a l'URL finale
     276                                $target = $res; // c'est une redirection, on la suit pour voir ou elle mene
     277                        }
     278                        // ici $target est l'URL finale de la page
     279                        $data['url'] = $target;
     280                }
     281
    267282                // Trouver les microformats (ecrase les <category> et <dc:subject>)
    268283                if (preg_match_all(
  • _core_/branches/spip-3.0/plugins/sites/paquet.xml

    r92992 r92995  
    22        prefix="sites"
    33        categorie="edition"
    4         version="1.7.15"
     4        version="1.7.16"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.