Humm,
Il n'y a aucun sabot.
La compatibilité est assurée, je n'ai pas reproduit ton erreur, ni sous SPIP 2.0, ni sous SPIP 2.1 : bref, aucun @href.
Sous SPIP 1.92, le @href est bien présent, mais la version de jQuery en privé est 1.1.1.
Tu dois avoir une vieille version du plugin, un peu de mauvaise foi, ou un gros problème de cache...
Pat
RastaPopoulos a écrit :
Le 23.03.2009 14:14, Pat a écrit :
En principe, ce pb a été corrigé ya un moment...
Es-tu sûr d'avoir mis à jour le CS !?
C'est avec le paquet téléchargé automatiquement depuis le RSS de contrib. Un sabot quelque part ?
Pas de sabot effectivement puisque la version indiquée est la "1.8.06.08" qui est bien celle du trunk. Donc je n'ai pas une vieille version.
J'ai SPIP 2.0.6, et j'ai installé le couteau suisse par le RSS de spip-contrib.
Et quand je vais dans l'admin du Couteau Suisse, j'ai cette erreur :
"""""""""""""""
[Exception... "'Syntax error, unrecognized expression: [@href*='cmd=install']' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]
"""""""""""""""
Je fais donc un grep sur le plugin et je vois que dans le code, ligne 196 de exec/admin_couteau_suisse.php, il y a :
"""""""""""""""
jQuery(\"div.cs_aide a["._SEL_JQUERY."href*='cmd=install']\").click( function() {
"""""""""""""""
Je refais donc un grep et je vois que ligne 11 de config_outils.php il y a :
"""""""""""""""
config_outils.php:11:@define('_SEL_JQUERY', defined('_SPIP19300')?'':'@');
"""""""""""""""
Ce qui donne *effectivement* un arobase dans le sélecteur au final.
Qui est-ce qui est de mauvaise foi ? Hihi.
--
RastaPopoulos
P.S. : Il y a aussi un arobase ligne 9 de outils/set_options.php.
Je fais donc un grep sur le plugin et je vois que dans le code, ligne 196 de exec/admin_couteau_suisse.php, il y a :
"""""""""""""""
jQuery(\"div.cs_aide a["._SEL_JQUERY."href*='cmd=install']\").click( function() {
"""""""""""""""
Je refais donc un grep et je vois que ligne 11 de config_outils.php il y a :
"""""""""""""""
config_outils.php:11:@define('_SEL_JQUERY', defined('_SPIP19300')?'':'@');
Cette ligne veut exactement dire que si on est sous SPIP > 1.92 alors on ne met pas d'arobase...
Ce qui donne *effectivement* un arobase dans le sélecteur au final.
C'est pas normal, bien sûr : que vaut la constante '_SPIP19300' sous SPIP 2.0.6 ? En principe : 1
Voici le code (config_options.php:19) :
if (version_compare($GLOBALS['spip_version_code'],'1.9300','>=')) { @define('_SPIP19300', 1); @define('_SPIP19200', 1);
(...)
}
Qui est-ce qui est de mauvaise foi ? Hihi.
Pas la mauvaise fois, allez, je m'emporte L'inattention peut-être ?
Si bug il y a vraiment, tu vas/on va le trouver
N'aurais-tu pas un autre @define('_SPIP19300',...) quelque part dans tes plugins ? N'hésite pas à mettre quelques 'echo' ici ou là...
P.S. : Il y a aussi un arobase ligne 9 de outils/set_options.php.
Oui, ça c'est normal, cet outil n'est plus disponible à partir de la version 2.0 de SPIP.
Après certaines précisions sur IRC (notamment un changement de version forcé de jQuery), le bug est a priori fixé.
Après mise à jour du Couteau Suisse, le test sur '[@' se fait désormais en JavaScript, en fonction de la version de jQuery, et non en PHP, en fonction de la version de SPIP.
Ça prend un poil de ressource serveur en moins, un poil de ressource client en plus, et ça contente tout le monde désormais.
Pat
RastaPopoulos a écrit :
Apparemment on ne peut plus configurer le CS avec jQuery 1.3.2.
Les sélecteurs ne sont plus bons.
syntax error : [@href*='cmd=install']
Ça ne doit plus marcher avec jQuery 1.3. Il doit y avoir une autre écriture qui marche sur 1.2 et 1.3...