Airship\Engine\Continuum\Installers\Cabin::updateCabinsRegistry PHP Méthode

updateCabinsRegistry() protected méthode

Add the new cabin to config/cabins.json
protected updateCabinsRegistry ( string $nameSpace, array $metadata ) : boolean
$nameSpace string
$metadata array
Résultat boolean
    protected function updateCabinsRegistry(string $nameSpace, array $metadata) : bool
    {
        // Default route
        $defaultPath = ($metadata['default_path'] ?? '*/') . $this->supplier->getName() . '/' . $this->package;
        $twigEnv = \Airship\configWriter(ROOT . '/config/templates');
        $cabins = \Airship\loadJSON(ROOT . '/config/cabins.json');
        // We want to load everything before the wildcard entry:
        if (isset($cabins['*'])) {
            $newCabins = [];
            foreach (\array_keys($cabins) as $k) {
                if ($k !== '*') {
                    $newCabins[$k] = $cabins[$k];
                }
            }
            $newCabins[$defaultPath] = ['https' => false, 'canon_url' => '/' . $this->supplier->getName() . '/' . $this->package, 'language' => (string) ($metadata['lang'] ?? 'en-us'), 'name' => $nameSpace];
            $newCabins['*'] = $cabins['*'];
        } else {
            $newCabins = $cabins;
            $newCabins[$defaultPath] = ['https' => false, 'canon_url' => '/' . $this->supplier->getName() . '/' . $this->package, 'language' => (string) ($metadata['lang'] ?? 'en-us'), 'name' => $nameSpace];
        }
        return \file_put_contents(ROOT . '/config/cabins.json', $twigEnv->render('cabins.twig', ['cabins' => $newCabins])) !== false;
    }