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...