Airship\Cabin\Bridge\Filter\Account\PreferencesFilter::fromConfig PHP Method

fromConfig() public static method

Build the filter from configuration
public static fromConfig ( array $cabinNamespaces = [], array $motifs = [] ) : self
$cabinNamespaces array
$motifs array
return self
    public static function fromConfig(array $cabinNamespaces = [], array $motifs = []) : self
    {
        $filterContainer = new PreferencesFilter();
        foreach ($cabinNamespaces as $cabin) {
            $activeCabin = $motifs[$cabin];
            $filterContainer->addFilter('prefs.motif.' . $cabin, (new StringFilter())->addCallback(function ($selected) use($cabin, $activeCabin) : string {
                foreach ($activeCabin as $cabinConfig) {
                    if ($selected === $cabinConfig['path']) {
                        return $selected;
                    }
                }
                return '';
            }));
        }
        return $filterContainer;
    }
PreferencesFilter