Aleksander Machniak
2012-11-20 9290303e80801a31569386c1a030ca6ed7dd34b5
program/include/clisetup.php
@@ -27,71 +27,3 @@
// Unset max. execution time limit, set to 120 seconds in iniset.php
@set_time_limit(0);
/**
 * Parse commandline arguments into a hash array
 */
function get_opt($aliases = array())
{
    $args = array();
    for ($i=1; $i < count($_SERVER['argv']); $i++) {
        $arg   = $_SERVER['argv'][$i];
        $value = true;
        $key   = null;
        if ($arg[0] == '-') {
            $key = preg_replace('/^-+/', '', $arg);
            $sp  = strpos($arg, '=');
            if ($sp > 0) {
                $key   = substr($key, 0, $sp - 2);
                $value = substr($arg, $sp+1);
            }
            else if (strlen($_SERVER['argv'][$i+1]) && $_SERVER['argv'][$i+1][0] != '-') {
                $value = $_SERVER['argv'][++$i];
            }
            $args[$key] = is_string($value) ? preg_replace(array('/^["\']/', '/["\']$/'), '', $value) : $value;
        }
        else {
            $args[] = $arg;
        }
        if ($alias = $aliases[$key]) {
            $args[$alias] = $args[$key];
        }
    }
    return $args;
}
/**
 * from http://blogs.sitepoint.com/2009/05/01/interactive-cli-password-prompt-in-php/
 */
function prompt_silent($prompt = "Password:")
{
  if (preg_match('/^win/i', PHP_OS)) {
    $vbscript = sys_get_temp_dir() . 'prompt_password.vbs';
    file_put_contents($vbscript, 'wscript.echo(InputBox("' . addslashes($prompt) . '", "", "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') {
      echo $prompt;
      $pass = trim(fgets(STDIN));
      echo chr(8)."\r" . $prompt . str_repeat("*", strlen($pass))."\n";
      return $pass;
    }
    $command = "/usr/bin/env bash -c 'read -s -p \"" . addslashes($prompt) . "\" mypassword && echo \$mypassword'";
    $password = rtrim(shell_exec($command));
    echo "\n";
    return $password;
  }
}
?>