blob: 0cc717c7d83c9a4aca0bae17da24362789dd7a94 [file] [log] [blame]
<?php
/********************************************************************************
* Copyright (c) 2016 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 ($_SERVER ['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
require_once ($_SERVER ['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
require_once ($_SERVER ['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
$App = new App ();
$Nav = new Nav ();
$Menu = new Menu ();
include ($App->getProjectCommon ());
require_once $_SERVER ['DOCUMENT_ROOT'] . '/projects/classes/Project.class.php';
require_once $_SERVER ['DOCUMENT_ROOT'] . '/projects/classes/common.php';
require_once $_SERVER ['DOCUMENT_ROOT'] . '/projects/classes/debug.php';
require_once dirname ( __FILE__ ) . '/kpi.inc';
require_once dirname ( __FILE__ ) . '/charts.inc';
// Let's keep this restricted to Eclipse Foundation employees
// for now.
mustBeFoundationEmployee();
$pageTitle = "Eclipse Project KPIs";
$pageKeywords = "";
$pageAuthor = "Wayne Beaton";
$App->AddExtraHtmlHeader("
<style>
img.company-logo {margin: 1em; width: 64px}
</style>");
ob_start ();
function getProjectNickName($id) {
return ($project = Project::getProject($id)) ? $project->getNickName() : $id;
}
?>
<div id="maincontent">
<div id="midcolumn">
<h1><?=$pageTitle?></h1>
<?php
$age = isset($_GET['age']) ? (int)$_GET['age'] : 5;
$context = new ChartContext($age);
$filter = isset($_GET['filter']) ? $_GET['filter'] : '.';
foreach(scandir(dirname(__FILE__) . '/kpis') as $file) {
if ($file == '.') continue;
if ($file == '..') continue;
// TODO Confirm that an injection attack is not possible.
if (!preg_match("/$filter/", $file)) continue;
require "kpis/$file";
if (preg_match('/^(.*)\.inc/', $file, $matches)) {
$callback = 'chart_' . $matches[1];
$chart = call_user_func($callback, $context);
$chart->render();
}
}
?>
</div>
</div>
<?php
$html = ob_get_contents ();
ob_end_clean ();
$App->generatePage ( $theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html );
?>