Airship\Hangar\Command::silentPrompt PHP Method

silentPrompt() final protected method

Requires a bash shell or Windows and won't work with safe_mode settings (Uses shell_exec)
final protected silentPrompt ( string $text = "Enter Password:" ) : string
$text string
return string
    protected final function silentPrompt(string $text = "Enter Password:") : string
    {
        if (\preg_match('/^win/i', PHP_OS)) {
            $vbscript = sys_get_temp_dir() . 'prompt_password.vbs';
            \file_put_contents($vbscript, 'wscript.echo(InputBox("' . \addslashes($text) . '", "", "password here"))');
            $command = "cscript //nologo " . \escapeshellarg($vbscript);
            $password = \rtrim(\shell_exec($command));
            \unlink($vbscript);
            return $password;
        } else {
            $command = "/usr/bin/env bash -c 'echo OK'";
            if (\rtrim(\shell_exec($command)) !== 'OK') {
                throw new \Exception("Can't invoke bash");
            }
            $command = "/usr/bin/env bash -c 'read -s -p \"" . addslashes($text) . "\" mypassword && echo \$mypassword'";
            $password = \rtrim(shell_exec($command));
            echo "\n";
            return $password;
        }
    }