Add option to enable or disable showing verbose output
[tweeper.git] / src / Tweeper.php
index 7ecbf2f..e98623b 100644 (file)
@@ -36,7 +36,7 @@ date_default_timezone_set('UTC');
  */
 class Tweeper {
 
-  private static $userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0";
+  private static $userAgent = "Mozilla/5.0";
   private static $maxConnectionTimeout = 5;
   private static $maxConnectionRetries = 5;
 
@@ -53,11 +53,14 @@ class Tweeper {
    *   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->verbose_output = $verbose_output;
   }
 
   /**
@@ -123,8 +126,6 @@ class Tweeper {
       CURLOPT_FOLLOWLOCATION => TRUE,
       CURLOPT_COOKIEFILE => "",
       CURLOPT_RETURNTRANSFER => TRUE,
-      CURLOPT_SSL_VERIFYHOST => FALSE,
-      CURLOPT_SSL_VERIFYPEER => FALSE,
       CURLOPT_HTTPHEADER => array('Accept-language: en'),
       CURLOPT_USERAGENT => Tweeper::$userAgent,
     ));
@@ -146,8 +147,6 @@ class Tweeper {
       // Follow http redirects to get the real URL.
       CURLOPT_FOLLOWLOCATION => TRUE,
       CURLOPT_RETURNTRANSFER => TRUE,
-      CURLOPT_SSL_VERIFYHOST => FALSE,
-      CURLOPT_SSL_VERIFYPEER => FALSE,
       CURLOPT_USERAGENT => Tweeper::$userAgent,
     ));
 
@@ -343,8 +342,10 @@ class Tweeper {
       $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);