0
|
1 #!/usr/bin/env php
|
|
2 <?php
|
|
3 /*
|
|
4 +-----------------------------------------------------------------------+
|
|
5 | bin/gc.sh |
|
|
6 | |
|
|
7 | This file is part of the Roundcube Webmail client |
|
|
8 | Copyright (C) 2013, The Roundcube Dev Team |
|
|
9 | |
|
|
10 | Licensed under the GNU General Public License version 3 or |
|
|
11 | any later version with exceptions for skins & plugins. |
|
|
12 | See the README file for a full license statement. |
|
|
13 | |
|
|
14 | PURPOSE: |
|
|
15 | Trigger garbage collecting routines manually (e.g. via cronjob) |
|
|
16 | |
|
|
17 +-----------------------------------------------------------------------+
|
|
18 | Author: Thomas Bruederli <roundcube@gmail.com> |
|
|
19 +-----------------------------------------------------------------------+
|
|
20 */
|
|
21
|
|
22 define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
|
|
23
|
|
24 require INSTALL_PATH.'program/include/clisetup.php';
|
|
25
|
|
26 $rcmail = rcube::get_instance();
|
|
27
|
|
28 $session_driver = $rcmail->config->get('session_storage', 'db');
|
|
29 $session_lifetime = $rcmail->config->get('session_lifetime', 0) * 60 * 2;
|
|
30
|
|
31 // Clean expired SQL sessions
|
|
32 if ($session_driver == 'db' && $session_lifetime) {
|
|
33 $db = $rcmail->get_dbh();
|
|
34 $db->query("DELETE FROM " . $db->table_name('session')
|
|
35 . " WHERE changed < " . $db->now(-$session_lifetime));
|
|
36 }
|
|
37
|
|
38 // Clean caches and temp directory
|
|
39 $rcmail->gc();
|