Esempio n. 1
0
 * Add a new (marshaled) error to the response.
 * Keeps track of the id necessary for frontend JS, and updates
 * the numErrors response key.
 * @todo id should probably just be a unique id for the builderror?
 * builderror table currently has no integer that serves as a unique identifier.
 **/
function addErrorResponse($data)
{
    global $build, $response;
    $data['id'] = $response['numErrors'];
    $response['numErrors']++;
    $response['errors'][] = $data;
}
if (isset($_GET['onlydeltan'])) {
    // Build error table
    $resolvedBuildErrors = $build->GetResolvedBuildErrors($type);
    if ($resolvedBuildErrors !== false) {
        while ($resolvedBuildError = pdo_fetch_array($resolvedBuildErrors)) {
            addErrorResponse(builderror::marshal($resolvedBuildError, $project_array, $revision));
        }
    }
    // Build failure table
    $resolvedBuildFailures = $build->GetResolvedBuildFailures($type);
    while ($resolvedBuildFailure = pdo_fetch_array($resolvedBuildFailures)) {
        $marshaledResolvedBuildFailure = buildfailure::marshal($resolvedBuildFailure, $project_array, $revision);
        if ($project_array['displaylabels']) {
            get_labels_JSON_from_query_results("SELECT text FROM label, label2buildfailure\n                    WHERE label.id=label2buildfailure.labelid AND\n                    label2buildfailure.buildfailureid='" . $resolvedBuildFailure['id'] . "'\n                    ORDER BY text ASC", $marshaledResolvedBuildFailure);
        }
        $marshaledResolvedBuildFailure = array_merge($marshaledResolvedBuildFailure, array('stderr' => $resolvedBuildFailure['stderror'], 'stderrorrows' => min(10, substr_count($resolvedBuildFailure['stderror'], "\n") + 1), 'stdoutput' => $resolvedBuildFailure['stdoutput'], 'stdoutputrows' => min(10, substr_count($resolvedBuildFailure['stdoutputrows'], "\n") + 1)));
        addErrorResponse($marshaledResolvedBuildFailure);
    }