Kdyby\Translation\Translator::buildWhitelistRegexp PHP Method

buildWhitelistRegexp() public static method

public static buildWhitelistRegexp ( null | string $whitelist ) : null | string
$whitelist null | string
return null | string
    public static function buildWhitelistRegexp($whitelist)
    {
        return $whitelist ? '~^(' . implode('|', $whitelist) . ')~i' : NULL;
    }

Usage Example

 protected function loadResourcesFromDirs($dirs)
 {
     $builder = $this->getContainerBuilder();
     $config = $this->getConfig();
     $whitelistRegexp = Kdyby\Translation\Translator::buildWhitelistRegexp($config['whitelist']);
     $translator = $builder->getDefinition($this->prefix('default'));
     foreach (array_keys($this->loaders) as $format) {
         foreach (Finder::findFiles('*.*.' . $format)->from($dirs) as $file) {
             /** @var \SplFileInfo $file */
             if (!($m = Strings::match($file->getFilename(), '~^(?P<domain>.*?)\\.(?P<locale>[^\\.]+)\\.' . preg_quote($format) . '$~'))) {
                 continue;
             }
             if ($whitelistRegexp && !preg_match($whitelistRegexp, $m['locale']) && $builder->parameters['productionMode']) {
                 continue;
                 // ignore in production mode, there is no need to pass the ignored resources
             }
             $this->validateResource($format, $file->getPathname(), $m['locale'], $m['domain']);
             $translator->addSetup('addResource', array($format, $file->getPathname(), $m['locale'], $m['domain']));
             $builder->addDependency($file->getPathname());
         }
     }
 }