aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMaryana Rozhankivska <mariroz@mr.lviv.ua>2014-07-09 16:50:52 +0300
committerMaryana Rozhankivska <mariroz@mr.lviv.ua>2014-07-09 16:50:52 +0300
commitcc1ec61b857cc793abab719c164496e8290291c1 (patch)
treee81b4ef10f2559a081d9bacf353dc408df4790fa
parent4247b37551ae8aa35840ddadcec1c781a8e56d4b (diff)
downloadwallabag-cc1ec61b857cc793abab719c164496e8290291c1.tar.gz
wallabag-cc1ec61b857cc793abab719c164496e8290291c1.tar.zst
wallabag-cc1ec61b857cc793abab719c164496e8290291c1.zip
fix of issue #619 and other similar, error in JSLikeHTMLElement: node no longer exists.
-rwxr-xr-x[-rw-r--r--]inc/3rdparty/libraries/readability/Readability.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/inc/3rdparty/libraries/readability/Readability.php b/inc/3rdparty/libraries/readability/Readability.php
index d0f09d74..9e77dc55 100644..100755
--- a/inc/3rdparty/libraries/readability/Readability.php
+++ b/inc/3rdparty/libraries/readability/Readability.php
@@ -679,6 +679,7 @@ class Readability
679 } else { 679 } else {
680 $topCandidate->innerHTML = $page->documentElement->innerHTML; 680 $topCandidate->innerHTML = $page->documentElement->innerHTML;
681 $page->documentElement->innerHTML = ''; 681 $page->documentElement->innerHTML = '';
682 $this->reinitBody();
682 $page->documentElement->appendChild($topCandidate); 683 $page->documentElement->appendChild($topCandidate);
683 } 684 }
684 } else { 685 } else {
@@ -794,8 +795,7 @@ class Readability
794 { 795 {
795 // TODO: find out why element disappears sometimes, e.g. for this URL http://www.businessinsider.com/6-hedge-fund-etfs-for-average-investors-2011-7 796 // TODO: find out why element disappears sometimes, e.g. for this URL http://www.businessinsider.com/6-hedge-fund-etfs-for-average-investors-2011-7
796 // in the meantime, we check and create an empty element if it's not there. 797 // in the meantime, we check and create an empty element if it's not there.
797 if (!isset($this->body->childNodes)) $this->body = $this->dom->createElement('body'); 798 $this->reinitBody();
798 $this->body->innerHTML = $this->bodyCache;
799 799
800 if ($this->flagIsActive(self::FLAG_STRIP_UNLIKELYS)) { 800 if ($this->flagIsActive(self::FLAG_STRIP_UNLIKELYS)) {
801 $this->removeFlag(self::FLAG_STRIP_UNLIKELYS); 801 $this->removeFlag(self::FLAG_STRIP_UNLIKELYS);
@@ -1134,5 +1134,18 @@ class Readability
1134 public function removeFlag($flag) { 1134 public function removeFlag($flag) {
1135 $this->flags = $this->flags & ~$flag; 1135 $this->flags = $this->flags & ~$flag;
1136 } 1136 }
1137
1138 /**
1139 * Will recreate previously deleted body property
1140 *
1141 * @return void
1142 */
1143 protected function reinitBody() {
1144 if (!isset($this->body->childNodes)) {
1145 $this->body = $this->dom->createElement('body');
1146 }
1147 $this->body->innerHTML = $this->bodyCache;
1148 }
1149
1137} 1150}
1138?> \ No newline at end of file 1151?> \ No newline at end of file