grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026makeSizesFromConfig(); $engines = []; foreach (SearchWrapper::getEngines() as $engine) { $engines[$engine] = StringUtils::camelToTranslation($engine); } $this->smarty->assign('sizeOptions', $sizes); $this->smarty->assign('engineOptions', $engines); parent::display(); } /** * Makes an array with the page size from the sugar config. * * @return array */ protected function makeSizesFromConfig() { global $sugar_config; if (!isset($sugar_config['search']['pagination']['min'])) { LoggerManager::getLogger()->warn('Configuration does not contains value for search pagination min'); } if (!isset($sugar_config['search']['pagination']['step'])) { LoggerManager::getLogger()->warn('Configuration does not contains value for search pagination step'); } if (!isset($sugar_config['search']['pagination']['max'])) { LoggerManager::getLogger()->warn('Configuration does not contains value for search pagination max'); } $min = isset($sugar_config['search']['pagination']['min']) ? $sugar_config['search']['pagination']['min'] : null; $step = isset($sugar_config['search']['pagination']['step']) ? $sugar_config['search']['pagination']['step'] : null; $max = isset($sugar_config['search']['pagination']['max']) ? $sugar_config['search']['pagination']['max'] : null; try { return $this->makeSizes($min, $step, $max); } catch (InvalidArgumentException $exception) { return $this->makeSizes(10, 10, 50); } } /** * Makes an array with the page size from the given parameters. * * @param int $min * @param int $step * @param int $max * * @throws InvalidArgumentException in case of failure * * @return array */ protected function makeSizes($min, $step, $max) { $min = intval($min); $step = intval($step); $max = intval($max); if (!is_integer($min) || !is_integer($step) || !is_integer($max)) { throw new InvalidArgumentException('Arguments must be integers'); } if ($min > $max) { throw new InvalidArgumentException('$min must be smaller than $max'); } if ($max == 0 || $min == 0 || $min == 0) { throw new InvalidArgumentException('Arguments cannot be zero'); } $sizes = []; for ($it = $min; $it <= $max; $it += $step) { $sizes[$it] = $it; } return $sizes; } }