Platformsh\Cli\Command\MultiCommand::showDialogChecklist PHP Метод

showDialogChecklist() защищенный Метод

Show a checklist using the dialog utility.
protected showDialogChecklist ( array $options, string $text = 'Choose item(s)' ) : array
$options array
$text string
Результат array
    protected function showDialogChecklist(array $options, $text = 'Choose item(s)')
    {
        $width = 80;
        $height = 20;
        $listHeight = 20;
        $command = sprintf('dialog --separate-output --checklist %s %d %d %d', escapeshellarg($text), $height, $width, $listHeight);
        foreach ($options as $tag => $option) {
            $command .= sprintf(' %s %s off', escapeshellarg($tag), escapeshellarg($option));
        }
        $dialogRc = file_get_contents(CLI_ROOT . '/resources/console/dialogrc');
        $dialogRcFile = self::$config->getUserConfigDir() . '/dialogrc';
        if ($dialogRc !== false && (file_exists($dialogRcFile) || file_put_contents($dialogRcFile, $dialogRc))) {
            putenv('DIALOGRC=' . $dialogRcFile);
        }
        $pipes = [2 => null];
        $process = proc_open($command, [2 => array('pipe', 'w')], $pipes);
        // Wait for and read result.
        $result = array_filter(explode("\n", trim(stream_get_contents($pipes[2]))));
        // Close handles.
        if (is_resource($pipes[2])) {
            fclose($pipes[2]);
        }
        proc_close($process);
        $this->stdErr->writeln('');
        return $result;
    }