Changeset 92997 in spip-zone


Ignore:
Timestamp:
Nov 18, 2015, 1:56:23 PM (4 years ago)
Author:
cedric@…
Message:

Report de r92995 : 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_/plugins/sites
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/sites

  • _core_/plugins/sites/inc/syndic.php

    r92522 r92997  
    288288                $data['url'] = url_absolue(filtrer_entites($data['url']), $url_syndic);
    289289
     290                // si on demande un dereferencement de l'URL, il faut verifier que ce n'est pas une redirection
     291                if (_SYNDICATION_DEREFERENCER_URL){
     292                        $target = $data['url'];
     293                        include_spip("inc/distant");
     294                        for ($i = 0; $i<10; $i++){
     295                                // 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
     296                                $res = recuperer_lapage($target, false, "GET", 4096);
     297                                if (!$res) break; // c'est pas bon signe car on a pas trouve l'URL...
     298                                if (is_array($res))     break; // on a trouve la page, donc on a l'URL finale
     299                                $target = $res; // c'est une redirection, on la suit pour voir ou elle mene
     300                        }
     301                        // ici $target est l'URL finale de la page
     302                        $data['url'] = $target;
     303                }
     304
    290305                // Trouver les microformats (ecrase les <category> et <dc:subject>)
    291306                if (preg_match_all(
  • _core_/plugins/sites/paquet.xml

    r92993 r92997  
    22        prefix="sites"
    33        categorie="edition"
    4         version="1.9.16"
     4        version="1.9.17"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.