| <?php |
| /******************************************************************************** |
| * Copyright (c) 2018 The Eclipse Foundation |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| ********************************************************************************/ |
| require_once dirname ( __FILE__ ) . '/../charts.inc'; |
| function chart_project_licenses(ChartContext $context) { |
| return ChartBuilder::named ( 'project_licenses' ) |
| ->title ( "Licenses (:date)" ) |
| ->description ( "Licenses in use by Eclipse Projects." ) |
| ->pieChart() |
| ->query ('foundation', " |
| SELECT |
| license, count(project) as count |
| from ( |
| SELECT |
| p.ProjectId as project, |
| group_concat( |
| if(LicenseId='EPL1.0','EPL-1.0', |
| if(LicenseId='EPL2.0','EPL-2.0', |
| if(LicenseId='EDL1.0','EDL-1.0', |
| if(LicenseId='ASL2.0','Apache-2.0', |
| if(LicenseId='CCBY3','CC-BY-3.0', |
| if(LicenseId='GPL-2.0_CP','GPL-2.0 WITH Classpath-exception-2.0' |
| LicenseId)))))) |
| ORDER BY LicenseId separator ' OR ') as license |
| FROM ProjectLicenses as pl |
| JOIN Projects as p on pl.ProjectId=p.ProjectId |
| AND p.IsActive group by p.ProjectId |
| ) as ProjectsAndLicenses |
| group by license |
| order by count desc |
| " ) |
| ->substitute ( ':date', (new DateTime())->format('Y-m-d') ) |
| ->column ( 'License', 'license', 'string') |
| ->column ( 'Count', 'count', 'number' ); |
| } |
| ?> |