[SPIP Zone] [Spip-zone-commit] r26741 - /_plugins_/_test_/inscription2/inscription2_193/inscription2_mes_fonctions.php

Le 19 févr. 09 à 10:26, pierre.fiches@free.fr a écrit :

Author: pierre.fiches@free.fr
Date: Thu Feb 19 10:26:51 2009
New Revision: 26741

Log:
Lever toutes ambiguïtés pour Mysql 4.1 et php < 5.2

Hormis le tri, ?exec=inscription2_adherents fonctionne :slight_smile:

Le tri fonctionne sauf sur le login
par contre il y a un gros bug que je ne parviens pas à corriger :
la fonction lire_config n’est pas disponible au moment où la ligne 16 de base/inscription2 est lue
(foreach(lire_config(‹ inscription2 ›,array()) as $cle => $val) {)
ce qui provoque une page blanche sur l’espace privé sans qu’aucun message d’erreur ne le signale sur certains serveur en tout cas.

J’ai tenté d’ajouter un charger_fonction et un incude_spip sans succés.
Pour passer le cap j’ai changer lire_config en lire_meta,
j’ai recharger la page d’accès à l’espace privé,
remis lire_config (sinon on a une erreur après identification),
me suis identifié et ça roule
mais évidemment ce n’est pas une solution.

Une idée ?

pierre

Le 19 févr. 09 à 10:43, Pierre Fiches a écrit :

Le 19 févr. 09 à 10:26, pierre.fiches@free.fr a écrit :

Author: pierre.fiches@free.fr
Date: Thu Feb 19 10:26:51 2009
New Revision: 26741

Log:
Lever toutes ambiguïtés pour Mysql 4.1 et php < 5.2

Hormis le tri, ?exec=inscription2_adherents fonctionne :slight_smile:

Le tri fonctionne sauf sur le login
par contre il y a un gros bug que je ne parviens pas à corriger :
la fonction lire_config n'est pas disponible au moment où la ligne 16 de base/inscription2 est lue
(foreach(lire_config('inscription2',array()) as $cle => $val) {)
ce qui provoque une page blanche sur l'espace privé sans qu'aucun message d'erreur ne le signale sur certains serveur en tout cas.

J'ai tenté d'ajouter un charger_fonction et un incude_spip sans succés.
Pour passer le cap j'ai changer lire_config en lire_meta,
j'ai recharger la page d'accès à l'espace privé,
remis lire_config (sinon on a une erreur après identification),
me suis identifié et ça roule
mais évidemment ce n'est pas une solution.

Une idée ?

Ouep... peut être ...

virer l'appel dans mes_options de base/inscription2... qui ne devrait pas être nécessaire... étant donné que j'ai changé la méthode de déclaration des tables ...

Mais peut être que c'est justement le pipeline "declarer_tables_principales" qui est appelé trop tôt...

à tester...

kent1

Ouep… peut être …

virer l’appel dans mes_options de base/inscription2… qui ne devrait pas être nécessaire… étant donné que j’ai changé la méthode de déclaration des tables …

Mais peut être que c’est justement le pipeline « declarer_tables_principales » qui est appelé trop tôt…

Author: kent1@arscenic.info
Date: Thu Feb 19 12:01:31 2009
New Revision: 26744

ton dernier commit résout le bug, merci.

pierre

Le 21 févr. 09 à 09:19, Pierre Fiches a écrit :

Ouep… peut être …

virer l’appel dans mes_options de base/inscription2… qui ne devrait pas être nécessaire… étant donné que j’ai changé la méthode de déclaration des tables …

Mais peut être que c’est justement le pipeline « declarer_tables_principales » qui est appelé trop tôt…

Author: kent1@arscenic.info
Date: Thu Feb 19 12:01:31 2009
New Revision: 26744

ton dernier commit résout le bug, merci.

En fait non le bug est toujours là. Il est juste déplacé juste après l’identification.
On peut maintenant s’identifier mais l’espace privé est en fatal error à cause toujours de lire config qui n’est pas chargé.
une béquille (en gras) pas terrible qui semble permettre de passer le cap
(semble empêcher le message Feb 24 08:02:19 ::1 (pid 11122) Erreur - ‹ inscription2_declarer_tables_principales › non definie ! dans prive_spip.log) :

function inscription2_declarer_tables_principales($tables_principales){
$spip_auteurs_elargis[‹ id_auteur ›] = « bigint(21) NOT NULL »;

if (!function_exists(‹ lire_config ›)) {
foreach(lire_meta(‹ inscription2 ›,array()) as $cle => $val) {
$cle = ereg_replace(« (obligatoire|fiche|table).« , «  », $cle);
if($val!=‹  › and $clef != ‹ login › and $cle != ‹ nom › and $cle != ‹ statut_nouveau › and $cle != ‹ email › and $cle != ‹ username › and $cle != ‹ statut_int › and $cle != ‹ accesrestreint › and !ereg( »^(categories|zone|newsletter).
$« , $cle) ){
if($cle == ‹ naissance › )
$spip_auteurs_elargis[$cle] = « DATE DEFAULT ‹ 0000-00-00 › NOT NULL »;
elseif($cle == ‹ validite › )
$spip_auteurs_elargis[$cle] = « datetime DEFAULT '0000-00-00 00:00:00 NOT NULL »;
elseif($cle == ‹ pays ›)
$spip_auteurs_elargis[$cle] = « int NOT NULL »;
elseif($cle == ‹ pays_pro ›)
$spip_auteurs_elargis[$cle] = « int NOT NULL »;
else
$spip_auteurs_elargis[$cle] = « text NOT NULL »;
}
}
}else{
foreach(lire_config(‹ inscription2 ›,array()) as $cle => $val) {
$cle = ereg_replace( »
(obligatoire|fiche|table).« , «  », $cle);
if($val!=‹  › and $clef != ‹ login › and $cle != ‹ nom › and $cle != ‹ statut_nouveau › and $cle != ‹ email › and $cle != ‹ username › and $cle != ‹ statut_int › and $cle != ‹ accesrestreint › and !ereg( »^(categories|zone|newsletter).
$ », $cle) ){
if($cle == ‹ naissance › )
$spip_auteurs_elargis[$cle] = « DATE DEFAULT ‹ 0000-00-00 › NOT NULL »;
elseif($cle == ‹ validite › )
$spip_auteurs_elargis[$cle] = « datetime DEFAULT '0000-00-00 00:00:00 NOT NULL »;
elseif($cle == ‹ pays ›)
$spip_auteurs_elargis[$cle] = « int NOT NULL »;
elseif($cle == ‹ pays_pro ›)
$spip_auteurs_elargis[$cle] = « int NOT NULL »;
else
$spip_auteurs_elargis[$cle] = « text NOT NULL »;
}
}
}

S'lt

Cette béquille me semble tres bancale, car avec ce test, dans le cas
où le cfg est pas/mal chargé, les déclarations des tables dans spip va
être tronquée.

Cette création est actuellement tres bancale, elle ne devrait pas du
tout utiliser cfg et declarer l'intégralité des champs.
C'est par la suite et via cfg qu'on doit pouvoir traiter les données à
afficher dans les formulaires.

Auparavant ces modifications etaient un peu lourdes, maintena

Le 24 février 2009 09:01, Pierre Fiches <pierre.fiches@free.fr> a écrit :

Le 21 févr. 09 à 09:19, Pierre Fiches a écrit :

Ouep... peut être ...

virer l'appel dans mes_options de base/inscription2... qui ne devrait pas
être nécessaire... étant donné que j'ai changé la méthode de déclaration des
tables ...

Mais peut être que c'est justement le pipeline "declarer_tables_principales"
qui est appelé trop tôt...

Author: kent1@arscenic.info
Date: Thu Feb 19 12:01:31 2009
New Revision: 26744
ton dernier commit résout le bug, merci.

En fait non le bug est toujours là. Il est juste déplacé juste après
l'identification.
On peut maintenant s'identifier mais l'espace privé est en fatal error à
cause toujours de lire config qui n'est pas chargé.
une béquille (en gras) pas terrible qui semble permettre de passer le cap
(semble empêcher le message Feb 24 08:02:19 ::1 (pid 11122) Erreur -
'inscription2_declarer_tables_principales' non definie ! dans
prive_spip.log) :
function inscription2_declarer_tables_principales($tables_principales){
$spip_auteurs_elargis['id_auteur'] = "bigint(21) NOT NULL";
if (!function_exists('lire_config')) {
foreach(lire_meta('inscription2',array()) as $cle => $val) {
$cle = ereg_replace("_(obligatoire|fiche|table).*", "", $cle);
if($val!='' and $clef != 'login' and $cle != 'nom' and $cle !=
'statut_nouveau' and $cle != 'email' and $cle != 'username' and $cle !=
'statut_int' and $cle != 'accesrestreint' and
!ereg("^(categories|zone|newsletter).*$", $cle) ){
if($cle == 'naissance' )
$spip_auteurs_elargis[$cle] = "DATE DEFAULT '0000-00-00' NOT NULL";
elseif($cle == 'validite' )
$spip_auteurs_elargis[$cle] = "datetime DEFAULT '0000-00-00 00:00:00 NOT
NULL";
elseif($cle == 'pays')
$spip_auteurs_elargis[$cle] = "int NOT NULL";
elseif($cle == 'pays_pro')
$spip_auteurs_elargis[$cle] = "int NOT NULL";
else
$spip_auteurs_elargis[$cle] = "text NOT NULL";
}
}
}else{
foreach(lire_config('inscription2',array()) as $cle => $val) {
$cle = ereg_replace("_(obligatoire|fiche|table).*", "", $cle);
if($val!='' and $clef != 'login' and $cle != 'nom' and $cle !=
'statut_nouveau' and $cle != 'email' and $cle != 'username' and $cle !=
'statut_int' and $cle != 'accesrestreint' and
!ereg("^(categories|zone|newsletter).*$", $cle) ){
if($cle == 'naissance' )
$spip_auteurs_elargis[$cle] = "DATE DEFAULT '0000-00-00' NOT NULL";
elseif($cle == 'validite' )
$spip_auteurs_elargis[$cle] = "datetime DEFAULT '0000-00-00 00:00:00 NOT
NULL";
elseif($cle == 'pays')
$spip_auteurs_elargis[$cle] = "int NOT NULL";
elseif($cle == 'pays_pro')
$spip_auteurs_elargis[$cle] = "int NOT NULL";
else
$spip_auteurs_elargis[$cle] = "text NOT NULL";
}
}
}
...
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
------------
-----
http://www.azerttyu.net (hébergement)
http://km.azerttyu.net (blog)
cam.lafit@azerttyu.net