X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/25c3e276f01838c8fa55e9ca59f01d2707392988..6c535395860b51d2c1debf92437192c6bf862b16:/tweeper.php diff --git a/tweeper.php b/tweeper.php index ff98ab7..038f2b6 100644 --- a/tweeper.php +++ b/tweeper.php @@ -3,7 +3,7 @@ * @file * Tweeper - a Twitter to RSS web scraper. * - * Copyright (C) 2013-2016 Antonio Ospite + * Copyright (C) 2013-2018 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 +37,10 @@ function is_cli() { */ function usage($argv) { if (is_cli()) { - $usage = "{$argv[0]} [-e|-h|--help] \n"; + $usage = "{$argv[0]} [-e|-u <0|1>|-h|--help] \n"; } else { - $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=&generate_enclosure=<0|1>"); + $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=&generate_enclosure=<0|1>&show_usernames=<0|1>"); } return "usage: $usage"; @@ -52,19 +52,30 @@ function usage($argv) { function parse_options_cli($argv, $argc) { $options = array( 'generate_enclosure' => FALSE, + 'show_usernames' => TRUE, ); if ($argc < 2) { return $options; } - $cli_options = getopt("eh", array("help")); + $cli_options = getopt("eu:h", array("help")); foreach ($cli_options as $opt => $val) { switch ($opt) { case 'e': $options['generate_enclosure'] = TRUE; break; + case 'u': + $ret = filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); + if (NULL === $ret) { + fwrite(STDERR, "Invalid argument for the -u option.\n"); + fwrite(STDERR, usage($argv)); + exit(1); + } + $options['show_usernames'] = $val; + break; + case 'h': case 'help': echo usage($argv); @@ -76,7 +87,9 @@ function parse_options_cli($argv, $argc) { } } - $options['src_url'] = $argv[count($cli_options) + 1]; + // For now assume that the URL is the lest argument, in the future we could + // switch to PHP >= 7.1 and use the $optind argument of getopt(). + $options['src_url'] = array_pop($argv); return $options; } @@ -87,6 +100,7 @@ function parse_options_cli($argv, $argc) { function parse_options_query_string() { $options = array( 'generate_enclosure' => FALSE, + 'show_usernames' => TRUE, ); if (isset($_GET['src_url'])) { @@ -97,6 +111,10 @@ function parse_options_query_string() { $options['generate_enclosure'] = $_GET['generate_enclosure'] == 1; } + if (isset($_GET['show_usernames'])) { + $options['show_usernames'] = $_GET['show_usernames'] != 0; + } + return $options; } @@ -114,7 +132,7 @@ if (!isset($options['src_url'])) { exit(1); } -$tweeper = new Tweeper($options['generate_enclosure']); +$tweeper = new Tweeper($options['generate_enclosure'], $options['show_usernames']); $output = $tweeper->tweep($options['src_url']); if (is_null($output)) { exit(1);