| <?php | |
| /******************************************************************************* | |
| * Copyright (c) 2008, 2011 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: | |
| * Bjorn Feeman-Benson (Eclipse Foundation) - initial API and implementation | |
| * Wayne Beaton (Eclipse Foundation) - Bug 345906 | |
| *******************************************************************************/ | |
| $serverRoot = dirname(__FILE__) . '/..'; | |
| require_once("$serverRoot/eclipse.org-common/system/app.class.php"); | |
| require_once("$serverRoot/eclipse.org-common/system/nav.class.php"); | |
| require_once("$serverRoot/eclipse.org-common/system/menu.class.php"); | |
| $App = new App(); | |
| $Nav = null; | |
| $Menu = new Menu(); | |
| include($App->getProjectCommon()); | |
| require_once("$serverRoot/projects/classes/Project.class.php"); | |
| require_once("$serverRoot/projects/classes/common.php"); | |
| require_once("$serverRoot/projects/classes/debug.php"); | |
| $projects = getTopLevelProjects(); | |
| $selected = getSelectedProjects(); | |
| if (isset($_REQUEST['Generate']) && $selected) { | |
| header('Location: ip_log.php?projectid=' . implode(',', $selected)); | |
| } | |
| $pageTitle = "IP Log Selector"; | |
| $pageKeywords = 'IP Log, CQ, '; | |
| $pageAuthor = 'Wayne Beaton'; | |
| function getSelectedProjects() { | |
| global $_REQUEST; | |
| $selected = array(); | |
| if (isset($_REQUEST['projectid'])) { | |
| $ids = explode(',', $_REQUEST['projectid']); | |
| foreach ($ids as $id) { | |
| if (getProject($id)) $selected[] = $id; | |
| } | |
| } | |
| foreach ($_REQUEST as $key=>$value) { | |
| $id = strtr( $key, '_', '.' ); | |
| //if (!$value == 'on') continue; | |
| if (getProject($id)) $selected[] = $id; | |
| } | |
| return $selected; | |
| } | |
| function dumpProjectTree($projects, $selected) { | |
| if (!$projects) return; | |
| echo "<div style=\"margin-left:25px\">"; | |
| foreach ($projects as $project) { | |
| if ($project->isComponent()) continue; | |
| $id = $project->getId(); | |
| $title = $project->getName(); | |
| $checked = in_array($id, $selected) ? "checked" : ""; | |
| $control = "<input type=\"checkbox\" name=\"$id\" value=\"on\" $checked/>"; | |
| echo "<p>$control $id <b>$title</b></p>"; | |
| dumpProjectTree($project->getChildren(), $selected); | |
| } | |
| echo "</div>"; | |
| } | |
| ob_start(); | |
| ?> | |
| <div id="maincontent"> | |
| <h1><?php echo $pageTitle; ?></h1> | |
| <p>Select the set of projects to be included in the IP Log and click "Generate".</p> | |
| <form method="GET"> | |
| <?php dumpProjectTree($projects, $selected); ?> | |
| <?php echo "<input type=\"submit\" name=\"Generate\" value=\"Generate\"/>"; ?> | |
| </form> | |
| </div><!-- maincontent --> | |
| <?php | |
| # Paste your HTML content between the EOHTML markers! | |
| $html = ob_get_contents(); | |
| ob_end_clean(); | |
| # Generate the web page | |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); | |
| ?> |