aboutsummaryrefslogtreecommitdiff
path: root/mod/logrotate/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/logrotate/start.php')
-rw-r--r--mod/logrotate/start.php15
1 files changed, 14 insertions, 1 deletions
diff --git a/mod/logrotate/start.php b/mod/logrotate/start.php
index f9a9a0449..349b5ad84 100644
--- a/mod/logrotate/start.php
+++ b/mod/logrotate/start.php
@@ -36,7 +36,20 @@
function logrotate_cron($hook, $entity_type, $returnvalue, $params)
{
$resulttext = elgg_echo("logrotate:logrotated");
- if (!archive_log())
+
+ $day = 86400;
+
+ $offset = 0;
+ $period = get_plugin_setting('period','logrotate');
+ switch ($period)
+ {
+ case 'weekly': $offset = $day * 7; break;
+ case 'yearly' : $offset = $day * 365; break;
+ case 'monthly' : // assume 28 days even if a month is longer. Won't cause data loss.
+ default: $offset = $day * 28;;
+ }
+
+ if (!archive_log($offset))
$resulttext = elgg_echo("logrotate:lognotrotated");
return $returnvalue . $resulttext;