]> git.wh0rd.org - tt-rss.git/commitdiff
Feedparser: Store libXML fatal error messages in an array, repair error reporting
authorwltb <wltb@localhost.com>
Thu, 26 Sep 2013 17:56:45 +0000 (19:56 +0200)
committerwltb <wltb@localhost.com>
Thu, 26 Sep 2013 17:56:45 +0000 (19:56 +0200)
classes/feedparser.php

index 2942fb27d4ff367d44621b99c7f59f9a6b337daf..4eaeb242900d0b244d43ba882f698341c8c06774 100644 (file)
@@ -2,6 +2,7 @@
 class FeedParser {
        private $doc;
        private $error;
+       private $libxml_errors = array();
        private $items;
        private $link;
        private $title;
@@ -63,12 +64,12 @@ class FeedParser {
                        }
                }
 
-               $this->error = "";
                if ($error) {
                        foreach (libxml_get_errors() as $error) {
                                if ($error->level == LIBXML_ERR_FATAL) {
-                                       $this->error = $this->format_error($error);
-                                       break; //break here because currently we only show one error
+                                       if(!isset($this->error)) //currently only the first error is reported
+                                               $this->error = $this->format_error($error);
+                                       $this->libxml_errors [] = $this->format_error($error);
                                }
                        }
                }
@@ -216,6 +217,10 @@ class FeedParser {
                return $this->error;
        }
 
+       function errors() {
+               return $this->libxml_errors;
+       }
+
        function get_link() {
                return $this->link;
        }