/** * _getSearchFormAttributes * * Retourne les attributs à utiliser pour l'ajout de l'élément au * searchform. * * @param string $elmName Nom de la propriété * @access private * @return void */ private function _getSearchFormAttributes($elmName) { $elmType = $this->getElementType($elmName); if ($elmType == Object::TYPE_CONST) { $method = sprintf('get%sConstArray', $elmName); $array = call_user_func(array($this->clsname, $method)); return array(array(GenericController::FAKE_INDEX => MSG_SELECT_AN_ELEMENT) + $array); } if ($elmType == Object::TYPE_FKEY) { $clsName = $this->attrs[$elmName]; $fGetter = 'getFilterFor' . $elmName; $filter = method_exists($this, $fGetter) ? $this->{$fGetter}() : array(); $tGetter = 'getToStringAttributeFor' . $elmName; $toString = method_exists($this, $tGetter) ? $this->{$tGetter}() : 'toString'; return array(SearchTools::CreateArrayIDFromCollection($clsName, $filter, MSG_SELECT_AN_ELEMENT, $toString)); } if ($elmType == Object::TYPE_BOOL) { return array(array('##' => _('Any'), '1' => _('Yes'), '0' => _('No'))); } if ($elmType == Object::TYPE_MANYTOMANY) { $elmName = $this->links[$elmName]['linkClass']; return array(SearchTools::CreateArrayIDFromCollection($elmName, array(), MSG_SELECT_MANY_ELEMENTS, 'toString', array())); } return array(); }