X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/25c3e276f01838c8fa55e9ca59f01d2707392988..77e6cd315b5c270104a1116102d0296cf3e6495b:/tweeper.php diff --git a/tweeper.php b/tweeper.php index ff98ab7..2d5017e 100644 --- a/tweeper.php +++ b/tweeper.php @@ -1,9 +1,10 @@ + * 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 +38,10 @@ function is_cli() { */ function usage($argv) { if (is_cli()) { - $usage = "{$argv[0]} [-e|-h|--help] \n"; + $usage = "{$argv[0]} [-e|-m <0|1>|-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>&show_multimedia=<0|1>"); } return "usage: $usage"; @@ -52,19 +53,41 @@ function usage($argv) { function parse_options_cli($argv, $argc) { $options = array( 'generate_enclosure' => FALSE, + 'show_usernames' => TRUE, + 'show_multimedia' => TRUE, ); if ($argc < 2) { return $options; } - $cli_options = getopt("eh", array("help")); + $cli_options = getopt("em:u:h", array("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) { + 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 +99,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 +112,8 @@ function parse_options_cli($argv, $argc) { function parse_options_query_string() { $options = array( 'generate_enclosure' => FALSE, + 'show_usernames' => TRUE, + 'show_multimedia' => TRUE, ); if (isset($_GET['src_url'])) { @@ -97,6 +124,14 @@ 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; + } + return $options; } @@ -114,7 +149,7 @@ if (!isset($options['src_url'])) { exit(1); } -$tweeper = new Tweeper($options['generate_enclosure']); +$tweeper = new Tweeper($options['generate_enclosure'], $options['show_usernames'], $options['show_multimedia']); $output = $tweeper->tweep($options['src_url']); if (is_null($output)) { exit(1);