From 6d14813840d163c76f6dc25395b0007a88b42e9d Mon Sep 17 00:00:00 2001 From: Kasimir Cash Date: Wed, 17 Jan 2024 07:42:43 +0000 Subject: Standardise command line option parsing (#6036) * Separates long & short options for parsing * Adds parsing for short options + doc rewrites * Fixes undefined constant in check.translation * Standardises CL option parsing * Refactors option parsing * Renames getLongOptions -> getOptions * Removes unused code * Converges on string typing for options * Updates docs & help files * Updates array syntax array( ) -> [ ] --- cli/export-sqlite-for-user.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'cli/export-sqlite-for-user.php') diff --git a/cli/export-sqlite-for-user.php b/cli/export-sqlite-for-user.php index ee8e183f6..e67896df9 100755 --- a/cli/export-sqlite-for-user.php +++ b/cli/export-sqlite-for-user.php @@ -5,19 +5,26 @@ require(__DIR__ . '/_cli.php'); performRequirementCheck(FreshRSS_Context::systemConf()->db['type'] ?? ''); -$params = [ - 'user:', - 'filename:', +$parameters = [ + 'long' => [ + 'user' => ':', + 'filename' => ':', + ], + 'short' => [], + 'deprecated' => [], ]; -$options = getopt('', $params); +$options = parseCliParams($parameters); -if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename']) || !is_string($options['user']) || !is_string($options['filename'])) { +if (!empty($options['invalid']) + || empty($options['valid']['user']) || empty($options['valid']['filename']) + || !is_string($options['valid']['user']) || !is_string($options['valid']['filename']) +) { fail('Usage: ' . basename(__FILE__) . ' --user username --filename /path/to/db.sqlite'); } -$username = cliInitUser($options['user']); -$filename = $options['filename']; +$username = cliInitUser($options['valid']['user']); +$filename = $options['valid']['filename']; if (pathinfo($filename, PATHINFO_EXTENSION) !== 'sqlite') { fail('Only *.sqlite files are supported!'); -- cgit v1.2.3