4 * FusionForge source control management
6 * Copyright 2009, Roland Mas
8 * This file is part of FusionForge. FusionForge is free software;
9 * you can redistribute it and/or modify it under the terms of the
10 * GNU General Public License as published by the Free Software
11 * Foundation; either version 2 of the Licence, or (at your option)
14 * FusionForge is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 require (dirname(__FILE__).'/../www/env.inc.php');
25 require_once $gfcommon.'include/pre.php';
26 require_once $gfcommon.'include/cron_utils.php';
29 require_once $gfcommon.'include/Plugin.class.php' ;
30 require_once $gfcommon.'include/PluginManager.class.php' ;
32 // SCM-specific plugins subsystem
33 require_once $gfcommon.'include/SCMPlugin.class.php' ;
35 setup_plugin_manager () ;
37 $res = db_query_params ('SELECT group_id FROM groups WHERE status=$1 AND use_scm=1 ORDER BY group_id DESC',
40 $this->setError('Unable to get list of projects using SCM: '.db_error());
45 if (count ($argv) >= 2 && $argv[1] == '--all') {
49 while ($data = db_fetch_array ($res)) {
51 $time = time () - 86400 ;
52 $hook_params = array ('group_id' => $data['group_id'],
54 'year' => date ('Y', $time),
55 'month' => date ('n', $time),
56 'day' => date ('j', $time)) ;
57 plugin_hook ('scm_gather_stats', $hook_params) ;
58 } elseif ($mode == 'all') {
62 while ($time < $now) {
63 $day = date ('Y-m-d', $time) ;
64 print "processing $day\n" ;
65 if ($day != $last_seen_day) {
66 $hook_params = array ('group_id' => $data['group_id'],
68 'year' => date ('Y', $time),
69 'month' => date ('n', $time),
70 'day' => date ('j', $time)) ;
71 plugin_hook ('scm_gather_stats', $hook_params) ;
72 $last_seen_day = $day ;
74 $time = $time + 80000 ;
81 // c-file-style: "bsd"