CS
[pharext/pharext] / src / pharext / Task / Askpass.php
1 <?php
2
3 namespace pharext\Task;
4
5 use pharext\Task;
6
7 /**
8 * Ask password on console
9 */
10 class Askpass implements Task
11 {
12 /**
13 * @var string
14 */
15 private $prompt;
16
17 /**
18 * @param string $prompt
19 */
20 public function __construct($prompt = "Password:") {
21 $this->prompt = $prompt;
22 }
23
24 /**
25 * @param bool $verbose
26 * @return string
27 */
28 public function run($verbose = false) {
29 system("stty -echo");
30 printf("%s ", $this->prompt);
31 $pass = fgets(STDIN, 1024);
32 printf("\n");
33 system("stty echo");
34 if (substr($pass, -1) == "\n") {
35 $pass = substr($pass, 0, -1);
36 }
37 return $pass;
38 }
39 }