num_rows > 0) { $count = 0; while($row = $result->fetch_assoc()) { if (($to_show == "next") && ($row["loops"]==0) && ($row["dependencies_pending"]==1)) continue; $fail_result = mysql_run_query( "SELECT " . "`fail_reasons`.`name`, " . "`failed_builds`.`log_file` " . "FROM `failed_builds` " . "JOIN `fail_reasons` ON `failed_builds`.`reason`=`fail_reasons`.`id` " . "WHERE `failed_builds`.`build_assignment`=".$row["id"]." " . "ORDER BY `failed_builds`.`date`" ); unset($reasons); $rows[$count]["trials"] = $fail_result -> num_rows; if ($rows[$count]["trials"] > 0) { while($fail_row = $fail_result->fetch_assoc()) { $reasons[$fail_row["name"]] = $fail_row["log_file"]; } } if (isset($reasons)) { $to_print=""; foreach ($reasons as $reason => $last_log) { $to_print= $to_print . ", " . $reason . ""; } $rows[$count]["fail_reasons"]=substr($to_print,2); } else { $rows[$count]["fail_reasons"]=" "; } $rows[$count]["loops"] = $row["loops"]; $rows[$count]["pkgbase"] = $row["pkgbase"]; if ($row["dependencies_pending"]=="0") $rows[$count]["pkgbase_print"] = $rows[$count]["pkgbase"]; else $rows[$count]["pkgbase_print"] = "(" . $rows[$count]["pkgbase"] . ")"; $rows[$count]["pkgbase_print"] = "" . $rows[$count]["pkgbase_print"] . ""; if ($row["uses_upstream"]) { $rows[$count]["git_revision"] = "" . $row["git_revision"] . ""; } else $rows[$count]["git_revision"] = $row["git_revision"]; if ($row["uses_modification"]) $rows[$count]["mod_git_revision"] = "" . $row["mod_git_revision"] . ""; else $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; $rows[$count]["package_repository"] = $row["package_repository"]; $rows[$count]["commit_time"] = $row["commit_time"]; if ($row["is_blocked"]=="") { $rows[$count]["is_blocked"]=" "; } else { $rows[$count]["is_blocked"] = preg_replace( array ( "/FS32#(\\d+)/", "/FS#(\\d+)/" ), array ( "$0", "$0" ), $row["is_blocked"] ); } if (isset($row["build_slave"])) $rows[$count]["build_slave"] = $row["build_slave"]; else $rows[$count]["build_slave"] = " "; $count++; } } $columns = array( "package" => "pkgbase_print", "git revision" => "git_revision", "modification git revision" => "mod_git_revision", "package repository" => "package_repository", "commit time" => "commit_time", "compilations" => "trials", "loops" => "loops", "build error" => "fail_reasons", "blocked" => "is_blocked", "handed out to" => "build_slave" ); print_header("Build List"); show_warning_on_offline_slave(); print "build logs
\n"; if ($count > 0) { usort( $rows, function (array $a, array $b) { if ($a["trials"] < $b["trials"]) return -1; if ($a["trials"] > $b["trials"]) return 1; return strcmp($a["pkgbase"],$b["pkgbase"]); } ); ?>
$content) { print " \n"; } ?> \n"; foreach ($columns as $title => $content) { print " \n"; } print " \n"; if ($oddity == "odd" ) $oddity = "even"; else $oddity = "odd"; } ?>
\n"; print " " . $title . "\n"; print "
\n"; print " " . $row[$content] . "\n"; print "
Erich Eckner.");