diff options
Diffstat (limited to 'mod/garbagecollector')
| -rw-r--r-- | mod/garbagecollector/languages/en.php | 57 | ||||
| -rw-r--r-- | mod/garbagecollector/manifest.xml | 25 | ||||
| -rw-r--r-- | mod/garbagecollector/start.php | 122 | ||||
| -rw-r--r-- | mod/garbagecollector/views/default/plugins/garbagecollector/settings.php (renamed from mod/garbagecollector/views/default/settings/garbagecollector/edit.php) | 22 |
4 files changed, 109 insertions, 117 deletions
diff --git a/mod/garbagecollector/languages/en.php b/mod/garbagecollector/languages/en.php index fc6b58521..b32670a0c 100644 --- a/mod/garbagecollector/languages/en.php +++ b/mod/garbagecollector/languages/en.php @@ -1,36 +1,25 @@ <?php - /** - * Elgg garbage collector language pack. - * - * @package ElggGarbageCollector - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider Ltd - * @copyright Curverider Ltd 2008-2009 - * @link http://elgg.com/ - */ +/** + * Elgg garbage collector language pack. + * + * @package ElggGarbageCollector + */ - $english = array( - - /** - * Menu items and titles - */ - - 'garbagecollector:period' => 'How often should the Elgg garbage collector run?', - - 'garbagecollector:weekly' => 'Once a week', - 'garbagecollector:monthly' => 'Once a month', - 'garbagecollector:yearly' => 'Once a year',
- - 'garbagecollector' => "GARBAGE COLLECTOR\n", - 'garbagecollector:done' => "DONE\n", - 'garbagecollector:optimize' => "Optimizing %s ", - - 'garbagecollector:error' => "ERROR", - 'garbagecollector:ok' => "OK", - - 'garbagecollector:gc:metastrings' => 'Cleaning up unlinked metastrings: ', - - ); - - add_translation("en",$english); -?>
\ No newline at end of file +$english = array( + 'garbagecollector:period' => 'How often should the Elgg garbage collector run?', + + 'garbagecollector:weekly' => 'Once a week', + 'garbagecollector:monthly' => 'Once a month', + 'garbagecollector:yearly' => 'Once a year', + + 'garbagecollector' => "GARBAGE COLLECTOR\n", + 'garbagecollector:done' => "DONE\n", + 'garbagecollector:optimize' => "Optimizing %s ", + + 'garbagecollector:error' => "ERROR", + 'garbagecollector:ok' => "OK", + + 'garbagecollector:gc:metastrings' => 'Cleaning up unlinked metastrings: ', +); + +add_translation("en", $english);
\ No newline at end of file diff --git a/mod/garbagecollector/manifest.xml b/mod/garbagecollector/manifest.xml index a414554d5..5aafebf38 100644 --- a/mod/garbagecollector/manifest.xml +++ b/mod/garbagecollector/manifest.xml @@ -1,10 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> -<plugin_manifest> - <field key="author" value="Curverider ltd" /> - <field key="version" value="1.0" /> - <field key="description" value="Perform some database cleanup tasks" /> - <field key="website" value="http://www.elgg.org/" /> - <field key="copyright" value="(C) Curverider 2008-2009" /> - <field key="licence" value="GNU Public License version 2" /> - <field key="elgg_version" value="2009021901" /> -</plugin_manifest>
\ No newline at end of file +<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8"> + <name>Garbage Collector</name> + <author>Core developers</author> + <version>1.5</version> + <category>bundled</category> + <category>admin</category> + <description>Perform some database cleanup tasks</description> + <website>http://www.elgg.org/</website> + <copyright>See COPYRIGHT.txt</copyright> + <license>GNU General Public License version 2</license> + <requires> + <type>elgg_release</type> + <version>1.8</version> + </requires> + <activate_on_install>true</activate_on_install> +</plugin_manifest> diff --git a/mod/garbagecollector/start.php b/mod/garbagecollector/start.php index eaef8846f..c7bd20053 100644 --- a/mod/garbagecollector/start.php +++ b/mod/garbagecollector/start.php @@ -1,75 +1,63 @@ <?php - /** - * Elgg garbage collector. - * - * @package ElggGarbageCollector - * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 - * @author Curverider Ltd - * @copyright Curverider Ltd 2008-2009 - * @link http://elgg.com/ - */ +/** + * 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('system', 'gc', 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'); +} diff --git a/mod/garbagecollector/views/default/settings/garbagecollector/edit.php b/mod/garbagecollector/views/default/plugins/garbagecollector/settings.php index 19ae3d245..3ade780f9 100644 --- a/mod/garbagecollector/views/default/settings/garbagecollector/edit.php +++ b/mod/garbagecollector/views/default/plugins/garbagecollector/settings.php @@ -1,14 +1,22 @@ <?php - $period = $vars['entity']->period; - if (!$period) $period = 'monthly'; - +/** + * Elgg garbage collector plugin settings. + * + * @package ElggGarbageCollector + */ + +$period = $vars['entity']->period; +if (!$period) { + $period = 'monthly'; +} + ?> -<p> +<div> <?php echo elgg_echo('garbagecollector:period'); ?> <?php - echo elgg_view('input/pulldown', array( - 'internalname' => 'params[period]', + echo elgg_view('input/dropdown', array( + 'name' => 'params[period]', 'options_values' => array( 'weekly' => elgg_echo('garbagecollector:weekly'), 'monthly' => elgg_echo('garbagecollector:monthly'), @@ -17,4 +25,4 @@ 'value' => $period )); ?> -</p> +</div> |
