Skip to content
Extraits de code Groupes Projets
Valider cf4dc3c5 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

- Notice PHP sur suivre lien s'il n'y a pas de / dans l'url

- permettre d'attraper la taille d'un `<media:content` dans un flux rss (en relation avec #2941)
parent 0d66bd38
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -2196,6 +2196,8 @@ function afficher_tags($tags, $rels='tag,directory') { ...@@ -2196,6 +2196,8 @@ function afficher_tags($tags, $rels='tag,directory') {
* Passe un `<enclosure url="fichier" length="5588242" type="audio/mpeg"/>` * Passe un `<enclosure url="fichier" length="5588242" type="audio/mpeg"/>`
* au format microformat `<a rel="enclosure" href="fichier" ...>fichier</a>`. * au format microformat `<a rel="enclosure" href="fichier" ...>fichier</a>`.
* *
* Peut recevoir un `<link` ou un `<media:content` parfois.
*
* Attention : `length="zz"` devient `title="zz"`, pour rester conforme. * Attention : `length="zz"` devient `title="zz"`, pour rester conforme.
* *
* @filtre enclosure2microformat * @filtre enclosure2microformat
...@@ -2208,7 +2210,10 @@ function enclosure2microformat($e) { ...@@ -2208,7 +2210,10 @@ function enclosure2microformat($e) {
if (!$url = filtrer_entites(extraire_attribut($e, 'url'))) if (!$url = filtrer_entites(extraire_attribut($e, 'url')))
$url = filtrer_entites(extraire_attribut($e, 'href')); $url = filtrer_entites(extraire_attribut($e, 'href'));
$type = extraire_attribut($e, 'type'); $type = extraire_attribut($e, 'type');
$length = extraire_attribut($e, 'length'); if (!$length = extraire_attribut($e, 'length')) {
# <media:content : longeur dans fileSize. On tente.
$length = extraire_attribut($e, 'fileSize');
}
$fichier = basename($url); $fichier = basename($url);
return '<a rel="enclosure"' return '<a rel="enclosure"'
. ($url? ' href="'.htmlspecialchars($url).'"' : '') . ($url? ' href="'.htmlspecialchars($url).'"' : '')
......
...@@ -64,8 +64,10 @@ function suivre_lien($url, $lien) { ...@@ -64,8 +64,10 @@ function suivre_lien($url, $lien) {
if (preg_match(',^(mailto|javascript):,iS', $lien)) if (preg_match(',^(mailto|javascript):,iS', $lien))
return $lien; return $lien;
if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
$r = array_pad($r, 2, null);
return $r[1].resolve_path($r[2]); return $r[1].resolve_path($r[2]);
}
# L'url site spip est un lien absolu aussi # L'url site spip est un lien absolu aussi
if ($lien == $GLOBALS['meta']['adresse_site']){ if ($lien == $GLOBALS['meta']['adresse_site']){
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter