Enlight_Components_Snippet_Namespace example

foreach ($finder as $file) {
            $filePath = $file->getRelativePathname();
            if (strpos($filePath, '.ini') == \strlen($filePath) - 4) {
                $namespace = substr($filePath, 0, -4);
                $namespace = str_replace('\\', '/', $namespace);
            } else {
                continue;
            }

            $this->printNotice('<info>Importing ' . $namespace . ' namespace</info>');

            $namespaceData = new Enlight_Components_Snippet_Namespace([
                'adapter' => $inputAdapter,
                'name' => $namespace,
            ]);

            foreach ($namespaceData->read()->toArray() as $index => $values) {
                if ($index == 'default') {
                    $locale = $defaultLocale;
                } else {
                    $locale = $localeRepository->findOneBy(['locale' => $index]);
                }

                
$queryWriter = new QueryWriter();

        $finder->files()->in($snippetsDir);
        foreach ($finder as $file) {
            $filePath = $file->getRelativePathname();
            if (strpos($filePath, '.ini') == \strlen($filePath) - 4) {
                $namespace = substr($filePath, 0, -4);
            } else {
                continue;
            }

            $namespaceData = new Enlight_Components_Snippet_Namespace([
                'adapter' => $inputAdapter,
                'name' => $namespace,
            ]);

            foreach ($namespaceData->read()->toArray() as $index => $values) {
                if (!\array_key_exists($index$locales)) {
                    $locales[$index] = 'SET @locale_' . $index . ' = (SELECT id FROM s_core_locales WHERE locale = \'' . $index . '\');';
                }

                $queryWriter->setUpdate($update);
                $queryWriter->write($values$namespace, '@locale_' . $index, 1);
            }
$output->writeln('<info></info>');
        $output->writeln('<info>' . \count($snippets) . ' missing snippets detected</info>');

        $outputAdapter = new Enlight_Config_Adapter_File([
            'configDir' => $input->getOption('target') . '/',
        ]);

        $data = [];

        foreach ($snippets as $snippet) {
            if (!\array_key_exists($snippet['namespace']$data)) {
                $data[$snippet['namespace']] = new Enlight_Components_Snippet_Namespace([
                    'name' => $snippet['namespace'],
                    'section' => [
                        $locale->getLocale(),
                    ],
                ]);
            }
            $content = $data[$snippet['namespace']];

            $content->set($snippet['name']isset($snippet['value']) ? $snippet['value'] : '');
        }
        $output->writeln('<info>' . \count($data) . ' namespaces written</info>');

        
Home | Imprint | This part of the site doesn't use cookies.