perform housekeeping tasks for plugins loaded in user-context only
This commit is contained in:
parent
d39a2f8005
commit
5cbd1fe8e4
|
@ -833,14 +833,17 @@
|
||||||
return $csrf_token == $_SESSION['csrf_token'];
|
return $csrf_token == $_SESSION['csrf_token'];
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_user_plugins($owner_uid) {
|
function load_user_plugins($owner_uid, $pluginhost = false) {
|
||||||
|
|
||||||
|
if (!$pluginhost) $pluginhost = PluginHost::getInstance();
|
||||||
|
|
||||||
if ($owner_uid && SCHEMA_VERSION >= 100) {
|
if ($owner_uid && SCHEMA_VERSION >= 100) {
|
||||||
$plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
|
$plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
|
||||||
|
|
||||||
PluginHost::getInstance()->load($plugins, PluginHost::KIND_USER, $owner_uid);
|
$pluginhost->load($plugins, PluginHost::KIND_USER, $owner_uid);
|
||||||
|
|
||||||
if (get_schema_version() > 100) {
|
if (get_schema_version() > 100) {
|
||||||
PluginHost::getInstance()->load_data();
|
$pluginhost->load_data();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,6 +179,8 @@
|
||||||
$nf = 0;
|
$nf = 0;
|
||||||
$bstarted = microtime(true);
|
$bstarted = microtime(true);
|
||||||
|
|
||||||
|
$batch_owners = array();
|
||||||
|
|
||||||
// For each feed, we call the feed update function.
|
// For each feed, we call the feed update function.
|
||||||
foreach ($feeds_to_update as $feed) {
|
foreach ($feeds_to_update as $feed) {
|
||||||
if($debug) _debug("Base feed: $feed");
|
if($debug) _debug("Base feed: $feed");
|
||||||
|
@ -204,6 +206,9 @@
|
||||||
while ($tline = db_fetch_assoc($tmp_result)) {
|
while ($tline = db_fetch_assoc($tmp_result)) {
|
||||||
if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]);
|
if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]);
|
||||||
|
|
||||||
|
if (array_search($tline["owner_uid"], $batch_owners) === FALSE)
|
||||||
|
array_push($batch_owners, $tline["owner_uid"]);
|
||||||
|
|
||||||
$fstarted = microtime(true);
|
$fstarted = microtime(true);
|
||||||
$rss = update_rss_feed($tline["id"], true, false);
|
$rss = update_rss_feed($tline["id"], true, false);
|
||||||
_debug_suppress(false);
|
_debug_suppress(false);
|
||||||
|
@ -220,6 +225,12 @@
|
||||||
microtime(true) - $bstarted, (microtime(true) - $bstarted) / $nf));
|
microtime(true) - $bstarted, (microtime(true) - $bstarted) / $nf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($batch_owners as $owner_uid) {
|
||||||
|
_debug("Running housekeeping tasks for user $owner_uid...");
|
||||||
|
|
||||||
|
housekeeping_user($owner_uid);
|
||||||
|
}
|
||||||
|
|
||||||
require_once "digest.php";
|
require_once "digest.php";
|
||||||
|
|
||||||
// Send feed digests by email if needed.
|
// Send feed digests by email if needed.
|
||||||
|
@ -1502,6 +1513,14 @@
|
||||||
_debug("Removed $frows (feeds) $crows (cats) orphaned counter cache entries.");
|
_debug("Removed $frows (feeds) $crows (cats) orphaned counter cache entries.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function housekeeping_user($owner_uid) {
|
||||||
|
$tmph = new PluginHost();
|
||||||
|
|
||||||
|
load_user_plugins($owner_uid, $tmph);
|
||||||
|
|
||||||
|
$tmph->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
|
||||||
|
}
|
||||||
|
|
||||||
function housekeeping_common($debug) {
|
function housekeeping_common($debug) {
|
||||||
expire_cached_files($debug);
|
expire_cached_files($debug);
|
||||||
expire_lock_files($debug);
|
expire_lock_files($debug);
|
||||||
|
@ -1517,6 +1536,5 @@
|
||||||
//_debug("Cleaned $rc cached tags.");
|
//_debug("Cleaned $rc cached tags.");
|
||||||
|
|
||||||
PluginHost::getInstance()->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
|
PluginHost::getInstance()->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue