$homeurl = make_cdash_url(htmlentities($project_array['homeurl'])); $bugurl = make_cdash_url(htmlentities($project_array['bugtrackerurl'])); $googletracker = htmlentities($project_array['googletracker']); $docurl = make_cdash_url(htmlentities($project_array['documentationurl'])); $projectpublic = $project_array['public']; $projectname = $project_array['name']; } else { $projectname = 'NA'; } checkUserPolicy(@$_SESSION['cdash']['loginid'], $project_array['id']); $Project = new Project(); $Project->Id = $projectid; $subprojectids = $Project->GetSubProjects(); sort($subprojectids); $subproject_groups = array(); $groups = $Project->GetSubProjectGroups(); foreach ($groups as $group) { $subproject_groups[$group->GetId()] = $group; } $result = array(); # array to store the all the result $subprojs = array(); foreach ($subprojectids as $subprojectid) { $SubProject = new SubProject(); $SubProject->SetId($subprojectid); $subprojs[$subprojectid] = $SubProject; } foreach ($subprojectids as $subprojectid) { $SubProject = $subprojs[$subprojectid]; $subarray = array('name' => $SubProject->GetName(), 'id' => $subprojectid); $groupid = $SubProject->GetGroupId();
foreach ($subprojectids as $subprojectid) { $SubProject = new SubProject(); $SubProject->SetId($subprojectid); $subprojs[$subprojectid] = $SubProject; } foreach ($subprojectids as $subprojectid) { $SubProject = $subprojs[$subprojectid]; $subproject_response = array(); $subproject_response['id'] = $subprojectid; $subproject_response['name'] = $SubProject->GetName(); $subproject_response['group'] = $SubProject->GetGroupId(); $subprojects_response[] = $subproject_response; } $response['subprojects'] = $subprojects_response; $groups = array(); foreach ($Project->GetSubProjectGroups() as $subProjectGroup) { $group = array(); $group['id'] = $subProjectGroup->GetId(); $group['name'] = $subProjectGroup->GetName(); $group['coverage_threshold'] = $subProjectGroup->GetCoverageThreshold(); $groups[] = $group; if ($subProjectGroup->GetIsDefault()) { $response['default_group_id'] = $group['id']; } } $response['groups'] = $groups; } // end projectid > 0 } $end = microtime_float(); $response['generationtime'] = round($end - $start, 3);
$aggregate_build = $build; } else { $response['builds'][] = $build; } } // end looping through builds // Add 'Aggregate' build last $response['builds'][] = $aggregate_build; $coverages = array(); // For un-grouped subprojects $coveragegroups = array(); // For grouped subprojects // Are there any subproject groups? $subproject_groups = array(); if ($project_instance->GetNumberOfSubProjects($end_UTCDate) > 0) { $subproject_groups = $project_instance->GetSubProjectGroups(); } foreach ($subproject_groups as $group) { // Keep track of coverage info on a per-group basis. $groupId = $group->GetId(); $coveragegroups[$groupId] = array(); $coverageThreshold = $group->GetCoverageThreshold(); $coveragegroups[$groupId]['thresholdgreen'] = $coverageThreshold; $coveragegroups[$groupId]['thresholdyellow'] = $coverageThreshold * 0.7; $coveragegroups[$groupId]['coverages'] = array(); foreach ($response['builds'] as $build) { $coveragegroups[$groupId][$build['key']] = -1; } $coveragegroups[$groupId]['label'] = $group->GetName(); $coveragegroups[$groupId]['position'] = $group->GetPosition(); }