Mercurial > hg > fapweb
changeset 1027:0603012e99b7
Add CLI helper functions stYesNoPrompt() and stInputPrompt().
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 19 Nov 2015 17:47:17 +0200 |
parents | 37901bdbc545 |
children | 8f242f756b0b |
files | msitegen.inc.php |
diffstat | 1 files changed, 41 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/msitegen.inc.php Sun Nov 08 23:43:54 2015 +0200 +++ b/msitegen.inc.php Thu Nov 19 17:47:17 2015 +0200 @@ -1007,6 +1007,47 @@ } +function stYesNoPrompt($msg, $default = FALSE) +{ + echo $msg." [".($default ? "Y/n" : "y/N")."]? "; + $sprompt = strtolower(trim(fgets(STDIN))); + + if ($default) + return ($sprompt == "n"); + else + return ($sprompt == "y"); +} + + +function stInputPrompt($msg, $default = FALSE, $validate = null) +{ + $valid = FALSE; + while (!$valid) + { + echo $msg."\n".($default !== FALSE ? "[".$default."]" : "")."> "; + $sprompt = trim(fgets(STDIN)); + + if ($sprompt == "") + $sprompt = ($default !== FALSE ? $default : ""); + + $valid = !is_callable($validate) || call_user_func($validate, $sprompt); + } + return $sprompt; +} + + +function stValidateNotEmpty($val) +{ + if ($val == "") + { + echo "The value can't be empty.\n"; + return FALSE; + } + else + return TRUE; +} + + function stGetDBMeta($dbh, $name) { if (($item = stDBFetchSQL($dbh, "SELECT * FROM dbmeta WHERE key=".$dbh->quote($name))) === FALSE)