Security update for Core, with self-updated composer
[yaffs-website] / vendor / drupal / console / src / Command / Develop / GenerateDocCheatsheetCommand.php
diff --git a/vendor/drupal/console/src/Command/Develop/GenerateDocCheatsheetCommand.php b/vendor/drupal/console/src/Command/Develop/GenerateDocCheatsheetCommand.php
deleted file mode 100644 (file)
index 474ab6e..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\Console\Command\Develop\GenerateDocCheatsheetCommand.
- *
- * @TODO: use twig
- */
-
-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\Console\Command\Command;
-use Drupal\Console\Core\Style\DrupalStyle;
-use Knp\Snappy\Pdf;
-use Drupal\Console\Core\Command\Shared\CommandTrait;
-
-class GenerateDocCheatsheetCommand extends Command
-{
-    use CommandTrait;
-
-    private $singleCommands = [
-      'about',
-      'chain',
-      'help',
-      'list',
-      'server'
-    ];
-
-    //exclude: yaml, translation
-    private $orderCommands = [
-      'cache',
-      'chain',
-      'config',
-      'database',
-      'create',
-      'cron',
-      'image',
-      'container',
-      'locale',
-      'migrate',
-      'module',
-      'multisite',
-      'rest',
-      'settings',
-      'views',
-      'router',
-      'state',
-      'user',
-      'site',
-      'update',
-      'theme'
-
-    ];
-
-    private $logoUrl = 'http://drupalconsole.com/themes/custom/drupalconsole/assets/src/images/drupal-console.png';
-
-    private $wkhtmltopdfPath = "/usr/bin/wkhtmltopdf";
-
-    /**
-     * GenerateDocCheatsheetCommand constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function configure()
-    {
-        $this
-            ->setName('generate:doc:cheatsheet')
-            ->setDescription($this->trans('commands.generate.doc.cheatsheet.description'))
-            ->addOption(
-                'path',
-                null,
-                InputOption::VALUE_OPTIONAL,
-                $this->trans('commands.generate.doc.cheatsheet.options.path')
-            )
-            ->addOption(
-                'wkhtmltopdf',
-                null,
-                InputOption::VALUE_OPTIONAL,
-                $this->trans('commands.generate.doc.cheatsheet.options.wkhtmltopdf')
-            );
-        ;
-    }
-
-    /**
-     * {@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.gitbook.messages.missing_path')
-            );
-
-            return 1;
-        }
-
-        // $wkhtmltopdfPath is overwritable by command option
-
-        if ($input->getOption('wkhtmltopdf')) {
-            $this->wkhtmltopdfPath = $input->getOption('wkhtmltopdf');
-        }
-
-        $application = $this->getApplication();
-        $command_list = [];
-
-        foreach ($this->singleCommands as $single_command) {
-            $command = $application->find($single_command);
-            $command_list['none'][] = [
-                'name' => $command->getName(),
-                'description' => $command->getDescription(),
-            ];
-        }
-
-        $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(),
-                    ];
-                }
-            }
-        }
-
-        if (!empty($command_list)) {
-            $this->prepareHtml($command_list, $path, $io);
-        }
-    }
-
-
-    /**
-     * Generates (programatically, not with twig) the HTML to convert to PDF
-     *
-     * @param array  $array_content
-     * @param string $path
-     */
-    protected function prepareHtml($array_content, $path, $io)
-    {
-        $str  = '<meta charset="UTF-8" />';
-        $str .= "<center><div style='font-size: 12px;'>Drupal Console cheatsheet</div></center>";
-
-        // 1st page
-        foreach ($this->orderCommands as $command) {
-            $str .= $this->doTable($command, $array_content[$command]);
-        }
-
-        // 2nd page
-        $str .= "<br/><br/><table style='width:99%;page-break-before:always;padding-top:10%'><tr><td><img src='".
-              $this->logoUrl ."' width='150px' style='float:left'/></td>";
-
-        $str .= "<td style='vertical-align: bottom;'><h1>DrupalConsole Cheatsheet</h1></td></tr></table><br/><br/>";
-
-        $str .= $this->doTable("generate", $array_content["generate"]);
-        $str .= $this->doTable("miscelaneous", $array_content["none"]);
-
-        $this->doPdf($str, $path, $io);
-    }
-
-
-    /**
-     * Generates the pdf with Snappy
-     *
-     * @param string $content
-     * @param string $path
-     *
-     * @return string
-     */
-    protected function doPdf($content, $path, $io)
-    {
-        $snappy = new Pdf();
-        //@TODO: catch exception if binary path doesn't exist!
-        $snappy->setBinary($this->wkhtmltopdfPath);
-        $snappy->setOption('orientation', "Landscape");
-        $snappy->generateFromHtml($content, "/" .$path . 'dc-cheatsheet.pdf');
-        $io->success("cheatsheet generated at /" .$path ."/dc-cheatsheet.pdf");
-
-        // command execution ends here
-    }
-
-    /**
-   * Encloses text in <td> tags
-   *
-   * @param string $str
-   *
-   * @return string
-   */
-    public function td($str, $mode = null)
-    {
-        if ("header" == $mode) {
-            return "<td colspan='2' style='background-color:whitesmoke;font-size: 12px;'><b>" . strtoupper($str) . "</b></td>";
-        } else {
-            if ("body" == $mode) {
-                return "<td style='font-size: 11px;width=35%'><i>". $str. "</i></td>";
-            } else {
-                return "<td>" . $str . "</td>";
-            }
-        }
-    }
-
-    /**
-   * Encloses text in <tr> tags
-   *
-   * @param string $str
-   * @param array  $element
-   *
-   * @return string
-   */
-    public function tr($str)
-    {
-        return "<tr>" . $str . "</tr>";
-    }
-
-    /**
-   * Encloses text in <table> tag
-   *
-   * @param string $key_element - header
-   * @param array  $element     - command, description
-   *
-   * @return string
-   */
-    public function doTable($key_element, $element)
-    {
-        $str = "<table cellspacing='0' border='0' style='float:left;width:49%;'>";
-        $str .= $this->td($key_element, "header");
-
-        foreach ($element as $section) {
-            $str .= $this->tr($this->td($section["name"], "body") . $this->td($section["description"], "body"));
-        }
-
-        return $str . "</table>\n\r";
-    }
-}