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; }
/** * 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; }
/** * 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; }