if ($user_can_see_queue_settings) {
            echo "<td>{$qd->project_selector}</td>\n";
            echo "<td>{$qd->release_criterion}</td>\n";
            echo "<td>{$qd->comment}</td>\n";
        }
        echo "</tr>\n";
        $rownum++;
    }
    echo "</table>\n";
    echo "<br>\n";
} else {
    $qd = mysql_fetch_object(mysql_query("\n        SELECT *\n        FROM queue_defns\n        WHERE round_id='{$round_id}' AND name='{$name}'\n    "));
    if (!$qd) {
        die(html_safe("No such release queue '{$name}' in {$round_id}."));
    }
    $cooked_project_selector = cook_project_selector($qd->project_selector);
    $comment = $qd->comment;
    //// TRANSLATORS: %s is the name of this release queue.
    $title = sprintf(_("\"%s\" Release Queue"), html_safe($name));
    $title = preg_replace('/(\\\\)/', "", $title);
    // Unescape apostrophes, etc.
    // Suppress stats since this page is very wide
    output_header($title, NO_STATSBAR);
    echo "<br><h2>{$title}</h2>";
    if ($user_can_see_queue_settings) {
        echo "<h4>", _("project_selector"), ": {$qd->project_selector}</h4>\n\n";
        if ($cooked_project_selector != $qd->project_selector) {
            echo "({$cooked_project_selector})\n\n";
        }
        echo "<h4>{$comment}</h4>\n";
    }
Example #2
0
function do_waiting_queues()
{
    global $project, $code_url;
    $round = get_Round_for_project_state($project->state);
    if (is_null($round)) {
        return;
    }
    if ($project->state != $round->project_waiting_state) {
        return;
    }
    // Okay, so the project is in some round's waiting state.
    // What queues is it in, if any?
    echo "<h4>";
    echo _("Queues");
    echo "</h4>\n";
    $res = mysql_query("\n        SELECT name, project_selector\n        FROM queue_defns\n        WHERE round_id='{$round->id}'\n        ORDER BY ordering\n    ") or die(mysql_error());
    if (mysql_num_rows($res) == 0) {
        // No queues defined for this round.
        echo sprintf(_('There are no queues defined for round %s, so this project should be automatically released within a few minutes.'), $round->id);
    } else {
        echo sprintf(_('This project is in the following round %s queues:'), $round->id);
        echo "<br>\n";
        echo "<ul>\n";
        $n_queues = 0;
        while (list($q_name, $q_project_selector) = mysql_fetch_row($res)) {
            $cooked_project_selector = cook_project_selector($q_project_selector);
            $res2 = mysql_query("\n                SELECT projectid\n                FROM projects\n                WHERE projectid='{$project->projectid}' AND ({$cooked_project_selector})\n            ") or die(mysql_error());
            if (mysql_num_rows($res2) > 0) {
                $n_queues += 1;
                $enc_q_name = urlencode($q_name);
                $url = "{$code_url}/stats/release_queue.php?round_id={$round->id}&name={$enc_q_name}";
                $enc_url = html_safe($url);
                echo "<li><a href='{$enc_url}'>{$q_name}</a></li>\n";
            }
        }
        if ($n_queues == 0) {
            echo "<li>" . _("(none)") . "</li>\n";
        }
        echo "</ul>\n";
    }
    if (project_has_a_hold_in_state($project->projectid, $project->state)) {
        echo "<p>", _("However, this project is currently being held-in-waiting; it will not be auto-released until the hold is removed."), "</p>\n";
    }
}