diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2005-10-19 18:00:10 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2005-10-19 18:00:10 +0000 |
commit | b873b37607762868580bdd21b9c90f05db168921 (patch) | |
tree | b759644207a9579a9969a36812d6e8417df45485 /phpBB/cron.php | |
parent | 719763dec21c431b41adb8855f6fc4cd007b418b (diff) | |
download | forums-b873b37607762868580bdd21b9c90f05db168921.tar forums-b873b37607762868580bdd21b9c90f05db168921.tar.gz forums-b873b37607762868580bdd21b9c90f05db168921.tar.bz2 forums-b873b37607762868580bdd21b9c90f05db168921.tar.xz forums-b873b37607762868580bdd21b9c90f05db168921.zip |
- updated topic tracking code
- additional changes (mostly bugfixes)
- bart, if you update your user table with the user_lastmark field, set it to the user_lastvisit value ;)
- and last but not least, introducing some bugs in ucp main front (regarding topic tracking)
git-svn-id: file:///svn/phpbb/trunk@5272 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/cron.php')
-rw-r--r-- | phpBB/cron.php | 69 |
1 files changed, 61 insertions, 8 deletions
diff --git a/phpBB/cron.php b/phpBB/cron.php index 9fbbb812e6..6c4fdf6b7a 100644 --- a/phpBB/cron.php +++ b/phpBB/cron.php @@ -20,8 +20,12 @@ $cron_type = request_var('cron_type', ''); $use_shutdown_function = (@function_exists('register_shutdown_function')) ? true : false; -// Run cron-like action -// Real cron-based layer will be introduced in 3.2 +/** +* Run cron-like action +* Real cron-based layer will be introduced in 3.2 +* +* @todo: check gc-intervals here too (important!) +*/ switch ($cron_type) { case 'queue': @@ -35,7 +39,7 @@ switch ($cron_type) { $queue->process(); } - break; + break; case 'tidy_cache': if ($use_shutdown_function) @@ -46,7 +50,7 @@ switch ($cron_type) { $cache->tidy(); } - break; + break; case 'tidy_database': include_once($phpbb_root_path . 'includes/functions_admin.'.$phpEx); @@ -59,17 +63,66 @@ switch ($cron_type) { tidy_database(); } - break; + break; - case 'tidy_login_keys': + case 'tidy_sessions': if ($use_shutdown_function) { - register_shutdown_function(array(&$user, 'tidy_login_keys')); + register_shutdown_function(array(&$user, 'session_gc')); } else { - $user->tidy_login_keys(); + $user->session_gc(); + } + break; + + case 'prune_forum': + + $forum_id = request_var('f', 0); + + $sql = 'SELECT forum_id, prune_next, enable_prune, prune_days, prune_viewed, forum_flags, prune_freq + FROM ' . FORUMS_TABLE . " + WHERE forum_id = $forum_id"; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + if (!$row) + { + break; } + + // Do the forum Prune thang + if ($row['prune_next'] < time() && $row['enable_prune']) + { + include_once($phpbb_root_path . 'includes/functions_admin.'.$phpEx); + + if ($row['prune_days']) + { + if ($use_shutdown_function) + { + register_shutdown_function('auto_prune', $row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']); + } + else + { + auto_prune($row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']); + } + } + + if ($row['prune_viewed']) + { + if ($use_shutdown_function) + { + register_shutdown_function('auto_prune', $row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']); + } + else + { + auto_prune($row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']); + } + } + } + + break; } // Output transparent gif |