X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/da9250bb9572c83ed397d3bfda0e44fa13016efb..2c7f7e5da9efb2905d9c87cb5a9a2d6c057f576c:/tweeper.php diff --git a/tweeper.php b/tweeper.php index 84712f6..bcc85fe 100644 --- a/tweeper.php +++ b/tweeper.php @@ -4,7 +4,7 @@ * @file * Tweeper - a Twitter to RSS web scraper. * - * Copyright (C) 2013-2018 Antonio Ospite + * 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 @@ -38,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"; @@ -51,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) { @@ -77,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); @@ -99,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']; @@ -112,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; } @@ -133,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);