version 1.1, 2007/10/21 23:45:00
|
version 1.1.2.1, 2007/10/21 23:45:00
|
Line 0
|
Line 1
|
|
<?php |
|
#- |
|
# Copyright (c) 2005 Oliver Lehmann <oliver@FreeBSD.org> |
|
# All rights reserved. |
|
# |
|
# Redistribution and use in source and binary forms, with or without |
|
# modification, are permitted provided that the following conditions |
|
# are met: |
|
# 1. Redistributions of source code must retain the above copyright |
|
# notice, this list of conditions and the following disclaimer |
|
# 2. Redistributions in binary form must reproduce the above copyright |
|
# notice, this list of conditions and the following disclaimer in the |
|
# documentation and/or other materials provided with the distribution. |
|
# |
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
# SUCH DAMAGE. |
|
# |
|
# $MCom: portstools/tinderbox/webui/module/moduleBuilds.php,v 1.6 2005/12/26 22:33:53 marcus Exp $ |
|
# |
|
|
|
require_once 'module/module.php'; |
|
|
|
class moduleBuilds extends module { |
|
|
|
function moduleBuilds() { |
|
$this->module(); |
|
} |
|
|
|
function display_list_builds() { |
|
global $pkgdir; |
|
global $pkguri; |
|
|
|
$builds = $this->TinderboxDS->getAllBuilds(); |
|
|
|
if( is_array( $builds ) && count( $builds ) > 0 ) { |
|
$data = $this->get_list_data( $builds ); |
|
foreach( $data as $res ) |
|
$sort[] = $res['name']; |
|
array_multisort( $sort, SORT_ASC, $data ); |
|
$this->template_assign( 'data', $data ); |
|
$this->template_assign( 'no_list', false ); |
|
} else { |
|
$this->template_assign( 'no_list', true ); |
|
} |
|
|
|
$this->template_assign( 'maintainers', $this->TinderboxDS->getAllMaintainers() ); |
|
return $this->template_parse( 'list_builds.tpl' ); |
|
} |
|
|
|
function get_list_data( $builds ) { |
|
global $pkgdir; |
|
global $pkguri; |
|
|
|
$i = 0; |
|
foreach( $builds as $build ) { |
|
$status = $build->getBuildStatus(); |
|
$description = $build->getDescription(); |
|
$name = $build->getName(); |
|
|
|
$stats = $this->TinderboxDS->getBuildStatsWithStatus( $build->getId() ); |
|
|
|
$results = array( |
|
"UNKNOWN" => 0, |
|
"FAIL" => 0, |
|
"LEFTOVERS" => 0, |
|
"SUCCESS" => 0, |
|
); |
|
foreach ($stats as $stat) { |
|
$results[$stat['last_status']] = $stat['c']; |
|
} |
|
foreach ($results as $k => $v) { |
|
if ($v == 0) $results[$k] = "-"; |
|
} |
|
|
|
switch( $status ) { |
|
case 'PORTBUILD': |
|
$status_field_class = 'build_portbuild'; |
|
break; |
|
case 'PREPARE': |
|
$status_field_class = 'build_prepare'; |
|
break; |
|
default: |
|
$status_field_class = 'build_default'; |
|
break; |
|
} |
|
|
|
$data[$i]['status_field_class'] = $status_field_class; |
|
$data[$i]['name'] = $name; |
|
$data[$i]['description'] = $description; |
|
if( is_dir( $pkgdir.'/'.$name ) ) { |
|
$data[$i]['packagedir'] = $pkguri.'/'.$name.'/'; |
|
} else { |
|
$data[$i]['packagedir'] = false; |
|
} |
|
$data[$i]['results'] = $results; |
|
$i++; |
|
} |
|
|
|
return $data; |
|
|
|
} |
|
|
|
function get_all_builds() { |
|
$all_builds_raw = $this->TinderboxDS->getAllBuilds(); |
|
$all_builds = array(); |
|
foreach( $all_builds_raw as $build ) { |
|
$all_builds[] = array( 'build_id' => $build->getId(), 'build_name' => $build->getName() ); |
|
} |
|
return $all_builds; |
|
} |
|
} |
|
?> |