Aleksander Machniak
2016-05-22 77b5d7ee304a688a2eb115ce04b460b43c0dd700
commit | author | age
42de33 1 #!/usr/bin/env php
TB 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
0ea079 22 define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
42de33 23
TB 24 require INSTALL_PATH.'program/include/clisetup.php';
25
26 $rcmail = rcube::get_instance();
67fac3 27
AM 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
ee73a7 39 $rcmail->gc();