| <?php | |
| /******************************************************************************* | |
| * Copyright (c) 2010 Eclipse Foundation and others. | |
| * | |
| * 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'] . "/projects/classes/common.php"); | |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/classes/debug.php"); | |
| 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(); | |
| // Not sure who we're protecting this from. | |
| //mustBeCommitter(); | |
| include($App->getProjectCommon()); | |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/classes/Proposal.class.php"); | |
| $proposals = get_proposals(); | |
| ob_start(); | |
| $pageKeywords = ""; | |
| $pageTitle = "Proposals"; | |
| $pageAuthor = "Wayne Beaton"; | |
| ?> | |
| <div id="midcolumn"> | |
| <div class="homeitem"> | |
| <h1><?= $pageTitle ?></h1> | |
| <p>The Eclipse Project Handbook contains information about our process for | |
| <a href="https://www.eclipse.org/projects/handbook/#starting">proposing | |
| a new open source project</a> at the Eclipse Foundation.</p> | |
| <p> | |
| <a class="btn btn-primary" href="https://projects.eclipse.org/create/project-proposal"><i class="fa fa-plus" aria-hidden="true"></i> New Proposal</a> | |
| </p> | |
| <?php | |
| usort($proposals, function($proposal1, $proposal2) { | |
| if ($proposal1->getDate() == $proposal2->getDate()) return 0; | |
| return $proposal1->getDate() > $proposal2->getDate() ? -1 : 1; | |
| }); | |
| function dumpProposals($title, $proposals, $when) { | |
| $foundOne = false; | |
| foreach($proposals as $proposal) { | |
| if (call_user_func($when, $proposal)) { | |
| if (!$foundOne) { | |
| echo "<h2>{$title}</h2>"; | |
| echo "<ul>"; | |
| $foundOne = true; | |
| } | |
| echo "<li>{$proposal->asHtml()}</li>"; | |
| } | |
| } | |
| if ($foundOne) { | |
| echo "</ul>"; | |
| } | |
| } | |
| dumpProposals("Active", $proposals, function (Proposal $proposal) {return $proposal->isActive();}); | |
| dumpProposals("Complete", $proposals, function (Proposal $proposal) {return $proposal->isSuccessful();}); | |
| dumpProposals("Withdrawn", $proposals, function (Proposal $proposal) {return $proposal->isWithdrawn();}); | |
| ?> | |
| </div> | |
| </div> | |
| <?php | |
| $html = ob_get_contents(); | |
| ob_end_clean(); | |
| $App->generatePage(null, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); | |
| ?> |