ZF\Apigility\Admin\Model\InputFilterModel::addInputFilter PHP Method

addInputFilter() protected method

Add input filter
protected addInputFilter ( string $module, string $controller, array $inputFilter, string $validatorName = null ) : array | boolean
$module string
$controller string
$inputFilter array
$validatorName string
return array | boolean
    protected function addInputFilter($module, $controller, $inputFilter, $validatorName = null)
    {
        if (!$this->controllerExists($module, $controller)) {
            return false;
        }
        $configModule = $this->configFactory->factory($module);
        $config = $configModule->fetch(true);
        if (!isset($config['zf-content-validation'][$controller])) {
            $validatorName = $validatorName ?: $this->generateValidatorName($controller);
            $config = $configModule->patchKey(['zf-content-validation', $controller, 'input_filter'], $validatorName);
        }
        $validator = $config['zf-content-validation'][$controller]['input_filter'];
        if (!isset($config['input_filter_specs'])) {
            $config['input_filter_specs'] = [];
        }
        if (!isset($config['input_filter_specs'][$validator])) {
            $config['input_filter_specs'][$validator] = [];
        }
        $config['input_filter_specs'][$validator] = $inputFilter;
        $updated = $configModule->patchKey(['input_filter_specs', $validator], $inputFilter);
        if (!is_array($updated)) {
            return false;
        }
        $entityType = $this->getEntityType($controller);
        $return = new $entityType($updated['input_filter_specs'][$validator]);
        $return['input_filter_name'] = $validator;
        return $return;
    }