Textwheel : Call to undefined function lien_is_url_externe()

Bonjour,
En adaptant un plugin de charte graphique à Spip 4.1.9 (depuis Spip 3.2), on obtient une erreur textwheel lorsque le texte d’un article contient une URL seule, sans crochet :

Erreur d’exécution plugins/(...)/article.html | File […]/plugins-dist/textwheel/inc/autoliens.php Line 43 : Call to undefined function lien_is_url_externe()

La fonction « lien_is_url_externe() » est bien définie dans « plugins-dist/textwheel/inc/lien.php » :

function lien_is_url_externe($url_lien) {
	if (
		preg_match(',^\w+://,iS', $url_lien)
		and strncasecmp($url_lien, url_de_base(), strlen(url_de_base()))
	) {
		return true;
	}

	return false;
}

Et du coup je n’obtiens plus d’erreur en ajoutant cette fonction dans le fichier « mes_options.php ».

Mais ne s’agit-il pas d’un bug ? Est-ce une bonne pratique que d’intégrer une telle fonction dans « mes_options.php » ?

Bon je dois être le seul à avoir rencontré cette erreur avec textwheel.
Donc l’ajout de la fonction dans mes_options.php sera la solution.
À vérifier lorsqu’une nouvelle version de textwheel sera à déployer.

Je crois qu’il y a eu des changements à un moment qui font que parfois certains fichiers qui étaient inclus ne le sont plus.
Mais pour te répondre : non, ce n’est pas une bonne pratique de copier le code de la fonction dans le mes_options car 1) ça risque de provoquer des erreurs de double définition (tu as de la chance que ça marche là) et 2) ça ne sera pas mis à jour si le code de la fonction évolue.
En général il faut inclure le fichier qui définit cette fonction dans le code juste avant l’endroit où il y en a besoin. (Donc là ça serait être dans le code de SPIP ? C’est étonnant, ou peut être ton plugin fait des trucs spéciaux.)
Et sinon et dans ton cas, c’est include_spip('inc/lien'); qui doit plutôt être inséré dans le fichier d’options prefixeduplugin_options.php de ton plugin.