diff options
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 */ |