diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-11-20 10:37:13 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-11-20 10:37:13 +0100 |
commit | 9290303e80801a31569386c1a030ca6ed7dd34b5 (patch) | |
tree | 8fa330c92d653d6cd07cecbc7abfc21b766b8002 /program/include/clisetup.php | |
parent | 2b55d4f4204bdb8c97865e01b960c1d1f23ac0b7 (diff) |
Move prompt_silent() and get_opt() to rcube_utils class
Diffstat (limited to 'program/include/clisetup.php')
-rw-r--r-- | program/include/clisetup.php | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/program/include/clisetup.php b/program/include/clisetup.php index a9af90a6f..07e318521 100644 --- a/program/include/clisetup.php +++ b/program/include/clisetup.php @@ -27,71 +27,3 @@ require_once INSTALL_PATH . 'program/include/iniset.php'; // 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; - } -} - -?> |