2013-06-05 07:23:47 +02:00
|
|
|
<?php
|
2014-12-04 12:14:04 +01:00
|
|
|
use PHPCI\Helper\Lang;
|
2013-06-05 07:23:47 +02:00
|
|
|
|
2013-10-08 14:52:05 +02:00
|
|
|
foreach($projects as $project):
|
|
|
|
$statuses = array();
|
|
|
|
$successes = 0;
|
|
|
|
$failures = 0;
|
|
|
|
$subcls = '';
|
|
|
|
$cls = '';
|
2013-06-05 07:23:47 +02:00
|
|
|
|
2013-10-08 14:52:05 +02:00
|
|
|
$success = null;
|
|
|
|
$failure = null;
|
2013-06-05 07:23:47 +02:00
|
|
|
|
2013-10-08 14:52:05 +02:00
|
|
|
if (count($builds[$project->getId()])) {
|
|
|
|
// Use the last 5 builds to determine project health:
|
|
|
|
$successes = 0;
|
|
|
|
$failures = 0;
|
2013-06-05 10:46:42 +02:00
|
|
|
|
2013-10-08 14:52:05 +02:00
|
|
|
foreach ($builds[$project->getId()] as $build) {
|
|
|
|
switch ($build->getStatus()) {
|
|
|
|
case 0:
|
|
|
|
$statuses[] = 'pending';
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
$statuses[] = 'running';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$successes++;
|
|
|
|
$statuses[] = 'ok';
|
2015-01-09 08:51:35 +01:00
|
|
|
$success = is_null($success) && !is_null($build->getFinished()) ? Lang::formatDateTime($build->getFinished()) : $success;
|
2013-10-08 14:52:05 +02:00
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$failures++;
|
|
|
|
$statuses[] = 'failed';
|
2015-01-09 08:51:35 +01:00
|
|
|
$failure = is_null($failure) && !is_null($build->getFinished()) ? Lang::formatDateTime($build->getFinished()) : $failure;
|
2013-10-08 14:52:05 +02:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2013-06-05 10:46:42 +02:00
|
|
|
|
2013-10-08 14:52:05 +02:00
|
|
|
if ($failures == 0) {
|
2014-12-02 17:26:55 +01:00
|
|
|
$subcls = 'green';
|
|
|
|
} elseif ($successes == 0) {
|
|
|
|
$subcls = 'red';
|
2013-10-08 14:52:05 +02:00
|
|
|
} else {
|
2014-12-02 17:26:55 +01:00
|
|
|
$subcls = 'yellow';
|
2013-06-09 21:29:49 +02:00
|
|
|
}
|
2013-06-05 10:46:42 +02:00
|
|
|
|
2014-12-03 21:26:32 +01:00
|
|
|
|
|
|
|
$buildCount = count($builds[$project->getId()]);
|
|
|
|
$lastSuccess = $successful[$project->getId()];
|
|
|
|
$lastFailure = $failed[$project->getId()];
|
2014-12-04 12:14:04 +01:00
|
|
|
$message = Lang::get('no_builds_yet');
|
|
|
|
$shortMessage = Lang::get('no_builds_yet');
|
2014-12-03 21:26:32 +01:00
|
|
|
|
|
|
|
if ($buildCount > 0) {
|
|
|
|
if ($failures > 0) {
|
2014-12-04 12:14:04 +01:00
|
|
|
$shortMessage = Lang::get('x_of_x_failed_short', $failures, $buildCount);
|
|
|
|
$message = Lang::get('x_of_x_failed', $failures, $buildCount);
|
2014-12-03 21:26:32 +01:00
|
|
|
|
|
|
|
if (!is_null($lastSuccess) && !is_null($lastSuccess->getFinished())) {
|
2015-01-09 08:51:35 +01:00
|
|
|
$message .= Lang::get('last_successful_build', Lang::formatDateTime($lastSuccess->getFinished()));
|
2014-12-03 21:26:32 +01:00
|
|
|
} else {
|
2014-12-04 12:14:04 +01:00
|
|
|
$message .= Lang::get('never_built_successfully');
|
2014-12-03 21:26:32 +01:00
|
|
|
}
|
|
|
|
} else {
|
2014-12-04 12:14:04 +01:00
|
|
|
$message = Lang::get('all_builds_passed', $buildCount);
|
|
|
|
$shortMessage = Lang::get('all_builds_passed_short', $buildCount, $buildCount);
|
2014-12-03 21:26:32 +01:00
|
|
|
|
|
|
|
if (!is_null($lastFailure) && !is_null($lastFailure->getFinished())) {
|
2015-01-09 08:51:35 +01:00
|
|
|
$message .= Lang::get('last_failed_build', Lang::formatDateTime($lastFailure->getFinished()));
|
2014-12-03 21:26:32 +01:00
|
|
|
} else {
|
2014-12-04 12:14:04 +01:00
|
|
|
$message .= Lang::get('never_failed_build');
|
2014-12-03 21:26:32 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-06-05 07:23:47 +02:00
|
|
|
?>
|
2014-12-02 17:26:55 +01:00
|
|
|
|
2014-12-03 21:26:32 +01:00
|
|
|
<?php if (count($projects) > 10): ?>
|
|
|
|
|
|
|
|
<div class="small-box bg-<?php print $subcls; ?>">
|
|
|
|
<div class="inner">
|
|
|
|
<h4>
|
|
|
|
<strong>
|
|
|
|
<a href="<?php print PHPCI_URL; ?>project/view/<?php print $project->getId(); ?>">
|
|
|
|
<?php print $project->getTitle(); ?>
|
|
|
|
</a>
|
|
|
|
</strong> -
|
|
|
|
<?php print $shortMessage; ?>
|
|
|
|
</h4>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<?php else: ?>
|
|
|
|
|
2014-12-02 17:26:55 +01:00
|
|
|
<div class="small-box bg-<?php print $subcls; ?>">
|
|
|
|
<div class="inner">
|
|
|
|
<h3>
|
|
|
|
<a href="<?php print PHPCI_URL; ?>project/view/<?php print $project->getId(); ?>">
|
|
|
|
<?php print $project->getTitle(); ?>
|
|
|
|
</a>
|
|
|
|
</h3>
|
2014-12-03 21:26:32 +01:00
|
|
|
|
2014-12-02 17:26:55 +01:00
|
|
|
<p>
|
2014-12-03 21:26:32 +01:00
|
|
|
<?php print $message; ?>
|
2014-12-02 17:26:55 +01:00
|
|
|
</p>
|
2014-12-03 21:26:32 +01:00
|
|
|
|
2014-12-02 17:26:55 +01:00
|
|
|
</div>
|
|
|
|
<div class="icon">
|
|
|
|
<i class="fa fa-<?php print $project->getIcon(); ?>"></i>
|
|
|
|
</div>
|
|
|
|
<a href="<?php print PHPCI_URL; ?>project/view/<?php print $project->getId(); ?>" class="small-box-footer">
|
2014-12-04 12:14:04 +01:00
|
|
|
<?php Lang::out('view_project'); ?> <i class="fa fa-arrow-circle-right"></i>
|
2014-12-02 17:26:55 +01:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
|
2014-12-03 21:26:32 +01:00
|
|
|
<?php endif; ?>
|
2013-08-01 17:37:21 +02:00
|
|
|
<?php endforeach; ?>
|