| <?php |
|
|
| include("html_templates.php"); |
| include("log_wrapper.php"); |
|
|
| const SHOW_ITEMS = 50; |
| const GITHUB_LINK = "https://github.com/moses-smt/mosesdecoder/commit/"; |
|
|
| show_header("Moses Cruise Control"); |
| echo "\n<center>\n"; |
|
|
| show_heading("Moses Cruise Control"); |
| echo "\n</center>\n"; |
|
|
| |
| $master_branch = new Branch("master"); |
| $last_commit = $master_branch->get_next_commit(); |
| $last_commit->read_log(); |
| show_heading("Current status of master: " . colorize_status($last_commit->get_status()), 3); |
| $branch_name = ! empty($_GET["branch"]) ? $_GET["branch"] : "master"; |
|
|
| |
| $all_branches = get_all_branch_names(); |
| if (! in_array($branch_name, $all_branches)) { |
| warn("Branch '$branch_name' not found (only branches with some tests done can be viewed)"); |
| $branch_name = "master"; |
| } |
|
|
| |
| start_form("", "get"); |
| echo "<p>Showing log of branch: "; |
| show_select_box($all_branches, "branch", $branch_name, "submit()"); |
| end_form(); |
|
|
| $branch = new Branch("$branch_name"); |
| $start_with = ! empty($_GET["start"]) ? $_GET["start"] : 0; |
| $branch->set_line($start_with); |
|
|
| show_navigation($start_with); |
|
|
| |
| start_table(); |
| array_to_table_row(true, array("<b>Commit Link</b>", "<b>Status</b>", "<b>Full Log</b>", |
| "<b>Timestamp</b>", "<b>Author</b>", "<b>Commit Message</b>" )); |
| for ($i = 0; $i < SHOW_ITEMS; $i++) { |
| $last_commit = $branch->get_next_commit(); |
|
|
| if ( $last_commit->get_name() == "" ) { |
| array_to_table_row(array("=== End of log ===")); |
| break; |
| } |
| $last_commit->read_log(); |
| $last_commit->read_info(); |
|
|
| array_to_table_row(($i % 2 == 1), |
| array( get_href(substr($last_commit->get_name(), 0, 10) . "...", GITHUB_LINK . $last_commit->get_name(), true), |
| colorize_status($last_commit->get_status()), |
| $last_commit->was_tested() ? get_href("Log", $last_commit->get_log_file(), true) : "N/A", |
| $last_commit->get_timestamp(), |
| $last_commit->get_author(), |
| substr($last_commit->get_message(), 0, 30) . (strlen($last_commit->get_message()) > 30 ? "..." : ""))); |
| } |
|
|
| end_table(); |
|
|
| show_navigation($start_with); |
| show_footer(); |
|
|
| |
|
|
| function colorize_status($status) |
| { |
| switch ( substr(strtolower($status), 0, 1) ) { |
| case "o": |
| $color = "green"; |
| break; |
| case "f": |
| $color = "red"; |
| break; |
| default: |
| $color = "#FFDD00"; |
| } |
| return "<font color=\"$color\"><b>$status</b></font>"; |
| } |
|
|
| function show_navigation($start_with) |
| { |
| start_form("", "get"); |
| if ($start_with > 0) { |
| echo get_href("<p>Previous", |
| set_var(get_current_url(), "start", max(0, $start_with - SHOW_ITEMS))); |
| } else { |
| echo "Previous"; |
| } |
| echo " "; |
|
|
| echo get_href("Next", set_var(get_current_url(), "start", $start_with + SHOW_ITEMS)); |
| end_form(); |
| } |
|
|
| ?> |
|
|