summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rwxr-xr-xclasses/article.php2
-rw-r--r--classes/diskcache.php2
-rwxr-xr-xclasses/handler/public.php18
-rwxr-xr-xclasses/pluginhost.php11
-rw-r--r--classes/pref/prefs.php2
-rwxr-xr-xclasses/rssutils.php4
-rw-r--r--classes/userhelper.php4
7 files changed, 24 insertions, 19 deletions
diff --git a/classes/article.php b/classes/article.php
index 5527b7253..3a58f4576 100755
--- a/classes/article.php
+++ b/classes/article.php
@@ -29,7 +29,7 @@ class Article extends Handler_Protected {
if (!$content) {
$pluginhost = new PluginHost();
$pluginhost->load_all(PluginHost::KIND_ALL, $owner_uid);
- $pluginhost->load_data();
+ //$pluginhost->load_data();
foreach ($pluginhost->get_hooks(PluginHost::HOOK_GET_FULL_TEXT) as $p) {
$extracted_content = $p->hook_get_full_text($url);
diff --git a/classes/diskcache.php b/classes/diskcache.php
index c56dc6f14..daa171bf6 100644
--- a/classes/diskcache.php
+++ b/classes/diskcache.php
@@ -395,7 +395,7 @@ class DiskCache {
$tmppluginhost = new PluginHost();
$tmppluginhost->load(PLUGINS, PluginHost::KIND_SYSTEM);
- $tmppluginhost->load_data();
+ //$tmppluginhost->load_data();
foreach ($tmppluginhost->get_hooks(PluginHost::HOOK_SEND_LOCAL_FILE) as $plugin) {
if ($plugin->hook_send_local_file($filename)) return true;
diff --git a/classes/handler/public.php b/classes/handler/public.php
index 86a82cc61..7fbad5530 100755
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -45,7 +45,7 @@ class Handler_Public extends Handler {
$tmppluginhost = new PluginHost();
$tmppluginhost->load(PLUGINS, PluginHost::KIND_ALL);
$tmppluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
- $tmppluginhost->load_data();
+ //$tmppluginhost->load_data();
$handler = $tmppluginhost->get_feed_handler(
PluginHost::feed_to_pfeed_id($feed));
@@ -82,13 +82,14 @@ class Handler_Public extends Handler {
while ($line = $result->fetch()) {
$line["content_preview"] = Sanitizer::sanitize(truncate_string(strip_tags($line["content"]), 100, '...'));
+ $line["tags"] = Article::get_article_tags($line["id"], $owner_uid);
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) {
$line = $p->hook_query_headlines($line);
}
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_ARTICLE_EXPORT_FEED) as $p) {
- $line = $p->hook_article_export_feed($line, $feed, $is_cat);
+ $line = $p->hook_article_export_feed($line, $feed, $is_cat, $owner_uid);
}
$tpl->setVariable('ARTICLE_ID',
@@ -121,9 +122,7 @@ class Handler_Public extends Handler {
$tpl->setVariable('ARTICLE_SOURCE_LINK', htmlspecialchars($line['site_url'] ? $line["site_url"] : get_self_url_prefix()), true);
$tpl->setVariable('ARTICLE_SOURCE_TITLE', htmlspecialchars($line['feed_title'] ? $line['feed_title'] : $feed_title), true);
- $tags = Article::get_article_tags($line["id"], $owner_uid);
-
- foreach ($tags as $tag) {
+ foreach ($line["tags"] as $tag) {
$tpl->setVariable('ARTICLE_CATEGORY', htmlspecialchars($tag), true);
$tpl->addBlock('category');
}
@@ -181,6 +180,7 @@ class Handler_Public extends Handler {
while ($line = $result->fetch()) {
$line["content_preview"] = Sanitizer::sanitize(truncate_string(strip_tags($line["content_preview"]), 100, '...'));
+ $line["tags"] = Article::get_article_tags($line["id"], $owner_uid);
foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) {
$line = $p->hook_query_headlines($line, 100);
@@ -202,12 +202,10 @@ class Handler_Public extends Handler {
if ($line['note']) $article['note'] = $line['note'];
if ($article['author']) $article['author'] = $line['author'];
- $tags = Article::get_article_tags($line["id"], $owner_uid);
-
- if (count($tags) > 0) {
+ if (count($line["tags"]) > 0) {
$article['tags'] = array();
- foreach ($tags as $tag) {
+ foreach ($line["tags"] as $tag) {
array_push($article['tags'], $tag);
}
}
@@ -1248,7 +1246,7 @@ class Handler_Public extends Handler {
$method = clean($_REQUEST["pmethod"]);
$host->load($plugin_name, PluginHost::KIND_USER, 0);
- $host->load_data();
+ //$host->load_data();
$plugin = $host->get_plugin($plugin_name);
diff --git a/classes/pluginhost.php b/classes/pluginhost.php
index 3ff658918..f84b07251 100755
--- a/classes/pluginhost.php
+++ b/classes/pluginhost.php
@@ -14,6 +14,7 @@ class PluginHost {
private $plugin_actions = array();
private $owner_uid;
private $last_registered;
+ private $data_loaded;
private static $instance;
const API_VERSION = 2;
@@ -268,6 +269,8 @@ class PluginHost {
}
}
}
+
+ $this->load_data();
}
function is_system($plugin) {
@@ -352,8 +355,8 @@ class PluginHost {
}
}
- function load_data() {
- if ($this->owner_uid) {
+ private function load_data() {
+ if ($this->owner_uid && !$this->data_loaded && get_schema_version() > 100) {
$sth = $this->pdo->prepare("SELECT name, content FROM ttrss_plugin_storage
WHERE owner_uid = ?");
$sth->execute([$this->owner_uid]);
@@ -361,6 +364,8 @@ class PluginHost {
while ($line = $sth->fetch()) {
$this->storage[$line["name"]] = unserialize($line["content"]);
}
+
+ $this->data_loaded = true;
}
}
@@ -411,6 +416,8 @@ class PluginHost {
function get($sender, $name, $default_value = false) {
$idx = get_class($sender);
+ $this->load_data();
+
if (isset($this->storage[$idx][$name])) {
return $this->storage[$idx][$name];
} else {
diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php
index bce3c171b..55a15efb8 100644
--- a/classes/pref/prefs.php
+++ b/classes/pref/prefs.php
@@ -911,7 +911,7 @@ class Pref_Prefs extends Handler_Protected {
$tmppluginhost = new PluginHost();
$tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"], true);
- $tmppluginhost->load_data(true);
+ //$tmppluginhost->load_data(true);
foreach ($tmppluginhost->get_plugins() as $name => $plugin) {
$about = $plugin->about();
diff --git a/classes/rssutils.php b/classes/rssutils.php
index 857bc2948..dc80dd965 100755
--- a/classes/rssutils.php
+++ b/classes/rssutils.php
@@ -276,7 +276,7 @@ class RSSUtils {
$pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
$pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
- $pluginhost->load_data();
+ //$pluginhost->load_data();
$basic_info = array();
foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_BASIC_INFO) as $plugin) {
@@ -403,7 +403,7 @@ class RSSUtils {
$pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
$pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
- $pluginhost->load_data();
+ //$pluginhost->load_data();
$rss_hash = false;
diff --git a/classes/userhelper.php b/classes/userhelper.php
index 6a80aed2b..76bb338d4 100644
--- a/classes/userhelper.php
+++ b/classes/userhelper.php
@@ -80,9 +80,9 @@ class UserHelper {
$pluginhost->load($plugins, PluginHost::KIND_USER, $owner_uid);
- if (get_schema_version() > 100) {
+ /*if (get_schema_version() > 100) {
$pluginhost->load_data();
- }
+ }*/
}
}