php-censor/PHPCI/View/SummaryTable.phtml

71 lines
2.1 KiB
PHTML
Raw Normal View History

2013-06-05 07:23:47 +02:00
<?php
// echo "<pre>";
// var_dump($builds);
// echo "</pre>";
$maxbuildcount = 5;
$projects = array();
$prevBuild = null;
$health = false;
foreach($builds as $build):
if ( is_null($prevBuild) || $build->getProjectId() !== $prevBuild->getProjectId() ) {
$health = false;
$projects[$build->getProjectId()]['count'] = 0;
$projects[$build->getProjectId()]['health'] = 0;
2013-06-05 07:45:04 +02:00
$projects[$build->getProjectId()]['successes'] = 0;
$projects[$build->getProjectId()]['failures'] = 0;
2013-06-05 07:23:47 +02:00
}
2013-06-05 07:45:04 +02:00
if ($build->getStatus() < 2) {
continue;
}
2013-06-05 07:23:47 +02:00
if (
2013-06-05 07:45:04 +02:00
!is_null($prevBuild) &&
$projects[$build->getProjectId()]['count'] >= $maxbuildcount &&
$build->getProjectId() === $prevBuild->getProjectId()
2013-06-05 07:23:47 +02:00
) {
2013-06-05 07:45:04 +02:00
$projects[$build->getProjectId()]['count']++;
2013-06-05 07:23:47 +02:00
continue;
}
2013-06-05 07:45:04 +02:00
2013-06-05 07:23:47 +02:00
switch ((int)$build->getStatus()) {
case 2:
$projects[$build->getProjectId()]['health']++;
2013-06-05 07:45:04 +02:00
$projects[$build->getProjectId()]['successes']++;
2013-06-05 07:23:47 +02:00
if ( empty($projects[$build->getProjectId()]['lastsuccess']) ) {
$projects[$build->getProjectId()]['lastsuccess'] = $build->getStarted();
}
break;
case 3:
$projects[$build->getProjectId()]['health']--;
2013-06-05 07:45:04 +02:00
$projects[$build->getProjectId()]['failures']++;
2013-06-05 07:23:47 +02:00
if ( empty($projects[$build->getProjectId()]['lastfailure']) ) {
$projects[$build->getProjectId()]['lastfailure'] = $build->getStarted();
}
break;
}
2013-06-05 07:45:04 +02:00
2013-06-05 07:23:47 +02:00
$projects[$build->getProjectId()]['count']++;
2013-06-05 07:45:04 +02:00
$projects[$build->getProjectId()]['projectname'] = $build->getProject()->getTitle();
2013-06-05 07:23:47 +02:00
$prevBuild = $build;
endforeach;
// echo "<pre>";
// var_dump($projects);
// echo "</pre>";
foreach($projects as $projectId => $project):
?>
<tr>
<td><?= $project['health'] < 0 ? 'Stormy': ($project['health'] < 5? 'Overcast': 'Sunny') ?></td>
2013-06-05 07:45:04 +02:00
<td><?= $project['projectname'] ?></td>
<td><?= empty($project['lastsuccess']) ? 'Never' :$project['lastsuccess']->format("Y-m-d H:i:s") ?></td>
<td><?= empty($project['lastfailure']) ? 'Never' :$project['lastfailure']->format("Y-m-d H:i:s") ?></td>
<td><?= $project['successes'] ?>/<?= $project['failures'] ?></td>
2013-06-05 07:49:49 +02:00
<td><a href='<?= PHPCI_URL ?>project/build/<?= $projectId ?>'>build</a></td>
2013-06-05 07:23:47 +02:00
</tr>
<?php endforeach; ?>