X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/01dfd03d97afd0d5d06a36af37d96892905340ad..HEAD:/tweeper.php diff --git a/tweeper.php b/tweeper.php index 038f2b6..bcc85fe 100644 --- a/tweeper.php +++ b/tweeper.php @@ -1,9 +1,10 @@ + * Copyright (C) 2013-2020 Antonio Ospite * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,10 +38,10 @@ function is_cli() { */ function usage($argv) { if (is_cli()) { - $usage = "{$argv[0]} [-e|-u <0|1>|-h|--help] \n"; + $usage = "{$argv[0]} [-e|-m <0|1>|-u <0|1>|-v <0|1>|-h|--help] \n"; } else { - $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=&generate_enclosure=<0|1>&show_usernames=<0|1>"); + $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=&generate_enclosure=<0|1>&show_usernames=<0|1>&show_multimedia=<0|1>&verbose_output=<0|1>"); } return "usage: $usage"; @@ -50,22 +51,34 @@ function usage($argv) { * Parse command line options. */ function parse_options_cli($argv, $argc) { - $options = array( + $options = [ 'generate_enclosure' => FALSE, 'show_usernames' => TRUE, - ); + 'show_multimedia' => TRUE, + 'verbose_output' => TRUE, + ]; if ($argc < 2) { return $options; } - $cli_options = getopt("eu:h", array("help")); + $cli_options = getopt("em:u:v:h", ["help"]); foreach ($cli_options as $opt => $val) { switch ($opt) { case 'e': $options['generate_enclosure'] = TRUE; break; + case 'm': + $ret = filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); + if (NULL === $ret) { + fwrite(STDERR, "Invalid argument for the -m option.\n"); + fwrite(STDERR, usage($argv)); + exit(1); + } + $options['show_multimedia'] = $val; + break; + case 'u': $ret = filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); if (NULL === $ret) { @@ -76,6 +89,16 @@ function parse_options_cli($argv, $argc) { $options['show_usernames'] = $val; break; + case 'v': + $ret = filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); + if (NULL === $ret) { + fwrite(STDERR, "Invalid argument for the -v option.\n"); + fwrite(STDERR, usage($argv)); + exit(1); + } + $options['verbose_output'] = $val; + break; + case 'h': case 'help': echo usage($argv); @@ -98,10 +121,12 @@ function parse_options_cli($argv, $argc) { * Parse options passed from a query string. */ function parse_options_query_string() { - $options = array( + $options = [ 'generate_enclosure' => FALSE, 'show_usernames' => TRUE, - ); + 'show_multimedia' => TRUE, + 'verbose_output' => TRUE, + ]; if (isset($_GET['src_url'])) { $options['src_url'] = $_GET['src_url']; @@ -111,10 +136,18 @@ function parse_options_query_string() { $options['generate_enclosure'] = $_GET['generate_enclosure'] == 1; } + if (isset($_GET['show_multimedia'])) { + $options['show_multimedia'] = $_GET['show_multimedia'] != 0; + } + if (isset($_GET['show_usernames'])) { $options['show_usernames'] = $_GET['show_usernames'] != 0; } + if (isset($_GET['verbose_output'])) { + $options['verbose_output'] = $_GET['verbose_output'] != 0; + } + return $options; } @@ -132,7 +165,7 @@ if (!isset($options['src_url'])) { exit(1); } -$tweeper = new Tweeper($options['generate_enclosure'], $options['show_usernames']); +$tweeper = new Tweeper($options['generate_enclosure'], $options['show_usernames'], $options['show_multimedia'], $options['verbose_output']); $output = $tweeper->tweep($options['src_url']); if (is_null($output)) { exit(1);