Tweeper by default shows non-fatal errors and warnings from the php XML
parser.
These messages can be distracting for some users, so add a '-v' option
to enable or disable the verbose output.
Keep the current behavior of showing verbose output as the default one
for backwards compatibility, the user can pass '-v 0' to silence it.
* Enables showing multimedia content (images, videos) directly in the
* item description (enabled by default). Only some stylesheets supports
* this functionality (twitter, instagram, dilbert).
* Enables showing multimedia content (images, videos) directly in the
* item description (enabled by default). Only some stylesheets supports
* this functionality (twitter, instagram, dilbert).
+ * @param bool $verbose_output
+ * Enables showing non-fatal errors like XML parsing errors.
- public function __construct($generate_enclosure = FALSE, $show_usernames = TRUE, $show_multimedia = TRUE) {
+ public function __construct($generate_enclosure = FALSE, $show_usernames = TRUE, $show_multimedia = TRUE, $verbose_output = TRUE) {
$this->generate_enclosure = $generate_enclosure;
$this->show_usernames = $show_usernames;
$this->show_multimedia = $show_multimedia;
$this->generate_enclosure = $generate_enclosure;
$this->show_usernames = $show_usernames;
$this->show_multimedia = $show_multimedia;
+ $this->verbose_output = $verbose_output;
$xmlDoc->loadHTML($html);
}
$xmlDoc->loadHTML($html);
}
- foreach (libxml_get_errors() as $xml_error) {
- Tweeper::logXmlError($xml_error);
+ if ($this->verbose_output) {
+ foreach (libxml_get_errors() as $xml_error) {
+ Tweeper::logXmlError($xml_error);
+ }
}
libxml_clear_errors();
libxml_use_internal_errors($xml_errors_value);
}
libxml_clear_errors();
libxml_use_internal_errors($xml_errors_value);
enable or disable showing usernames in front of the item for hosts which
supports it (Twitter.com/Instagram.com). Default is 1 (enable).
enable or disable showing usernames in front of the item for hosts which
supports it (Twitter.com/Instagram.com). Default is 1 (enable).
+*-v <0|1>*::
+ enable or disable showing verbose output like, for instance, non-fatal
+ errors and warnings from the XML parser. Default is 1 (enable).
+
*-h, --help*::
show the help message
*-h, --help*::
show the help message
*/
function usage($argv) {
if (is_cli()) {
*/
function usage($argv) {
if (is_cli()) {
- $usage = "{$argv[0]} [-e|-m <0|1>|-u <0|1>|-h|--help] <src_url>\n";
+ $usage = "{$argv[0]} [-e|-m <0|1>|-u <0|1>|-v <0|1>|-h|--help] <src_url>\n";
- $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=<src_url>&generate_enclosure=<0|1>&show_usernames=<0|1>&show_multimedia=<0|1>");
+ $usage = htmlentities("{$_SERVER['SCRIPT_NAME']}?src_url=<src_url>&generate_enclosure=<0|1>&show_usernames=<0|1>&show_multimedia=<0|1>&verbose_output=<0|1>");
}
return "usage: $usage";
}
return "usage: $usage";
'generate_enclosure' => FALSE,
'show_usernames' => TRUE,
'show_multimedia' => TRUE,
'generate_enclosure' => FALSE,
'show_usernames' => TRUE,
'show_multimedia' => TRUE,
+ 'verbose_output' => TRUE,
);
if ($argc < 2) {
return $options;
}
);
if ($argc < 2) {
return $options;
}
- $cli_options = getopt("em:u:h", array("help"));
+ $cli_options = getopt("em:u:v:h", array("help"));
foreach ($cli_options as $opt => $val) {
switch ($opt) {
case 'e':
foreach ($cli_options as $opt => $val) {
switch ($opt) {
case 'e':
$options['show_usernames'] = $val;
break;
$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);
case 'h':
case 'help':
echo usage($argv);
'generate_enclosure' => FALSE,
'show_usernames' => TRUE,
'show_multimedia' => TRUE,
'generate_enclosure' => FALSE,
'show_usernames' => TRUE,
'show_multimedia' => TRUE,
+ 'verbose_output' => TRUE,
);
if (isset($_GET['src_url'])) {
);
if (isset($_GET['src_url'])) {
$options['show_usernames'] = $_GET['show_usernames'] != 0;
}
$options['show_usernames'] = $_GET['show_usernames'] != 0;
}
+ if (isset($_GET['verbose_output'])) {
+ $options['verbose_output'] = $_GET['verbose_output'] != 0;
+ }
+
-$tweeper = new Tweeper($options['generate_enclosure'], $options['show_usernames'], $options['show_multimedia']);
+$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);
$output = $tweeper->tweep($options['src_url']);
if (is_null($output)) {
exit(1);