[oembed ↪ providers-interdits] 3 commits

spip-contrib-extensions/oembed | 3 commits

Par Glop, le 19 juillet 2021 à 13h28min :

Pouvoir interdire explicitement certains providers

Il est parfois nécessaire de pouvoir interdire certains providers
oEmbed, tout en gardant l’option detecter_lien activée. (Par exemple
lorsqu’on a un alias de nom de domaine www.monsite.tld → monsite.tld :
oEmbed ne détecte pas www.monsite.tld comme un lien vers lui-même.)

Ce patch permet de considérer les providers dont l’endpoint a été mis
à la chaîne vide '' comme étant explicitement interdits : même si
detecter_lien est activée, oEmbed n’ira pas voir s’il s’agit d’un
provider oEmbed.

Le principe est que oembed_verifier_provider() ne renvoie false
que lorsque le provider n’est pas dans la liste des providers connus,
mais renvoie array('endpoint' => '') lorsque le provider est interdit
(y compris dans le cas d’un lien vers soi-même).

Modifié
inc/oembed.php
oembed_pipelines.php

Détails : Pouvoir interdire explicitement certains providers · 9a49c4cef5 - oembed - SPIP on GIT

==============================
Par Glop, le 19 juillet 2021 à 13h51min :

Test désormais inutile dans oembed_embarquer_lien()

Le commit précédent fait en sorte qu’un lien vers soi-même soit
détecté et interdit lorsque oembed_recuperer_data() appelle
oembed_verifier_provider() : dans le cas d’un lien vers soi-même,
cette dernière renvoie un provider dont l’endpoint est vide, ce qui
force oembed_recuperer_data() à considérer le provider comme interdit.

Il n’est donc plus nécessaire de faire le test dans
oembed_embarquer_lien() : le modèle modeles/oembed se charge
d’appeler oembed_recuperer_data() et donc de faire lui-même la
vérification.

Modifié
inc/oembed.php

Détails : Test désormais inutile dans oembed_embarquer_lien() · 57c8471751 - oembed - SPIP on GIT

==============================
Par Glop, le 19 juillet 2021 à 14h04min :

Support de l’option detecter_lien dans le filtre |oembed

Le filtre |oembed ne tenait pas compte de l’option de configuration
detecter_lien si celle-ci était activée.

Modifié
oembed_fonctions.php

Détails : Support de l'option `detecter_lien` dans le filtre `|oembed` · e159b2e650 - oembed - SPIP on GIT