| <?php | |
| /******************************************************************************* | |
| * Copyright (c) 2012 Eclipse Foundation and others. | |
| * All rights reserved. This program and the accompanying materials | |
| * are made available under the terms of the Eclipse Public License v1.0 | |
| * which accompanies this distribution, and is available at | |
| * http://www.eclipse.org/legal/epl-v10.html | |
| * | |
| * Contributors: | |
| * Wayne Beaton (Eclipse Foundation)- initial API and implementation | |
| *******************************************************************************/ | |
| require_once(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php"); | |
| $App = new App(); | |
| require_once(dirname(__FILE__) . "/../classes/common.php"); | |
| require_once(dirname(__FILE__) . "/../classes/debug.php"); | |
| require_once(dirname(__FILE__) . "/../classes/Project.class.php"); | |
| //mustBeEclipseFoundationCaller(); | |
| header("Content-type: application/json"); | |
| $projects = array(); | |
| foreach(getActiveProjects() as $project) { | |
| /* @var Project $project */ | |
| $id = $project->getId(); | |
| if ($repositories = getRepositoriesForProject($project)) | |
| $projects[$id] = array( | |
| 'id' => $id, | |
| 'name' => $project->getName(), | |
| 'description' => $project->getDescription(), | |
| 'repositories' => $repositories | |
| ); | |
| if ($logo = $project->getLogoUrl()) | |
| $projects[$id]['logo'] = normalizeHttpUrl($logo); | |
| } | |
| echo json_encode($projects); | |
| /** | |
| * | |
| * @param Project $project | |
| */ | |
| function getRepositoriesForProject($project) { | |
| $repositories = array(); | |
| foreach($project->getSourceRepositories() as $repository) { | |
| /* @var SourceRepository $repository */ | |
| if ($repository->isReal()) { | |
| $repositories[] = $repository->getUrl(); | |
| } | |
| } | |
| return $repositories; | |
| } | |
| ?> |