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'];
|
||||
}
|
||||
|
||||
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) {
|
||||
$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) {
|
||||
PluginHost::getInstance()->load_data();
|
||||
$pluginhost->load_data();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -179,6 +179,8 @@
|
|||
$nf = 0;
|
||||
$bstarted = microtime(true);
|
||||
|
||||
$batch_owners = array();
|
||||
|
||||
// For each feed, we call the feed update function.
|
||||
foreach ($feeds_to_update as $feed) {
|
||||
if($debug) _debug("Base feed: $feed");
|
||||
|
@ -204,6 +206,9 @@
|
|||
while ($tline = db_fetch_assoc($tmp_result)) {
|
||||
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);
|
||||
$rss = update_rss_feed($tline["id"], true, false);
|
||||
_debug_suppress(false);
|
||||
|
@ -220,6 +225,12 @@
|
|||
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";
|
||||
|
||||
// Send feed digests by email if needed.
|
||||
|
@ -1502,6 +1513,14 @@
|
|||
_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) {
|
||||
expire_cached_files($debug);
|
||||
expire_lock_files($debug);
|
||||
|
@ -1517,6 +1536,5 @@
|
|||
//_debug("Cleaned $rc cached tags.");
|
||||
|
||||
PluginHost::getInstance()->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue