public function buildFilterList(array $params, $throwEx = false)
 {
     $factory = new \App_ListFilter_FilterFactory();
     $factory->setWhiteList(CommercialGroupFilterFields::getWhiteList());
     $filterList = $factory->constructFilter($params);
     $filterList->setThrowExceptionOnValidationFail($throwEx);
     $filterList->setValidators(CommercialGroupFilterFields::getValidatorSpec());
     if (!$filterList->isValid()) {
         $filterList = new \App_ListFilter();
     }
     $filterList->setResourceId(CommercialGroupFilterFields::getResourceId());
     $filterList->addExtraData('filterType', 'commercialGroup');
     \App::log()->debug('Unused filters [' . implode(',', $factory->getUnusedList()) . ']');
     return $filterList;
 }
Exemplo n.º 2
0
 /**
  * Builds a filter list based on params.
  *
  * @param  array          $params
  * @return App_ListFilter
  */
 public function factory(array $params, $filterId, $filterType = null, array $validators = array())
 {
     $filterList = $this->constructFilter($params);
     $filterList->setValidators($validators);
     if (!$filterList->isValid()) {
         $filterList = new \App_ListFilter();
     }
     $filterList->setResourceId($filterId);
     if (!empty($filterType)) {
         $filterList->addExtraData('filterType', $filterType);
     }
     \App::log()->debug('Unused filters [' . implode(',', $this->getUnusedList()) . ']');
     return $filterList;
 }
Exemplo n.º 3
0
 /**
  * Builds a filter list based on params.
  * @param  array          $params
  * @return App_ListFilter | null
  */
 public function buildFilterList(array $params)
 {
     /**
      * Check if ICC parameter exists and if it's valid
      */
     /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528)
        if (!empty($params['icc'])) {
            if (!$this->luhn($params['icc'])) {
                throw new AppEx\InvalidArgumentException('Invalid search query');
            }
        }
        */
     /**
      * Check if IMSI parameter exists and if it's valid
      */
     if (!empty($params['imsi'])) {
         $imsis = explode('<>', $params['imsi']);
         if (count($imsis) == 2) {
             /**
              * Is it a range of IMSIs?
              */
             /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528)
                if (preg_match('/^[0-9]{15}$/', trim($imsis[0])) &&
                    preg_match('/^[0-9]{15}$/', trim($imsis[1]))) {
                */
             $params['imsi'] = $imsis[0] . '<>' . $imsis[1];
             /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528)
                } else {
                    throw new AppEx\InvalidArgumentException('Invalid search query');
                }
                */
         } else {
             /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528)
                if (!preg_match('/^[0-9]{15}$/', trim($params['imsi']))) {
                    throw new AppEx\InvalidArgumentException('Invalid search query');
                }
                */
         }
     }
     $factory = new \App_ListFilter_FilterFactory();
     $factory->setWhiteList(StockFilterFields::getWhiteList());
     $factory->getSortingWhiteList(StockSortingFields::getWhiteList());
     $filterList = $factory->constructFilter($params);
     if (!$filterList->isValid()) {
         $filterList = new \App_ListFilter();
     }
     $filterList->setResourceId(StockFilterFields::getResourceId());
     $filterList->addExtraData('filterType', 'stock');
     \App::log()->debug('Unused filters [' . implode(',', $factory->getUnusedList()) . ']');
     return $filterList;
 }