diff options
author | Andrew Dolgov <[email protected]> | 2018-06-20 14:58:09 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2018-06-20 14:58:09 +0300 |
commit | 2aaefbfa54447c37a74aaf126f864fac629e9bd5 (patch) | |
tree | 971c158cde0e95b7610c0a3d3072c45338cddd7d /plugins/af_readability | |
parent | d00d515320adb57165f7a69bd1c9afc72d51b87f (diff) |
update autoloader to consider namespaces for third party libraries: placed and loaded from vendor/namespace/classpath.php
update readability to a newer implementation based on Readability.js (https://github.com/andreskrey/readability.php)
add vendor/Psr/Log interface required for the above
Diffstat (limited to 'plugins/af_readability')
-rwxr-xr-x | plugins/af_readability/init.php | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php index 2d08a621c..807231390 100755 --- a/plugins/af_readability/init.php +++ b/plugins/af_readability/init.php @@ -1,4 +1,7 @@ <?php +use andreskrey\Readability\Readability; +use andreskrey\Readability\Configuration; + class Af_Readability extends Plugin { /* @var PluginHost $host */ @@ -162,30 +165,35 @@ class Af_Readability extends Plugin { $tmp = $tmpdoc->saveHTML(); } - $r = new Readability($tmp, $fetch_effective_url); + $r = new Readability(new Configuration()); - if ($r->init()) { - $tmpxpath = new DOMXPath($r->dom); + try { + if ($r->parse($tmp)) { - $entries = $tmpxpath->query('(//a[@href]|//img[@src])'); + $tmpxpath = new DOMXPath($r->getDOMDOcument()); + $entries = $tmpxpath->query('(//a[@href]|//img[@src])'); - foreach ($entries as $entry) { - if ($entry->hasAttribute("href")) { - $entry->setAttribute("href", - rewrite_relative_url($fetch_effective_url, $entry->getAttribute("href"))); + foreach ($entries as $entry) { + if ($entry->hasAttribute("href")) { + $entry->setAttribute("href", + rewrite_relative_url($fetch_effective_url, $entry->getAttribute("href"))); - } + } - if ($entry->hasAttribute("src")) { - $entry->setAttribute("src", - rewrite_relative_url($fetch_effective_url, $entry->getAttribute("src"))); + if ($entry->hasAttribute("src")) { + $entry->setAttribute("src", + rewrite_relative_url($fetch_effective_url, $entry->getAttribute("src"))); + } } + return $r->getContent(); } - return $r->articleContent->innerHTML; + } catch (ParseException $e) { + return false; } + } return false; |