af_readability: fix HOOK_GET_FULL_TEXT not being installed because plugin init() is called before load_data()
This commit is contained in:
parent
ccc0315ef0
commit
fda475bd93
|
@ -100,18 +100,6 @@ class Article extends Handler_Protected {
|
||||||
$pluginhost->load_all(PluginHost::KIND_ALL, $owner_uid);
|
$pluginhost->load_all(PluginHost::KIND_ALL, $owner_uid);
|
||||||
$pluginhost->load_data();
|
$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) {
|
foreach ($pluginhost->get_hooks(PluginHost::HOOK_GET_FULL_TEXT) as $p) {
|
||||||
$extracted_content = $p->hook_get_full_text($url);
|
$extracted_content = $p->hook_get_full_text($url);
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,8 @@ class Af_Readability extends Plugin {
|
||||||
$host->add_hook($host::HOOK_PREFS_EDIT_FEED, $this);
|
$host->add_hook($host::HOOK_PREFS_EDIT_FEED, $this);
|
||||||
$host->add_hook($host::HOOK_PREFS_SAVE_FEED, $this);
|
$host->add_hook($host::HOOK_PREFS_SAVE_FEED, $this);
|
||||||
|
|
||||||
$enable_share_anything = $this->host->get($this, "enable_share_anything");
|
// 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
|
||||||
// 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);
|
$host->add_hook($host::HOOK_GET_FULL_TEXT, $this);
|
||||||
|
|
||||||
$host->add_filter_action($this, "action_inline", __("Inline content"));
|
$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) {
|
if ($tmp && mb_strlen($tmp) < 1024 * 500) {
|
||||||
$tmpdoc = new DOMDocument("1.0", "UTF-8");
|
$tmpdoc = new DOMDocument("1.0", "UTF-8");
|
||||||
|
|
||||||
if (!$tmpdoc->loadHTML($tmp))
|
if (!@$tmpdoc->loadHTML($tmp))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// this is the worst hack yet :(
|
// this is the worst hack yet :(
|
||||||
|
@ -244,10 +241,22 @@ class Af_Readability extends Plugin {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function hook_get_full_text($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);
|
$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() {
|
function api_version() {
|
||||||
|
|
Loading…
Reference in New Issue