[spip-dev] Nouveau compilateur et cacheur

C'est la cuisine dans le inc-login que je n'ai pas encore réussi à comprendre entièrement.

esj

oui, bon, en fait à l'origine mon souci était de donner des messages d'erreur
en cas de squelette mal écrit (ce manque était très gênant quand on début),
et suite à une demande sur spip-dev, je me suis dis que puisque j'avais le code
qui repérait la situation, autant en faire qqch de plus positif.
Cela dit, ma solution demande les requetes imbriquées de MySQL4.1, c'est pas top
et on peut y renoncer.

esj

Encore moi

J'ai aussi les warnings suivants après l'installation : Call-time pass-by-reference

URL : http://localhost/~jlb/spip/spip_login.php3?var_url=ecrire%2Findex.php3
serveur : Apache/1.3.29 (Darwin) PHP/4.3.6

Où :

/Users/jlb/Sites/spip/inc-public.php3 on line 78
/Users/jlb/Sites/spip/inc-public-global.php3 on line 28
/Users/jlb/Sites/spip/inc-cache.php3 on line 234
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 109
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 197
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 210
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 217
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 219
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 221
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 236
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 238
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 239
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 314
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 330
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 339
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 347
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 356
/Users/jlb/Sites/spip/inc-calcul-squel.php3 on line 371
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 17
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 71
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 80
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 91
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 103
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 113
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 123
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 291
/Users/jlb/Sites/spip/inc-arg-squel.php3 on line 303
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 8
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 38
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 41
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 49
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 57
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 66
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 108
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 117
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 133
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 139
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 146
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 153
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 160
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 166
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 173
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 180
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 186
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 189
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 195
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 201
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 207
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 213
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 220
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 227
/Users/jlb/Sites/spip/inc-logo-squel.php3 on line 230
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 48
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 50
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 62
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 78
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 97
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 99
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 106
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 108
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 115
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 117
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 124
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 126
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 128
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 136
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 137
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 138
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 139
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 140
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 141
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 153
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 156
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 158
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 167
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 171
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 175
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 179
/Users/jlb/Sites/spip/inc-form-squel.php3 on line 186
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 17
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 18
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 19
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 62
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 70
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 78
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 86
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 93
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 98
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 103
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 145
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 191
/Users/jlb/Sites/spip/inc-vrac-squel.php3 on line 272
/Users/jlb/Sites/spip/inc-index-squel.php3 on line 89
/Users/jlb/Sites/spip/inc-index-squel.php3 on line 93
/Users/jlb/Sites/spip/inc-index-squel.php3 on line 100
/Users/jlb/Sites/spip/inc-index-squel.php3 on line 125
/Users/jlb/Sites/spip/inc-text-squel.php3 on line 50
/Users/jlb/Sites/spip/inc-html-squel.php3 on line 266
/Users/jlb/Sites/spip/inc-html-squel.php3 on line 305
/Users/jlb/Sites/spip/inc-html-squel.php3 on line 306
/Users/jlb/Sites/spip/inc-html-squel.php3 on line 307
/Users/jlb/Sites/spip/inc-html-squel.php3 on line 308

Cordialement

Cela dit, ma solution demande les requetes imbriquées de MySQL4.1, c'est
pas top et on peut y renoncer.

Je pense qu'il vaut mieux en effet que les critères juxtaposés {x}{y}
restent systématiquement x ET y ; par contre s'il y a moyen d'implanter le
IN, ça serait chic (surtout si on peut fixer l'ordre de la sélection comme
étant, par défaut, celui précisé par le IN).

-- Fil

>>>Si c'est le cas, il faut trouver un parade, sinon ça va bloquer le
>>>fonctionnement des sites sous SPIP qui feront la mise-à-jour.
>>
>>Ca concerne tout ceux qui ont les "boutons admin" après connexion. De
>>meme que Fil proposaient de vider le cache automatiquement à l'install',
>>il faudrait aussi faire un setcookie false en fait.
>
>En quoi est-ce nécessaire de urger les cookies ? Autrement dit, d'où
>vient le bug ?

C'est la cuisine dans le inc-login que je n'ai pas encore réussi à
comprendre entièrement.

Chez moi aucun problème n'est apparu. S'il s'avère impératif de négliger les
cookies, en tout cas, la réponse la plus simple est de modifier leur nom
dans le code (spip_name au lieu de spip_login, etc.), plutôt que de chercher
à détecter les cookies et de les effacer.

-- Fil

Mon truc consiste à générer autant de boucles que nécessaire à partir
d'une seule dans le squelette.

....

ma modif se chargeait de générer la deuxième solution à partir de la
première lors de la phase 2 (cf. ton article sur contrib) du
compilateur...

...

Mais bon, t'embête pas trop avec ça

Juste un tuyau: avec le compilo actuel,
tu devrais plutot détourner une boucle hiérarchie
pour tout faire en phase 1 et profiter du cache.

esj

Bon, chez moi l'install a totalement foiré. Je n'avais pas vidé le cache, c'est p'têt ça (je suppose que je ne saurai jamais).

En tout cas, faut absolument que la mise à jour soit aussi simple qu'avant. Là, je viens de refaire une install 1.7, j'ai dû carrément effacer la base de donnée avec phpMyAdmin, et je vais retenter une mise à jour 1.8. La mise-à-jour ne doit vraiment pas se dérouler comme ça :-))

ARNO*

....

je suis perplexe: ligne 78 il y a bien un &$ pour un appel de fonction
(ramener_cache) qui a déclaré le paramètre correspondant en &$ aussi:
ce passage par référence n'est donc pas "call-time" mais "compile-time".
Le message d'erreur etant donc faux, je ne sais que faire.
Si qq a une idée.

esj

Le message d'erreur etant donc faux, je ne sais que faire.
Si qq a une idée.

Reprogrammer SPIP en python ?

-- Fil

tout simplement virer le & côté appelant :wink:

Oui, je viens de lire :
http://www.php.net/manual/en/language.references.pass.php
et je comprends qu'en ayant ajouté le & dans la définition,
il croit maintenant que je passe une référence en référence !

Je change tout de suite.

esj

j'ai retiré les &$ coté appelant, ça semble aller.

esj

je suis perplexe: ligne 78 il y a bien un &$ pour un appel de fonction
(ramener_cache) qui a déclaré le paramètre correspondant en &$ aussi:
ce passage par référence n'est donc pas "call-time" mais "compile-time".
Le message d'erreur etant donc faux, je ne sais que faire.

Le message d'erreur est bon mais il faut savoir l'interpréter :slight_smile:
A savoir que tu faisais à la fois du "call-time" et du "compile-time"
(ou plutôt "declaration-time").

Amicalement

Antoine.

Si ça recommence, dis précisément comment ça foire, parce que moi aussi j'aimerais que ça se déroule autrement.

esj

Dire précisément, c'est pas possible: écran vide.

Voir là:
http://arno.rezo.net/

ARNO*

Voir là:
http://arno.rezo.net/

C'est pas totalement vide, chez moi ça met un code :

<script type='text/javascript'><!--
  function admin(){}
--></script>

En revanche sur l'autre site totalement planté, rien ne vient.

-- Fil

Bonjour,

Petit bug dans #LOGIN_PUBLIC

Quand la réécriture d'URL est active, le action="" de #LOGIN_PUBLIC contient l'URL réécrite sans les arguments.

Exemple :

dans la page d'URL : rubrique.php3?id_rubrique=1

Si j'y accède via cette url, le action="" contient rubrique.php3?id_rubrique=1. Par contre si j'y accède via rubrique1.html, le action="" ne contient que rubrique.php3 (il faudrait qu'elle contienne rubrique1.html)

A+