Vimeo plante en tant que document distant

ARNO* <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Salut,

J’ai l’habitude de référencer des pages Viméo comme documents joints. De manière très usuelle, dans un article, «Joindre document», onglet «Sur l’internet», je colle par exemple:
https://vimeo.com/304775757
et hop, ça me met la page en tant que document distant joint à l’article, avec le titre récupéré. 

Sauf que depuis quelques jours, ça ne fonctionne plus. 

- En local sur ma bécane, ça fonctionne.

- Sur un serveur Web en ligne, ça déconne, le document n’est «pas trouvé»: 



Je suis allé jouer avec inc/distant.php, mais je n’arrive pas à trouver où ça foire avec Viméo (avec Youtube, par exemple, pas de problème).

Il me semble qu’on arrive à récupérer le contenu de la page, et on se retrouve à la ligne 447 avec:
		} elseif ($res) {
			$result['page'] = &$res;
			$result['length'] = strlen($result['page']);
		}

Là j’ai quelque chose que je ne comprends pas: on renseigne le $result[‘page’], mais on laisse $result[‘status’] à 0. Du coup, dans recuperer_page, un résultat obtenu de cette façon là est jeté avec le test sur status!==200 de la ligne 625:
	if ($res['status'] !== 200) {
		return false;
	}



=======

Pour faire fonctionner Vimeo, j’y parviens en faisant la modif suivante:
inc/distant.php,  ligne 440 et suivantes=-;

	// si on a pas deja recuperer le contenu par une methode detournee
	if (!$result['length']) {
		$res = recuperer_body($handle, $options['taille_max'], $gz ? $gz : $copy);
		fclose($handle);
		if ($copy) {
			$result['length'] = $res;
			$result['file'] = $copy;
		} elseif ($res) {
			$result['status'] = 200;
			if (!$result['headers']) $result['headers'] .= "Content-Type: text/html";
			$result['page'] = &$res;
			$result['length'] = strlen($result['page']);
		}
	}

C’est-à-dire forcer le statuts à 200 et forcer le content-type à text/html.

Est-ce que quelqu’un peut valider ou invalider cette solution, et éventuellement comiter?

ARNO*


_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: http://www.spip.net/
dev: http://trac.rezo.net/trac/spip/
irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.