File: StatPerStatus.php

package info (click to toggle)
fusionforge 5.3.2%2B20141104-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 60,472 kB
  • sloc: php: 271,846; sql: 36,817; python: 14,575; perl: 6,406; sh: 5,980; xml: 4,294; pascal: 1,411; makefile: 911; cpp: 52; awk: 27
file content (88 lines) | stat: -rw-r--r-- 3,225 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
 * MantisBT plugin
 *
 * Copyright 2010-2011, Franck Villaume - Capgemini
 * http://fusionforge.org
 *
 * This file is part of FusionForge. FusionForge is free software;
 * you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the Licence, or (at your option)
 * any later version.
 *
 * FusionForge is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

/* main display */
global $HTML;
global $mantisbt;
global $group_id;
global $mantisbtConf;
global $username;
global $password;

try {
	/* do not recreate $clientSOAP object if already created by other pages */
	if (!isset($clientSOAP))
		$clientSOAP = new SoapClient($mantisbtConf['url']."/api/soap/mantisconnect.php?wsdl", array('trace'=>true, 'exceptions'=>true));

	$stats = $clientSOAP->__soapCall('mc_project_get_statistiques', array("username" => $username, "password" => $password, "project_id" => $mantisbtConf['id_mantisbt'], "level" => 0));
} catch (SoapFault $soapFault) {
	echo '<div class="warning" >'. _('Technical error occurs during data retrieving:'). ' ' .$soapFault->faultstring.'</div>';
	$errorPage = true;
}

if (!isset($errorPage)){
	$total = array('open' => 0, 'resolved' => 0, 'resolved' => 0, 'closed' => 0, 'total' => 0);
	echo $HTML->boxTop(_('Tickets oer Status'));
	echo	'<tr>';
	echo		'<th>'._('Project').'</th>';
	echo		'<th>'._('Open').'</th>';
	echo		'<th>'._('Fixed').'</th>';
	echo		'<th>'._('Closed').'</th>';
	echo		'<th>'._('Total').'</th>';
	echo	'</tr>';
	$nbligne = 1;
	foreach ($stats as $stat) {
		$indentation = "";
		for($i = 1; $i < $stat->project_level; $i++){
			$indentation = $indentation .'&nbsp;&nbsp;';
		}
		echo '<tr '.$HTML->boxGetAltRowStyle($nbligne).'">';

		if ($stat->project_level > 1){
			echo sprintf('<td>%s >> <a class="DataLink" href="?type=group&group_id=%s&pluginname=%s">%s</a></td>',$indentation,group_get_objectid_by_publicname($stat->project_name), $mantisbt->name, $stat->project_name);
		}else{
			echo sprintf('<td><a class="DataLink" href="?type=group&group_id=%s&pluginname=%s">%s</a></td>',group_get_objectid_by_publicname($stat->project_name), $mantisbt->name, $stat->project_name);
		}
		echo		'<td>'.$stat->open.'</td>';
		echo		'<td>'.$stat->resolved.'</td>';
		echo		'<td>'.$stat->closed.'</td>';
		echo		'<td>'.$stat->total.'</td>';
		echo	'</tr>';

		// calcul du total
		$total['open'] += $stat->open;
		$total['resolved'] += $stat->resolved;
		$total['closed'] += $stat->closed;
		$total['total'] += $stat->total;
		$nbligne++;
	}
	echo	'<tr>';
	echo		'<td></td>';
	echo		'<td>'.$total['open'].'</td>';
	echo		'<td>'.$total['resolved'].'</td>';
	echo		'<td>'.$total['closed'].'</td>';
	echo		'<td>'.$total['total'].'</td>';
	echo	'</tr>';
echo $HTML->boxBottom();

}