summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/article.php12
-rwxr-xr-xplugins/af_readability/init.php29
2 files changed, 19 insertions, 22 deletions
diff --git a/classes/article.php b/classes/article.php
index 983fcd193..c23a1b820 100755
--- a/classes/article.php
+++ b/classes/article.php
@@ -100,18 +100,6 @@ class Article extends Handler_Protected {
$pluginhost->load_all(PluginHost::KIND_ALL, $owner_uid);
$pluginhost->load_data();
- /*$af_readability = $pluginhost->get_plugin("Af_Readability");
-
- if ($af_readability) {
- $enable_share_anything = $pluginhost->get($af_readability, "enable_share_anything");
-
- if ($enable_share_anything) {
- $extracted_content = $af_readability->extract_content($url);
-
- if ($extracted_content) $content = $extracted_content;
- }
- }*/
-
foreach ($pluginhost->get_hooks(PluginHost::HOOK_GET_FULL_TEXT) as $p) {
$extracted_content = $p->hook_get_full_text($url);
diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php
index cc54edfae..8bb368389 100755
--- a/plugins/af_readability/init.php
+++ b/plugins/af_readability/init.php
@@ -38,12 +38,9 @@ class Af_Readability extends Plugin {
$host->add_hook($host::HOOK_PREFS_EDIT_FEED, $this);
$host->add_hook($host::HOOK_PREFS_SAVE_FEED, $this);
- $enable_share_anything = $this->host->get($this, "enable_share_anything");
-
- // provide full text services to external code
- // TODO: option that controls this needs a better caption
- if ($enable_share_anything)
- $host->add_hook($host::HOOK_GET_FULL_TEXT, $this);
+ // Note: we have to install the hook even if disabled because init() is being run before plugin data has loaded
+ // so we can't check for our storage-set options here
+ $host->add_hook($host::HOOK_GET_FULL_TEXT, $this);
$host->add_filter_action($this, "action_inline", __("Inline content"));
}
@@ -176,7 +173,7 @@ class Af_Readability extends Plugin {
if ($tmp && mb_strlen($tmp) < 1024 * 500) {
$tmpdoc = new DOMDocument("1.0", "UTF-8");
- if (!$tmpdoc->loadHTML($tmp))
+ if (!@$tmpdoc->loadHTML($tmp))
return false;
// this is the worst hack yet :(
@@ -244,10 +241,22 @@ class Af_Readability extends Plugin {
}
- function hook_get_full_text($link) {
- $extracted_content = $this->extract_content($link);
+ function hook_get_full_text($link)
+ {
+ $enable_share_anything = $this->host->get($this, "enable_share_anything");
+
+ if ($enable_share_anything) {
+ $extracted_content = $this->extract_content($link);
- return trim(strip_tags(sanitize($extracted_content)));
+ # let's see if there's anything of value in there
+ $content_test = trim(strip_tags(sanitize($extracted_content)));
+
+ if ($content_test) {
+ return $extracted_content;
+ }
+ }
+
+ return false;
}
function api_version() {