diff options
Diffstat (limited to 'mod/garbagecollector/start.php')
| -rw-r--r-- | mod/garbagecollector/start.php | 118 |
1 files changed, 55 insertions, 63 deletions
diff --git a/mod/garbagecollector/start.php b/mod/garbagecollector/start.php index 63d8e7f2a..c7bd20053 100644 --- a/mod/garbagecollector/start.php +++ b/mod/garbagecollector/start.php @@ -1,71 +1,63 @@ <?php - /** - * Elgg garbage collector. - * - * @package ElggGarbageCollector - */ +/** + * Elgg garbage collector. + * + * @package ElggGarbageCollector + */ - /** - * Initialise the plugin. - * - */ - function garbagecollector_init() - { - $period = get_plugin_setting('period','garbagecollector'); - switch ($period) - { - case 'weekly': - case 'monthly' : - case 'yearly' : +elgg_register_event_handler('init', 'system', 'garbagecollector_init'); + +function garbagecollector_init() { + $period = elgg_get_plugin_setting('period', 'garbagecollector'); + switch ($period) { + case 'weekly': + case 'monthly': + case 'yearly': break; - default: $period = 'monthly'; - } - - // Register cron hook - register_plugin_hook('cron', $period, 'garbagecollector_cron'); + default: + $period = 'monthly'; } - - /** - * Cron job - * - */ - function garbagecollector_cron($hook, $entity_type, $returnvalue, $params) - { - global $CONFIG; - - echo elgg_echo('garbagecollector'); - - // Garbage collect metastrings - echo elgg_echo('garbagecollector:gc:metastrings'); - - if (delete_orphaned_metastrings()!==false) { + + // Register cron hook + elgg_register_plugin_hook_handler('cron', $period, 'garbagecollector_cron'); +} + +/** + * Cron job + */ +function garbagecollector_cron($hook, $entity_type, $returnvalue, $params) { + + echo elgg_echo('garbagecollector'); + + // Garbage collect metastrings + echo elgg_echo('garbagecollector:gc:metastrings'); + + if (delete_orphaned_metastrings() !== false) { + echo elgg_echo('garbagecollector:ok'); + } else { + echo elgg_echo('garbagecollector:error'); + } + + echo "\n"; + + // Now, because we are nice, trigger a plugin hook to let other plugins do some GC + $rv = true; + $period = elgg_get_plugin_setting('period','garbagecollector'); + elgg_trigger_plugin_hook('gc', 'system', array('period' => $period)); + + // Now we optimize all tables + $tables = get_db_tables(); + foreach ($tables as $table) { + echo elgg_echo('garbagecollector:optimize', array($table)); + + if (optimize_table($table) !== false) { echo elgg_echo('garbagecollector:ok'); - } else + } else { echo elgg_echo('garbagecollector:error'); - - echo "\n"; - - // Now, because we are nice, trigger a plugin hook to let other plugins do some GC - $rv = true; - $period = get_plugin_setting('period','garbagecollector'); - trigger_plugin_hook('gc', 'system', array('period' => $period)); - - // Now we optimize all tables - $tables = get_db_tables(); - foreach ($tables as $table) { - echo sprintf(elgg_echo('garbagecollector:optimize'), $table); - - if (optimize_table($table)!==false) - echo elgg_echo('garbagecollector:ok'); - else - echo elgg_echo('garbagecollector:error'); - - echo "\n"; } - - echo elgg_echo('garbagecollector:done'); + + echo "\n"; } - - // Initialise plugin - register_elgg_event_handler('init','system','garbagecollector_init'); -?>
\ No newline at end of file + + echo elgg_echo('garbagecollector:done'); +} |
