deleting unused code
This commit is contained in:
parent
1c291410f6
commit
20e4fa5e2e
@ -1559,310 +1559,4 @@ class Code extends CI_Controller
|
|||||||
if ($path == '/') $path = '';
|
if ($path == '/') $path = '';
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
function graph ($type = '', $projectid = '', $path = '', $rev = SVN_REVISION_HEAD)
|
|
||||||
{
|
|
||||||
$this->load->model ('ProjectModel', 'projects');
|
|
||||||
|
|
||||||
$login = $this->login->getUser ();
|
|
||||||
if (CODEPOT_SIGNIN_COMPULSORY && $login['id'] == '')
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$project = $this->projects->get ($projectid);
|
|
||||||
//if ($project === FALSE || ($project->public !== 'Y' && $login['id'] == ''))
|
|
||||||
if ($project === FALSE || !$this->_can_read ($this->projects, $projectid, $login))
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->load->model ('SubversionModel', 'subversion');
|
|
||||||
|
|
||||||
$path = $this->converter->HexToAscii ($path);
|
|
||||||
if ($path == '.') $path = ''; /* treat a period specially */
|
|
||||||
$path = $this->_normalize_path ($path);
|
|
||||||
|
|
||||||
if ($type == 'cloc-file')
|
|
||||||
{
|
|
||||||
// number of lines in a single file
|
|
||||||
|
|
||||||
$file = $this->subversion->getFile ($projectid, $path, $rev);
|
|
||||||
if ($file === FALSE)
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($file['type'] != 'file')
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// pass __FILE__ as the first argument so that tempnam creates a name
|
|
||||||
// in the system directory. __FILE__ can never be a valid directory.
|
|
||||||
$tfname = @tempnam(__FILE__, 'codepot-cloc-');
|
|
||||||
if ($tfname === FALSE)
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$actual_tfname = $tfname . '.' . pathinfo ($file['name'], PATHINFO_EXTENSION);
|
|
||||||
@file_put_contents ($actual_tfname, $file['content']);
|
|
||||||
|
|
||||||
$cloc_cmd = sprintf ('%s --quiet --csv --csv-delimiter=":" %s', CODEPOT_CLOC_COMMAND_PATH, $actual_tfname);
|
|
||||||
$cloc = @popen ($cloc_cmd, 'r');
|
|
||||||
if ($cloc === FALSE)
|
|
||||||
{
|
|
||||||
@unlink ($tfname);
|
|
||||||
@unlink ($actual_tfname);
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$line_count = 0;
|
|
||||||
$counter = FALSE;
|
|
||||||
while (!feof($cloc))
|
|
||||||
{
|
|
||||||
$line = @fgets ($cloc);
|
|
||||||
if ($line === FALSE) break;
|
|
||||||
|
|
||||||
if ($line_count == 2)
|
|
||||||
{
|
|
||||||
$counter = explode (':', $line);
|
|
||||||
}
|
|
||||||
$line_count++;
|
|
||||||
}
|
|
||||||
|
|
||||||
@pclose ($cloc);
|
|
||||||
@unlink ($tfname);
|
|
||||||
@unlink ($actual_tfname);
|
|
||||||
|
|
||||||
if ($counter === FALSE)
|
|
||||||
{
|
|
||||||
$stats = array (
|
|
||||||
'no-data' => 0
|
|
||||||
);
|
|
||||||
$title = $file['name'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$stats = array (
|
|
||||||
'blank' => (integer)$counter[2],
|
|
||||||
'comment' => (integer)$counter[3],
|
|
||||||
'code' => (integer)$counter[4],
|
|
||||||
'total' => (integer)$counter[2] + (integer)$counter[3] + (integer)$counter[4]
|
|
||||||
);
|
|
||||||
|
|
||||||
$title = $file['name'] . ' (' . $counter[1] . ')';
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->load->library ('PHPGraphLib', array ('width' => 280, 'height' => 200), 'graph');
|
|
||||||
$this->graph->addData($stats);
|
|
||||||
$this->graph->setTitle($title);
|
|
||||||
$this->graph->setDataPoints(TRUE);
|
|
||||||
$this->graph->setDataValues(TRUE);
|
|
||||||
$this->graph->setBars(TRUE);
|
|
||||||
$this->graph->setXValuesHorizontal(TRUE);
|
|
||||||
$this->graph->setYValues (FALSE);
|
|
||||||
$this->graph->createGraph();
|
|
||||||
}
|
|
||||||
else if ($type == 'commits-per-month')
|
|
||||||
{
|
|
||||||
$total_commits = 0;
|
|
||||||
$average_commits = 0;
|
|
||||||
$total_months = 0;
|
|
||||||
|
|
||||||
$file = $this->subversion->getHistory ($projectid, $path, $rev);
|
|
||||||
if ($file === FALSE)
|
|
||||||
{
|
|
||||||
//header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
//return;
|
|
||||||
$stats = array ('no-data' => 0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
$history = $file['history'];
|
|
||||||
$history_count = count($history);
|
|
||||||
|
|
||||||
$stats = array();
|
|
||||||
for ($i = 0; $i < $history_count; $i++)
|
|
||||||
{
|
|
||||||
$h = $history[$i];
|
|
||||||
if (array_key_exists ('date', $h))
|
|
||||||
{
|
|
||||||
$date = substr($h['date'], 0, 7);
|
|
||||||
if (array_key_exists ($date, $stats))
|
|
||||||
$stats[$date]++;
|
|
||||||
else
|
|
||||||
$stats[$date] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ksort ($stats);
|
|
||||||
$stats_count = count($stats);
|
|
||||||
$idx = 1;
|
|
||||||
foreach ($stats as $k => $v)
|
|
||||||
{
|
|
||||||
if ($idx == 1)
|
|
||||||
{
|
|
||||||
$min_year = substr($k, 0, 4);
|
|
||||||
$min_month = substr($k, 5, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($idx == $stats_count)
|
|
||||||
{
|
|
||||||
$max_year = substr($k, 0, 4);
|
|
||||||
$max_month = substr($k, 5, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
$idx++;
|
|
||||||
$total_commits += $v;
|
|
||||||
}
|
|
||||||
|
|
||||||
$total_months = 0;
|
|
||||||
for ($year = $min_year; $year <= $max_year; $year++)
|
|
||||||
{
|
|
||||||
$month = ($year == $min_year)? $min_month: 1;
|
|
||||||
$month_end = ($year == $max_year)? $max_month: 12;
|
|
||||||
|
|
||||||
while ($month <= $month_end)
|
|
||||||
{
|
|
||||||
$date = sprintf ("%04d-%02d", $year, $month);
|
|
||||||
|
|
||||||
if (!array_key_exists ($date, $stats))
|
|
||||||
{
|
|
||||||
// fill the holes
|
|
||||||
$stats[$date] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$month++;
|
|
||||||
$total_months++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($total_months > 0) $average_commits = $total_commits / $total_months;
|
|
||||||
}
|
|
||||||
|
|
||||||
ksort ($stats);
|
|
||||||
$stats_count = count($stats);
|
|
||||||
|
|
||||||
$graph_width = $stats_count * 8;
|
|
||||||
if ($graph_width < 400) $graph_width = 400;
|
|
||||||
$this->load->library ('PHPGraphLib', array ('width' => $graph_width, 'height' => 180), 'graph');
|
|
||||||
$this->graph->addData($stats);
|
|
||||||
$this->graph->setTitle("Commits per month ({$total_commits}/{$total_months})");
|
|
||||||
$this->graph->setDataPoints(FALSE);
|
|
||||||
$this->graph->setDataValues(FALSE);
|
|
||||||
$this->graph->setLine(FALSE);
|
|
||||||
$this->graph->setLineColor("red");
|
|
||||||
$this->graph->setBars(TRUE);
|
|
||||||
$this->graph->setBarOutline (TRUE);
|
|
||||||
$this->graph->setBarColor ("#EEEEEE");
|
|
||||||
$this->graph->setBarOutlineColor ("#AAAAAA");
|
|
||||||
|
|
||||||
$this->graph->setXValues(TRUE);
|
|
||||||
$this->graph->setXValuesHorizontal(TRUE);
|
|
||||||
if ($stats_count <= 1)
|
|
||||||
{
|
|
||||||
$this->graph->setBarSpace(TRUE);
|
|
||||||
//$this->graph->setDataPoints(TRUE);
|
|
||||||
//$this->graph->setDataPointColor("red");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->graph->setBarSpace(FALSE);
|
|
||||||
|
|
||||||
if ($stats_count <= 8)
|
|
||||||
{
|
|
||||||
$this->graph->setXValuesInterval(1);
|
|
||||||
}
|
|
||||||
else if ($stats_count <= 16)
|
|
||||||
{
|
|
||||||
$this->graph->setXValuesInterval(2);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->graph->setXValuesInterval(11);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//$this->graph->setGrid(FALSE);
|
|
||||||
$this->graph->setGridVertical(FALSE);
|
|
||||||
$this->graph->setGridHorizontal(TRUE);
|
|
||||||
if ($total_months > 0) $this->graph->setGoalLine ($average_commits, "red", "solid");
|
|
||||||
$this->graph->createGraph();
|
|
||||||
}
|
|
||||||
else if ($type == 'commit-share-by-users')
|
|
||||||
{
|
|
||||||
// revision is ignored
|
|
||||||
$file = $this->subversion->getHistory ($projectid, $path, $rev);
|
|
||||||
if ($file === FALSE)
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$history = $file['history'];
|
|
||||||
$history_count = count($history);
|
|
||||||
|
|
||||||
$stats = array();
|
|
||||||
for ($i = 0; $i < $history_count; $i++)
|
|
||||||
{
|
|
||||||
$h = $history[$i];
|
|
||||||
$author = (array_key_exists ('author', $h))? $h['author']: '?';
|
|
||||||
|
|
||||||
if (array_key_exists ($author, $stats))
|
|
||||||
$stats[$author]++;
|
|
||||||
else
|
|
||||||
$stats[$author] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->load->library ('PHPGraphLibPie', array ('width' => 400, 'height' => 300), 'graph');
|
|
||||||
$this->graph->addData($stats);
|
|
||||||
$this->graph->setTitle('Commit share by users');
|
|
||||||
$this->graph->setLabelTextColor('50,50,50');
|
|
||||||
$this->graph->setLegendTextColor('50,50,50');
|
|
||||||
$this->graph->createGraph();
|
|
||||||
}
|
|
||||||
else /* if ($type == 'commits-by-users') */
|
|
||||||
{
|
|
||||||
// revision is ignored
|
|
||||||
$file = $this->subversion->getHistory ($projectid, $path, $rev);
|
|
||||||
if ($file === FALSE)
|
|
||||||
{
|
|
||||||
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$history = $file['history'];
|
|
||||||
$history_count = count($history);
|
|
||||||
|
|
||||||
$stats = array();
|
|
||||||
for ($i = 0; $i < $history_count; $i++)
|
|
||||||
{
|
|
||||||
$h = $history[$i];
|
|
||||||
$author = (array_key_exists ('author', $h))? $h['author']: '?';
|
|
||||||
|
|
||||||
if (array_key_exists ($author, $stats))
|
|
||||||
$stats[$author]++;
|
|
||||||
else
|
|
||||||
$stats[$author] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->load->library ('PHPGraphLib', array ('width' => 400, 'height' => 300), 'graph');
|
|
||||||
$this->graph->addData($stats);
|
|
||||||
$this->graph->setTitle('Commits by users');
|
|
||||||
$this->graph->setDataPoints(TRUE);
|
|
||||||
$this->graph->setDataValues(TRUE);
|
|
||||||
//$this->graph->setLine(TRUE);
|
|
||||||
$this->graph->setBars(TRUE);
|
|
||||||
//$this->graph->setXValuesHorizontal(TRUE);
|
|
||||||
$this->graph->createGraph();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user