Fork me on GitHub

Rapport de message :*
 

BUG dans XoopsForm->getElements() ???

Titre du sujet : BUG dans XoopsForm->getElements() ???
par fluzz sur 02/09/2006 15:32:22

Bonjour a tous.

Depuis le passage a xoops 2.0.15, j'avais un probleme avec l'affichage de la configuration generale du module XF-Section (admin/config.php).

Un formulaire est genere, contenant plusieurs 'separateurs', a l'aide d'instructions du type : $sform->insertBreak("blah blah blah");

Ce formulaire ne s'affiche pas.

Le bug vient de XoopsForm->getElements() :
function &getElements($recurse false){
  if (!
$recurse) {
    return 
$this->_elements;
  } else {
    
$ret = array();
    
$count count($this->_elements);
    for (
$i 0$i $count$i++) {
      if (!
$this->_elements[$i]->isContainer()) .......


Cette derniere ligne plante lorsque l'element courant a ete insere par un insertBreak(). En effet insertBreak() enregistre une chaine de caractere dans le tableau _elements, et non un objet. Le ->isContainer() ne passe donc pas...

Pour corriger ca, j'ai change cette derniere ligne en :
if (is_string($this->_elements[$i]) || !$this->_elements[$i]->isContainer())...


Ce code n'a pas ete change en 2.0.15. Il doit donc s'agir d'un vieux bug qui traine. Si il apparait en 2.0.15, c'est a cause de la modification de renderValidationJS(), lors de l'appel a XoopsForm->getElements(true).


Voila, je sais pas si c'est un bug connu (j'en ai pas trouve trace dans les forums), ni si mon 'hack' est la meilleure facon de proceder...

Mais j'avais ce probleme, je l'ai resolu, donc je vous en fait part.

Merci de transmettre aux developpeurs, si besoin est...
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

112 Personne(s) en ligne (100 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 112 | Plus ...