[spip-dev] Compatibilité ascendante: attention aux plugins

Salut,

Je viens d'introduire un appel «bidon» à inc/couleurs dans /ecrire/index.php, avec une petite modif de inc/couleurs qui passe les couleurs en variables globales. On ne peut en effet pas tout bonnement faire disparaître $GLOBALS["couleur..."]: j'ai des plugins qui ont besoin de pouvoir manipuler ces valeurs.

Arnaud

Je trouve vraiment contrariant qu'on ralentisse le fichier central "ecrire/index.php" avec le chargement d'un fichier ignorant l'usage systématique des CSS qui est la méthode normale de développement aujourd'hui. Je sais bien que ça introduit une incompatibilité, mais je pense que les plugins qui ont le pb peuvent introduire chacun ce bout de code dans une surcharge de commencer_page plutot que de ralentir tout le monde. Regarde
http://trac.rezo.net/trac/spip/changeset/9027
qui a évacué ces variables, il y a indiqué comment s'en passer de manière plus légère.
A noter que ça remonte à 4 mois et que personne ne s'en est plaint.

Committo,Ergo:Sum

OK, je vire l'appel depuis ecrire/index. Je laisse la modif dans inc/presentation (celle qui balance les résultats en variables globales), qui m'est tout de même indispensable.

Et pour conserver la compatibilité, j'ajoute ceci en début de mon plugin:

if ($GLOBALS["spip_version"] >= 1.93) {
  $couleurs = charger_fonction('couleurs', 'inc');
  $var = $couleurs($GLOBALS['auteur_session']['prefs']['couleur']);
}

Pour ce qui est des CSS, je suis d'accord, le code est beaucoup plus agréable sans tous les appels aux variables globales. Mais là, je n'ai pas besoin de CSS, bicoz je fabrique des fichiers Flash à la volée, et pour cela j'ai besoin des variables globales à balancer dans des fichiers de configuration XML.

Arnaud

OK, je vire l'appel depuis ecrire/index. Je laisse la modif dans inc/presentation (celle qui balance les résultats en variables globales), qui m'est tout de même indispensable.

tu veux dire inc/couleurs ?

Et pour conserver la compatibilité, j'ajoute ceci en début de mon plugin:

if ($GLOBALS["spip_version"] >= 1.93) {
  $couleurs = charger_fonction('couleurs', 'inc');
  $var = $couleurs($GLOBALS['auteur_session']['prefs']['couleur']);
}

exactement.

Pour ce qui est des CSS, je suis d'accord, le code est beaucoup plus agréable sans tous les appels aux variables globales. Mais là, je n'ai pas besoin de CSS, bicoz je fabrique des fichiers Flash à la volée, et pour cela j'ai besoin des variables globales à balancer dans des fichiers de configuration XML.

J'ai évacué l'init des couleurs dans ecrire/index.php pour des raisons symétriques: il y a maintenant beaucoup de petits scripts Ajax qui n'ont pas besoin de ces variables puisqu'il seront colorés par la CSS construite dynamiquement lors du chargement de la page qui les commande.

Committo,Ergo:Sum

* Martin Arnaud tapotait, le 30/07/2007 09:53:

je fabrique des fichiers Flash à la volée

C'est sur la zone ?

RealET a écrit :

* Martin Arnaud tapotait, le 30/07/2007 09:53:
  

je fabrique des fichiers Flash à la volée
    

C'est sur la zone ?

pourquoi tu poses la question puisque tu sais très bien que non ?

Bon ben finalement, le plugin en question est sur la zone, expliqué (et téléchargeable) là:
http://www.paris-beyrouth.org/Le-plugin-PB-Charts

Arnaud

Martin Arnaud a écrit :

Bon ben finalement, le plugin en question est sur la zone, expliqué (et téléchargeable) là:
Le plugin PB Charts - 23FORWARD

mazettte, tu perds pas la main ni l'imagination, toi...
JL