Security update for Core, with self-updated composer
[yaffs-website] / vendor / drupal / console / src / Command / Develop / GenerateDocDashCommand.php
diff --git a/vendor/drupal/console/src/Command/Develop/GenerateDocDashCommand.php b/vendor/drupal/console/src/Command/Develop/GenerateDocDashCommand.php
deleted file mode 100644 (file)
index 82f7f58..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\Console\Command\Develop\GenerateDocDashCommand.
- */
-
-namespace Drupal\Console\Command\Develop;
-
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Input\InputOption;
-use Symfony\Component\Filesystem\Exception\IOException;
-use Symfony\Component\Filesystem\Filesystem;
-use Symfony\Component\Console\Command\Command;
-use Drupal\Console\Core\Style\DrupalStyle;
-use Drupal\Console\Core\Command\Shared\CommandTrait;
-use Drupal\Console\Core\Utils\TwigRenderer;
-use Drupal\Console\Core\Utils\ConfigurationManager;
-
-class GenerateDocDashCommand extends Command
-{
-    use CommandTrait;
-
-    /**
-     * @var TwigRenderer $renderer
-     */
-    protected $renderer;
-    protected $consoleRoot;
-    /**
-     * @constant Contents of the plist file required by the docset format.
-     */
-    const PLIST = <<<PLIST
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>CFBundleIdentifier</key>
-       <string>drupalconsole</string>
-       <key>CFBundleName</key>
-       <string>Drupal Console</string>
-       <key>DocSetPlatformFamily</key>
-       <string>drupalconsole</string>
-       <key>isDashDocset</key>
-       <true/>
-       <key>dashIndexFilePath</key>
-    <string>index.html</string>
-</dict>
-</plist>
-PLIST;
-
-    private $single_commands = [
-      'about',
-      'chain',
-      'drush',
-      'help',
-      'init',
-      'list',
-      'self-update'
-    ];
-
-    /**
-     * @var SQLite3 Controller for the sqlite db required by the docset format.
-     */
-    private $sqlite;
-
-    /**
-     * @var ConfigurationManager $configurationManager
-     */
-    protected $configurationManager;
-
-    /**
-     * GenerateDocDashCommand constructor.
-     *
-     * @param $renderer
-     * @param $consoleRoot
-     */
-    public function __construct(TwigRenderer $renderer, $consoleRoot)
-    {
-        $this->renderer = $renderer;
-        $this->consoleRoot = $consoleRoot;
-        parent::__construct();
-    }
-
-
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function configure()
-    {
-        $this
-            ->setName('generate:doc:dash')
-            ->setDescription($this->trans('commands.generate.doc.dash.description'))
-            ->addOption(
-                'path',
-                null,
-                InputOption::VALUE_OPTIONAL,
-                $this->trans('commands.generate.doc.dash.options.path')
-            );
-        ;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function execute(InputInterface $input, OutputInterface $output)
-    {
-        $io = new DrupalStyle($input, $output);
-
-        $path = null;
-        if ($input->hasOption('path')) {
-            $path = $input->getOption('path');
-        }
-
-        if (!$path) {
-            $io->error(
-                $this->trans('commands.generate.doc.dash.messages.missing_path')
-            );
-
-            return 1;
-        }
-
-        // Setup the docset structure
-        $this->initDocset($path);
-
-        $application = $this->getApplication();
-        $command_list = [];
-
-        foreach ($this->single_commands as $single_command) {
-            $command = $application->find($single_command);
-            $command_list['none'][] = [
-              'name' => $command->getName(),
-              'description' => $command->getDescription(),
-            ];
-            $this->renderCommand($command, $path, $this->renderer);
-            $this->registerCommand($command, $path);
-        }
-
-        $namespaces = $application->getNamespaces();
-        sort($namespaces);
-
-        $namespaces = array_filter(
-            $namespaces, function ($item) {
-                return (strpos($item, ':') <= 0);
-            }
-        );
-
-        foreach ($namespaces as $namespace) {
-            $commands = $application->all($namespace);
-
-            usort(
-                $commands, function ($cmd1, $cmd2) {
-                    return strcmp($cmd1->getName(), $cmd2->getName());
-                }
-            );
-
-            foreach ($commands as $command) {
-                if ($command->getModule() == 'Console') {
-                    $command_list[$namespace][] = [
-                      'name' => $command->getName(),
-                      'description' => $command->getDescription(),
-                    ];
-                    $this->renderCommand($command, $path, $this->renderer);
-                    $this->registerCommand($command, $path);
-                }
-            }
-        }
-
-        $input = $application->getDefinition();
-        $options = $input->getOptions();
-        $arguments = $input->getArguments();
-        $parameters = [
-          'command_list' => $command_list,
-          'options' => $options,
-          'arguments' => $arguments,
-          'css_path' => 'style.css'
-        ];
-
-        // Set the index page
-        $this->renderFile(
-            'dash/index.html.twig',
-            $path . '/DrupalConsole.docset/Contents/Resources/Documents/index.html',
-            $parameters,
-            null,
-            $this->renderer
-        );
-    }
-
-    private function renderCommand($command, $path, $renderer)
-    {
-        $input = $command->getDefinition();
-        $options = $input->getOptions();
-        $arguments = $input->getArguments();
-
-        $parameters = [
-          'options' => $options,
-          'arguments' => $arguments,
-          'command' => $command->getName(),
-          'description' => $command->getDescription(),
-          'aliases' => $command->getAliases(),
-          'css_path' => '../style.css'
-        ];
-
-        $this->renderFile(
-            'dash/generate-doc.html.twig',
-            $path . '/DrupalConsole.docset/Contents/Resources/Documents/commands/'
-            . str_replace(':', '-', $command->getName()) . '.html',
-            $parameters,
-            null,
-            $renderer
-        );
-    }
-
-    private function registerCommand($command)
-    {
-        try {
-            $statement = $this->sqlite->prepare('INSERT OR IGNORE INTO searchIndex(name, type, path) VALUES (:name, :type, :path)');
-            $statement->bindValue(':name', $command->getName(), SQLITE3_TEXT);
-            $statement->bindValue(':type', 'Command', SQLITE3_TEXT);
-            $statement->bindValue(
-                ':path',
-                'commands/'
-                . str_replace(':', '-', $command->getName()) . '.html',
-                SQLITE3_TEXT
-            );
-            $statement->execute();
-        } catch (\Exception $e) {
-            throw $e;
-        }
-    }
-
-    private function renderFile(
-        $template,
-        $target,
-        $parameters,
-        $renderer
-    ) {
-        $filesystem = new Filesystem();
-        try {
-            $filesystem->dumpFile(
-                $target,
-                $renderer->render($template, $parameters)
-            );
-        } catch (IOException $e) {
-            throw $e;
-        }
-    }
-
-    private function initDocset($path)
-    {
-        try {
-            $filesystem = new Filesystem();
-            $filesystem->mkdir(
-                $path . '/DrupalConsole.docset/Contents/Resources/Documents/',
-                0777
-            );
-            $filesystem->dumpFile(
-                $path . '/DrupalConsole.docset/Contents/Info.plist',
-                self::PLIST
-            );
-
-            $filesystem->copy(
-                $this->consoleRoot . '/resources/drupal-console.png',
-                $path . '/DrupalConsole.docset/icon.png'
-            );
-            $filesystem->copy(
-                $this->consoleRoot . '/resources/dash.css',
-                $path . '/DrupalConsole.docset/Contents/Resources/Documents/style.css'
-            );
-            // create the required sqlite db
-            $this->sqlite = new \SQLite3($path . '/DrupalConsole.docset/Contents/Resources/docSet.dsidx');
-            $this->sqlite->query("CREATE TABLE searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT)");
-            $this->sqlite->query("CREATE UNIQUE INDEX anchor ON searchIndex (name, type, path)");
-        } catch (\Exception $e) {
-            throw $e;
-        }
-    }
-}