Bonjour,
Depuis quelques commit ce type d’erreur se produit :
Warning: in_array() [function.in-array]: Wrong datatype for second argument in**/…/ecrire/public/composer.php(42) : eval()'d code** on line42
C’est ce type de syntaxe qui est en cause :
bla bla
#SET{selected,#CONFIG{xzx/pa/grtext,#ARRAY}}
[[(#RANG). ](#TITRE|couper{80})][ id=(#ID_GROUPE)]
Parfois aussi un bout de code passe dans l’url à la fin
&id_rub_spe1=Array
générant le même type d’erreur et empéchant l’array de se remplir.
y at il une solution ?
pierre
Confirmation :
je profite d'une presence sur la liste pour expliquer une petite
interrogation :
Erreur dans l'appel a la page d'interface privée Configuration / CFG
Version : 1.10.0 | stable
Répertoire : cfg
un nombre -variable- d'erreurs toutes identiques///
- 2 entre le titre (Configuration des modules..) et les <div
onmouseover="changeclass(this, 'onglet_on');"
- 4 en plus avant le debut d'affichage de la page si je choisis Test simple
pour le plugin Cfg
Warning: in_array() [function.in-array]: Wrong datatype for second argument
in C:\www\aSpiPerso\ecrire\public\composer.php(48) : eval()'d code on line
100
SPIP 1.9.2d [11132]
(meme en desactivant tous autres plugins..)
Yx
"Pierre Fiches" <pierre.fiches@free.fr> a écrit dans le message de news:
271B0E08-2A60-4E75-9891-AC6A30C10F4D@free.fr...
Bonjour,
Depuis quelques commit ce type d'erreur se produit :
Warning: in_array() [function.in-array]: Wrong datatype for second argument
in/.../ecrire/public/composer.php(42) : eval()'d code on line42
C'est ce type de syntaxe qui est en cause :
<div class="form-item"><label for="xzx_grtext">bla bla</label>
#SET{selected,#CONFIG{xzx/pa/grtext,#ARRAY}}
<select name="grtext[]" id="xzx_grtext" multiple="multiple" size="5"
class="enligne forml">
<BOUCLE_gr7(GROUPES_MOTS){tables_liees=articles}>
<option value="#ID_GROUPE"[(#ID_GROUPE|in_array{#GET{selected}}|?{'
selected="selected"'})]>[[(#RANG). ](#TITRE|couper{80})][
id=(#ID_GROUPE)]</option>
</BOUCLE_gr7>
</select>
</div>
</B_gr7>
Parfois aussi un bout de code passe dans l'url à la fin
&id_rub_spe1=Array
générant le même type d'erreur et empéchant l'array de se remplir.
y at il une solution ?
pierre
Pierre Fiches a écrit :
*
Bonjour,
Depuis quelques commit ce type d'erreur se produit :
Warning*: in_array() [function.in-array <http://www.renault-cournon.com/ecrire/function.in-array>\]: Wrong datatype for second argument in*/.../ecrire/public/composer.php(42) : eval()'d code* on line*42*
*
C'est ce type de syntaxe qui est en cause :
<div class="form-item"><label for="xzx_grtext">bla bla</label>
#SET{selected,#CONFIG{xzx/pa/grtext,#ARRAY}}
<select name="grtext" id="xzx_grtext" multiple="multiple" size="5" class="enligne forml">
<BOUCLE_gr7(GROUPES_MOTS){tables_liees=articles}>
<option value="#ID_GROUPE"[(#ID_GROUPE|in_array{#GET{selected}}|?{' selected="selected"'})]>[[(#RANG). ](#TITRE|couper{80})][ id=(#ID_GROUPE)]</option>
</BOUCLE_gr7>
</select>
</div>
</B_gr7>
Parfois aussi un bout de code passe dans l'url à la fin
&id_rub_spe1=Array
générant le même type d'erreur et empéchant l'array de se remplir.
y at il une solution ?
Je pense...
* Pour le in_array(), ça veut dire que #CONFIG{xzx/pa/grtext,#ARRAY} renvoie quelque chose d'autre qu'un array() justement, et donc que xzx/pa/grtext existe mais n'est pas un array(). Confirmes-tu avec #CFG_ARBO{xzx/pa/grtext} ?
2 solutions : soit en amont empecher que xzx/pa/grtext soit autre chose qu'un array, soit utiliser à la place de |in_array{} la fonction SPIP |in_any{} qui évite ces erreurs.
* Pour le &id_rub_spe1= en fin d'url, cela provient de SPIP : toute variable envoyée en POST commençant par "id_" est ajoutée à l'url.
Solution : renommer la variable pour ne pas qu'elle commence par "id_", par exemple _id_rub_spe1.
--
MM.
Le 12 août 08 à 16:05, Matthieu Marcillaud a écrit :
Pierre Fiches a écrit :
Bonjour,
Depuis quelques commit ce type d’erreur se produit :
Warning*: in_array() [function.in-array <http://www.renault-cournon.com/ecrire/function.in-array>]: Wrong datatype for second argument in*/…/ecrire/public/composer.php(42) : eval()'d code* on line42
C’est ce type de syntaxe qui est en cause :
bla bla
#SET{selected,#CONFIG{xzx/pa/grtext,#ARRAY}}
<BOUCLE_gr7(GROUPES_MOTS){tables_liees=articles}>
[[(#RANG). ](#TITRE|couper{80})][ id=(#ID_GROUPE)]
</BOUCLE_gr7>
</B_gr7>
Parfois aussi un bout de code passe dans l’url à la fin
&id_rub_spe1=Array
générant le même type d’erreur et empéchant l’array de se remplir.
y at il une solution ?
Je pense…
- Pour le in_array(), ça veut dire que #CONFIG{xzx/pa/grtext,#ARRAY} renvoie quelque chose d’autre qu’un array() justement, et donc que xzx/pa/grtext existe mais n’est pas un array(). Confirmes-tu avec #CFG_ARBO{xzx/pa/grtext} ?
Merci 1000 fois pour ta réponse.
J’ai tenté cela sans succès :
#CONFIG{xzx/pa/grtext,#ARRAY{0,0}}
#CFG_ARBO{xzx/pa/grtext} donne 0 = 5
ce qui est correct.
et dans le squelette cette écriture fonctionne :
[(#ID_GROUPE|in_array{#GET{grtext}}|?{
#TYPE : #TEXTE
,
#TYPE : #TITRE
})]
Par contre le [(#ID_GROUPE|in_array{#GET{selected}}|?{’ selected=« selected »'})] de la boucle _gr7 ci-dessus ne fonctionne pas : le groupe 5 n’est pas en état « selected ».
ceci fonctionne mais ne peut pas être utilisé ici à moins de pouvoir remplacer le 0 par une variable[(#ID_GROUPE|=={#CONFIG{xzx/pa/grtext}|table_valeur{0}}|?{’ selected=« selected »'})]
[(#ID_GROUPE|in_any{#GET{selected}}|?{’ selected=« selected »',‹ non ›})] donne toujours non même pour #ID_GROUPE = 5. Cette syntaxe est-elle correcte ?
2 solutions : soit en amont empecher que xzx/pa/grtext soit autre chose qu’un array, soit utiliser à la place de |in_array{} la fonction SPIP |in_any{} qui évite ces erreurs.
- Pour le &id_rub_spe1= en fin d’url, cela provient de SPIP : toute variable envoyée en POST commençant par « id_ » est ajoutée à l’url.
oups effectivement le renommage est efficace.
mais il y a quand même peut être un petit quelque chose puisque ça ne le fait pas qu’en cas d’enregistrements successifs 3 pour être précis.
Solution : renommer la variable pour ne pas qu’elle commence par « id_ », par exemple _id_rub_spe1.