Пример #1
0
 /**
  * Retourne un tableau de FilterComponents construit a partir des elements du form
  * Appelle aussi checkPreferences() pour prendre en compte les criteres masques
  *
  * @access public
  * @param integer $preserveGridItems :
  * - par defaut 0: on veut effacer les traces des cases cochees
  * - 1: utilise notamment pour la commande: on doit garder en session les
  * Product selectionnes
  * @return void
  */
 public function buildFilterComponentArray($preserveGridItems = 0)
 {
     $FilterComponentArray = array();
     // Tableau de filtres
     if (!$this->isFirstArrival() || isset($_REQUEST['formSubmitted'])) {
         // Prend en compte les preferences pour l'user connecte, si besoin
         $this->checkPreferences();
         // n'est pas vide si des creneaux de date
         $initFilterComponentArray = $this->_filterComponentArray;
         $elements = $this->_elementsForSearch;
         for ($i = 0; $i < count($elements); $i++) {
             if (true === $elements[$i]['Disable']) {
                 continue;
             }
             if (isset($elements[$i]['PropertyType'])) {
                 $FilterComponent = SearchTools::NewFilterComponentOverDynamicProperty($elements[$i]['Name'], $elements[$i]['PropertyType'], $elements[$i]['Operator'], $elements[$i]['Value']);
             } else {
                 $FilterComponent = SearchTools::NewFilterComponent($elements[$i]['Name'], $elements[$i]['Path'], $elements[$i]['Operator'], $elements[$i]['Value'], 0, $this->entity);
             }
             if (!$FilterComponent) {
                 continue;
             }
             $FilterComponentArray[] = $FilterComponent;
         }
         $this->_filterComponentArray = array_merge($initFilterComponentArray, $FilterComponentArray);
     }
     // met les saisies en session, sauf LastEntitySearched, qui sera maj
     // apres le render()
     if (isset($_REQUEST['formSubmitted'])) {
         SearchTools::inputDataInSession($preserveGridItems);
     }
     return $this->_filterComponentArray;
 }