diff options
author | jenkins-bot <jenkins-bot@gerrit.wikimedia.org> | 2025-02-25 04:38:08 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@wikimedia.org> | 2025-02-25 04:38:08 +0000 |
commit | bb374471aa930ffbe4614fafe4faf5caeac03c43 (patch) | |
tree | f393d91b1bfddec1b2d80e1345588fb854316118 /maintenance/includes | |
parent | 33d4b9e7644807d8df52c13542ed33e3efbb4c21 (diff) | |
parent | 8931b40119ebd2f9794973483f31b8f4fe95560c (diff) | |
download | mediawikicore-bb374471aa930ffbe4614fafe4faf5caeac03c43.tar.gz mediawikicore-bb374471aa930ffbe4614fafe4faf5caeac03c43.zip |
Merge "Add Y/n prompt at the end of interactive install"
Diffstat (limited to 'maintenance/includes')
-rw-r--r-- | maintenance/includes/Maintenance.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/maintenance/includes/Maintenance.php b/maintenance/includes/Maintenance.php index cf895640fe6a..a51f653237bf 100644 --- a/maintenance/includes/Maintenance.php +++ b/maintenance/includes/Maintenance.php @@ -1653,6 +1653,27 @@ abstract class Maintenance { return $line; } + + /** + * @param string $prompt The prompt to display to the user + * @param bool|null $default The default value to return if the user just presses enter + * + * @return ?bool + * + * @since 1.44 + */ + protected function promptYesNo( $prompt, $default = null ) { + $defaultText = $default === null ? '' : ( $default ? 'Y' : 'n' ); + $line = self::readconsole( $prompt . " (Y/n) [$defaultText]" ); + if ( $line === false ) { + return $default; + } + if ( $line === '' ) { + return $default; + } + + return strtolower( $line ) === 'y'; + } } /** @deprecated class alias since 1.43 */ |