aboutsummaryrefslogtreecommitdiff
path: root/mod/logrotate/start.php
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-10-27 17:00:26 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-10-27 17:00:26 +0000
commit0af57b1b96d841c98496a29c8bdac11451e64971 (patch)
tree47b4c0c41ba6ff928cd55394bbc8590a26bd42aa /mod/logrotate/start.php
parentd33b1210925eb4077b582e0c17875103c09772c2 (diff)
downloadelgg-0af57b1b96d841c98496a29c8bdac11451e64971.tar.gz
elgg-0af57b1b96d841c98496a29c8bdac11451e64971.tar.bz2
Closes #215: Log rotation added.
git-svn-id: https://code.elgg.org/elgg/trunk@2318 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/logrotate/start.php')
-rw-r--r--mod/logrotate/start.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/mod/logrotate/start.php b/mod/logrotate/start.php
new file mode 100644
index 000000000..f9a9a0449
--- /dev/null
+++ b/mod/logrotate/start.php
@@ -0,0 +1,47 @@
+<?php
+ /**
+ * Elgg log rotator.
+ *
+ * @package ElggLogRotate
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008
+ * @link http://elgg.com/
+ */
+
+ /**
+ * Initialise the plugin.
+ *
+ */
+ function logrotate_init()
+ {
+ $period = get_plugin_setting('period','logrotate');
+ switch ($period)
+ {
+ case 'weekly':
+ case 'monthly' :
+ case 'yearly' :
+ break;
+ default: $period = 'monthly';
+ }
+
+ // Register cron hook
+ register_plugin_hook('cron', $period, 'logrotate_cron');
+ }
+
+ /**
+ * Trigger the log rotation.
+ *
+ */
+ function logrotate_cron($hook, $entity_type, $returnvalue, $params)
+ {
+ $resulttext = elgg_echo("logrotate:logrotated");
+ if (!archive_log())
+ $resulttext = elgg_echo("logrotate:lognotrotated");
+
+ return $returnvalue . $resulttext;
+ }
+
+ // Initialise plugin
+ register_elgg_event_handler('init','system','logrotate_init');
+?> \ No newline at end of file