index.php
来自「GForge 3.0 协作开发平台 支持CVS, mailing lists, 」· PHP 代码 · 共 324 行
PHP
324 行
<?php/** * * SourceForge Generic Tracker facility * * SourceForge: Breaking Down the Barriers to Open Source Development * Copyright 1999-2001 (c) VA Linux Systems * http://sourceforge.net * * @version $Id: index.php,v 1.12 2001/07/10 00:56:13 pfalcon Exp $ * */require_once('pre.php');require_once('www/tracker/include/ArtifactTypeHtml.class');require_once('www/project/stats/project_stats_utils.php');require_once('tool_reports.php');$page_title=$Language->getText('tracker_reporting','title');//$bar_colors=array("red","blue");$bar_colors=array("#F76D6D","#6D6DF7");$group =& group_get_object($group_id);exit_assert_object($group, 'Group');$perm =& $group->getPermission( session_get_user() );exit_assert_object($perm, 'Permission');function reporting_header($group_id) { global $atid,$perm,$group_id; global $Language; if ($perm->isAdmin()) { $alevel=' >= 0'; } else { $alevel=' > 1'; } $sql="SELECT agl.group_artifact_id,agl.name FROM artifact_group_list agl,artifact_perm ap WHERE agl.group_artifact_id=ap.group_artifact_id AND ap.user_id='". user_getid() ."' AND ap.perm_level $alevel AND agl.group_id='$group_id'"; $res=db_query($sql); reports_header( $group_id, array('aging','tech','category','group','resolution'), array($Language->getText('tracker_reporting','aging_report'),$Language->getText('tracker_reporting','dist_by_technician'),$Language->getText('tracker_reporting','dist_by_category'),$Language->getText('tracker_reporting','dist_by_group'),$Language->getText('tracker_reporting','dist_by_resolution')), '<strong>'.$Language->getText('tracker_reporting','artifact_type').': </strong>' .html_build_select_box($res,'atid',$atid,false) .'<br /><br />' );}function quick_report($group_id,$title,$subtitle1,$sql1,$subtitle2,$sql2) { global $bar_colors; global $Language; $group_name=array(group_getname($group_id)); echo site_project_header(array("title"=>$title,'group'=>$group_id,'pagename'=>'tracker_reporting','sectionvals'=>$group_name)); reporting_header($group_id); echo "\n<h1>$title</h1>"; reports_quick_graph($subtitle1,$sql1,$sql2,$bar_colors); echo site_project_footer(array());}if ($perm->isMember()) { include_once('www/include/HTML_Graphs.php'); if ($what) { $period_clause=period2sql($period,$span,"open_date"); if ($what=="aging") { $group_name=array(group_getname($group_id)); site_project_header(array ("title"=>$Language->getText('tracker_reporting','aging_report'),'group'=>$group_id,'pagename'=>'tracker_reporting','sectionvals'=>$group_name)); reporting_header($group_id); echo "\n<h1>".$Language->getText('tracker_reporting','aging_report')."</h1>"; $time_now=time();// echo $time_now."<p>"; if (!$period || $period=="lifespan") { $period="month"; $span=12; } if (!$span) $span=1; $sub_duration=period2seconds($period, 1); for ($counter=1; $counter<=$span; $counter++) { $start=($time_now-($counter*$sub_duration)); $end=($time_now-(($counter-1)*$sub_duration)); $sql=" SELECT avg((close_date-open_date)/(24*60*60)) FROM artifact WHERE close_date > 0 AND (open_date >= '$start' AND open_date <= '$end') AND resolution_id <> '2' AND group_artifact_id='$atid'"; $result = db_query($sql); $names[$counter-1]=date("Y-m-d",($start))." to ".date("Y-m-d",($end)); $values[$counter-1]=((int)(db_result($result, 0,0)*1000))/1000; } GraphIt( $names, $values, $Language->getText('tracker_reporting','average_turnaround') ); echo "<p> </p>"; for ($counter=1; $counter<=$span; $counter++) { $start=($time_now-($counter*$sub_duration)); $end=($time_now-(($counter-1)*$sub_duration)); $sql=" SELECT count(*) FROM artifact WHERE open_date >= '$start' AND open_date <= '$end' AND resolution_id <> '2' AND group_artifact_id='$atid'"; $result = db_query($sql); $names[$counter-1]=date("Y-m-d",($start))." to ".date("Y-m-d",($end)); $values[$counter-1]=db_result($result, 0,0); } GraphIt($names, $values, $Language->getText('tracker_reporting','items_submitted')); echo "<p>"; for ($counter=1; $counter<=$span; $counter++) { $start=($time_now-($counter*$sub_duration)); $end=($time_now-(($counter-1)*$sub_duration)); $sql=" SELECT count(*) FROM artifact WHERE open_date <= '$end' AND (close_date >= '$end' OR close_date < 1 OR close_date is null) AND resolution_id <> '2' AND group_artifact_id='$atid'"; $result = db_query($sql); $names[$counter-1]=date("Y-m-d",($end)); $values[$counter-1]=db_result($result, 0,0); } GraphIt($names, $values, $Language->getText('tracker_reporting','items_open')); echo "<p> </p>"; site_project_footer(array()); } else if ($what=="category") { // Open $sql1=" SELECT artifact_category.category_name AS Category, count(*) AS Count FROM artifact_category,artifact WHERE artifact_category.id=artifact.category_id AND artifact.status_id = '1' AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Category"; // All $sql2=" SELECT artifact_category.category_name AS Category, count(*) AS Count FROM artifact_category,artifact WHERE artifact_category.id=artifact.category_id AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Category"; quick_report( $group_id, $Language->getText('tracker_reporting','dist_by_category'), $Language->getText('tracker_reporting','open_items_by_technician'),$sql1, $Language->getText('tracker_reporting','all_by_technician'),$sql2 ); } else if ($what=="tech") { // Open $sql1=" SELECT users.user_name AS Technician, count(*) AS Count FROM users,artifact WHERE users.user_id=artifact.assigned_to AND artifact.status_id = '1' AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Technician"; // All $sql2=" SELECT users.user_name AS Technician, count(*) AS Count FROM users,artifact WHERE users.user_id=artifact.assigned_to AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Technician"; quick_report( $group_id, $Language->getText('tracker_reporting','dist_by_technician'), $Language->getText('tracker_reporting','open_items_by_technician'),$sql1, $Language->getText('tracker_reporting','all_items_by_technician'),$sql2 ); } else if ($what=="group") { // Open $sql1=" SELECT artifact_group.group_name AS Group_Name, count(*) AS Count FROM artifact_group,artifact WHERE artifact_group.id=artifact.artifact_group_id AND artifact.status_id = '1' AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Group_Name"; // All $sql2=" SELECT artifact_group.group_name AS Group_Name, count(*) AS Count FROM artifact_group,artifact WHERE artifact_group.id=artifact.artifact_group_id AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Group_Name"; quick_report( $group_id, $Language->getText('tracker_reporting','dist_by_group'), $Language->getText('tracker_reporting','open_by_group'),$sql1, $Language->getText('tracker_reporting','all_by_group'),$sql2 ); } else if ($what=="resolution") { // Open $sql1=" SELECT artifact_resolution.resolution_name AS Resolution, count(*) AS Count FROM artifact_resolution,artifact WHERE artifact_resolution.id=artifact.resolution_id AND artifact.status_id = '1' AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Resolution"; // All $sql2=" SELECT artifact_resolution.resolution_name AS Resolution, count(*) AS Count FROM artifact_resolution,artifact WHERE artifact_resolution.id=artifact.resolution_id AND artifact.resolution_id <> '2' AND artifact.group_artifact_id='$atid' $period_clause GROUP BY Resolution"; quick_report( $group_id, $Language->getText('tracker_reporting','dist_by_resolution'), $Language->getText('tracker_reporting','open_items_by_resolution'),$sql1, $Language->getText('tracker_reporting','all_by_resolution'),$sql2 ); } else { exit_missing_param(); } } else { /* Show main page */ //required params for site_project_header(); $params['group'] = $group_id; $params['toptab'] = 'tracker'; $params['title'] = $page_title; $params['pagename'] = 'tracker_reporting'; $params['sectionvals']=array(group_getname($group_id)); echo site_project_header($params); reporting_header($group_id); echo site_project_footer($params); }} else { // Cannot show reports exit_permission_denied();}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?