Пример #1
0
 /**
  * _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();
 }