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 session_set_admin () ;
37 setup_plugin_manager () ;
39 $res = db_query_params ('SELECT group_id, register_time FROM groups WHERE status=$1 AND use_scm=1 ORDER BY group_id DESC',
42 $this->setError('Unable to get list of projects using SCM: '.db_error());
48 if (count ($argv) >= 2 && $argv[1] == '--all') {
50 } elseif (count ($argv) == 2) {
55 while ($data = db_fetch_array ($res)) {
57 $time = $now - 86400 ;
58 $hook_params = array ('group_id' => $data['group_id'],
60 'year' => date ('Y', $time),
61 'month' => date ('n', $time),
62 'day' => date ('j', $time)) ;
63 plugin_hook ('scm_gather_stats', $hook_params) ;
64 } elseif ($mode == 'all') {
65 $time = $data['register_time'];
67 while ($time < $now) {
68 $hook_params = array ('group_id' => $data['group_id'],
70 'year' => date ('Y', $time),
71 'month' => date ('n', $time),
72 'day' => date ('j', $time)) ;
73 plugin_hook ('scm_gather_stats', $hook_params) ;
74 $time = $time + 86400 ;
79 if ($output) cron_entry(28, $output);
83 // c-file-style: "bsd"