spip-contrib-extensions/oembed | 5 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 · cdc6ad45cd - oembed - SPIP on GIT
==============================
Par Cerdic, le 10 mars 2022 à 11h33min :
on eviter de changer le comportement par defaut de la fonction oembed_lister_providers() en lui ajoutant un parametre pour avoir la liste complete avec les providers interdits
Modifié
inc/oembed.php
oembed_pipelines.php
==============================
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() · 2f7eb65f62 - oembed - SPIP on GIT
==============================
Par Cerdic, le 10 mars 2022 à 12h00min :
Une fonction oembed_provider_from_url() qui prend en compte la liste declarative + la detection eventuelle, que l’on peut reutiliser dans oembed_embarquer_lien() pour eviter de calculer un modele pour rien
- mise au propre de l’option detecter_lien en bool|null pour forcer/interdire/automatique au lieu d’une string oui/non dont le non voulait en fait dire ‹ auto ›. On supporte les appels existants avec oui ou non pour ne rien casser
- oembed_verifier_provider() prend en compte l’adresse officielle du site (en meta) ainsi que l’adresse courante pour detecter le cas d’un oembed vers soi meme
Modifié
inc/oembed.php
oembed_pipelines.php
spip-cli/OembedRecupererData.php
==============================
Par Glop, le 19 juillet 2021 à 14h04min :
Utiliser aussi oembed_provider_from_url() dans le filtre |oembed pour prendre en compte les providers interdit ainsi que la configuration de la detection de liens si elle est activee
- utiliser une static dans oembed_provider_from_url() pour ne pas faire 2 fois la detection d’une meme url
Modifié
inc/oembed.php
oembed_fonctions.php