| <?php |
| /******************************************************************************* |
| * Copyright (c) 205, 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: |
| * Denis Roy (Eclipse Foundation)- initial API and implementation |
| * Wayne Beaton (Eclipse Foundation) - Bug 359782 |
| *******************************************************************************/ |
| 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()); |
| |
| $pageTitle = "Eclipse Foundation Councils"; |
| $pageKeywords = "foundation, legal, councils, emo"; |
| $pageAuthor = "Mike Milinkovich, Nov. 22, 2005"; |
| |
| |
| # Lookup the relations and return the list |
| function find_relations($relations_array, $include_year = false) { |
| global $App; |
| |
| $relations = "'" . implode( "','", $relations_array ) . "'"; |
| /* |
| * people and chairs are arrays of |
| * "Last, First" => array( |
| * the html for the row in the table |
| * <td>name</td><td>employer</td><td>reason</td> |
| * , PersonID ) |
| * each code section overwrites the results of the previous ones |
| * if they have a result for the same person. Thus if a person is |
| * both a PMC member and a company member, then whichever query |
| * was *last* determines what shows for that person. |
| */ |
| $people = array(); |
| $chairs = array(); |
| /* |
| * chairs |
| */ |
| $rel = 'NONE'; |
| foreach( $relations_array as $r ) { |
| if( $r == 'PZ' || $r == 'AZ' || $r == 'RZ' ) { |
| $rel = $r; |
| } |
| } |
| $result = $App->foundation_sql("SELECT PersonID |
| FROM PeopleRelations |
| WHERE Relation = '$rel' |
| "); |
| |
| while($row = mysql_fetch_assoc($result)) { |
| $chairs[$row['PersonID']] = 1; |
| } |
| /* |
| * appointed members with company relationships |
| */ |
| $result = $App->foundation_sql("SELECT distinct(People.PersonID), FName, LName, Name1, year(EntryDate) as year |
| FROM PeopleRelations, People, Organizations, |
| OrganizationContacts |
| WHERE PeopleRelations.Relation IN ($relations) |
| AND People.PersonID = PeopleRelations.PersonID |
| AND OrganizationContacts.PersonID = |
| People.PersonID |
| AND Organizations.OrganizationID = |
| OrganizationContacts.OrganizationID"); |
| |
| while($row = mysql_fetch_assoc($result)) { |
| $people[ucwords($row['LName'].', '.$row['FName'])] = array( |
| '<td>' . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '<b>' : '') . |
| ucwords($row['FName']) . |
| ' ' . ucwords($row['LName']) . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '*</b>' : '') . |
| '</td><td>' . $row['Name1'] . |
| '</td><td>appointed' . |
| ($include_year ? (' (' . $row['year'] . ')') : '') . |
| '</td>', $row['PersonID'] ); |
| } |
| |
| /* |
| * appointed members without company relationships |
| */ |
| $result = $App->foundation_sql("SELECT distinct(People.PersonID), FName, LName, year(EntryDate) as year |
| FROM PeopleRelations, People |
| WHERE PeopleRelations.Relation IN ($relations) |
| AND People.PersonID = PeopleRelations.PersonID |
| "); |
| while($row = mysql_fetch_assoc($result)) { |
| if( !isset($people[ucwords($row['LName'].', '.$row['FName'])]) ) { |
| $people[ucwords($row['LName'].', '.$row['FName'])] = array( |
| '<td>' . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '<b>' : '') . |
| ucwords($row['FName']) . |
| ' ' . ucwords($row['LName']) . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '*</b>' : '') . |
| '</td><td>' . ' ' . '</td><td>appointed' . |
| ($include_year ? (' (' . $row['year'] . ')') : '') . |
| '</td>', $row['PersonID'] ); |
| } |
| } |
| |
| /* |
| * company members |
| */ |
| $result = $App->foundation_sql("SELECT distinct(People.PersonID), |
| Name1, FName, LName |
| FROM OrganizationContacts, Organizations, People |
| WHERE OrganizationContacts.Relation IN ($relations) |
| AND OrganizationContacts.OrganizationID = |
| Organizations.OrganizationID |
| AND OrganizationContacts.PersonID = |
| People.PersonID"); |
| |
| while($row = mysql_fetch_assoc($result)) { |
| $people[ucwords($row['LName'].', '.$row['FName'])] = array( |
| '<td>' . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '<b>' : '') . |
| ucwords($row['FName']) . |
| ' ' . ucwords($row['LName']) . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '*</b>' : '') . |
| '</td><td>' . $row['Name1'] . '</td><td>Strategic Developer</td>', $row['PersonID'] ); |
| } |
| |
| /* |
| * project members with company relationships |
| */ |
| $result = $App->foundation_sql("SELECT distinct(People.PersonID), |
| ProjectID, FName, LName, Name1 |
| FROM PeopleProjects, People, OrganizationContacts, |
| Organizations |
| WHERE PeopleProjects.Relation IN ($relations) |
| AND PeopleProjects.PersonID = |
| People.PersonID |
| AND InactiveDate IS NULL |
| AND OrganizationContacts.PersonID = |
| People.PersonID |
| AND OrganizationContacts.Relation = |
| 'CC' |
| AND Organizations.OrganizationID = |
| OrganizationContacts.OrganizationID"); |
| |
| while($row = mysql_fetch_assoc($result)) { |
| $people[ucwords($row['LName'].', '.$row['FName'])] = array( |
| '<td>' . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '<b>' : '') . |
| ucwords($row['FName']) . |
| ' ' . ucwords($row['LName']) . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '*</b>' : '') . |
| '</td><td>' . $row['Name1'] . "</td><td>" . |
| ucfirst($row['ProjectID']) . " PMC</td>", $row['PersonID'] ); |
| } |
| |
| /* |
| * project members without company relationships |
| */ |
| $result = $App->foundation_sql("SELECT distinct(People.PersonID), |
| ProjectID, FName, LName |
| FROM PeopleProjects, People |
| WHERE PeopleProjects.Relation IN ($relations) |
| AND PeopleProjects.PersonID = |
| People.PersonID |
| AND InactiveDate IS NULL |
| "); |
| |
| while($row = mysql_fetch_assoc($result)) { |
| if( !isset($people[ucwords($row['LName'].', '.$row['FName'])]) ) { |
| $people[ucwords($row['LName'].', '.$row['FName'])] = array( |
| '<td>' . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '<b>' : '') . |
| ucwords($row['FName']) . |
| ' ' . ucwords($row['LName']) . |
| ((isset($chairs[$row['PersonID']]) && $chairs[$row['PersonID']] == 1) ? '*</b>' : '') . |
| '</td><td>' . ' ' . "</td><td>" . |
| ucfirst($row['ProjectID']) . " PMC</td>", $row['PersonID'] ); |
| } |
| } |
| |
| return $people; |
| } |
| |
| |
| ob_start(); |
| ?> |
| <div id="midcolumn"> |
| <h1><?= $pageTitle ?></h1> |
| <p>As defined by the <a href="/projects/dev_process/development_process.php">Eclipse Development Process</a>, |
| the open source projects in Eclipse are guided and co-ordinated by two Councils:</p> |
| <ul class="midlist"> |
| <li><strong><a href="#planning">Planning</a></strong>: The Planning Council |
| is responsible for establishing a coordinated Platform Release Plan |
| that supports the Roadmap, and balances the many competing requirements. |
| The Platform Release Plan describes the themes and priorities that focus |
| these Releases, and orchestrates the dependencies among Project Plans. |
| </li> |
| <li><strong><a href="#architecture">Architecture</a></strong>: The Architecture |
| Council is responsible for (i) monitoring, guiding, and influencing the software |
| architectures used by Projects, (ii) new project mentoring, and (iii) maintaining |
| and revising the Eclipse Development Process subject to the approval of the Board. |
| More explanation of the Architecture Council |
| can be found in the <a href="/projects/dev_process/development_process.php#4_5_Councils">Eclipse Development Process</a> and in |
| the <a href="http://wiki.eclipse.org/Architecture_Council">guidelines and checklists</a> |
| for the Architecture Council.</li> |
| </ul> |
| |
| <div class="homeitem3col"> |
| <h3><a name="planning"></a>Planning council</h3> |
| |
| <table class="table table-bordered table-hover"> |
| <?php |
| // Planning Council |
| $planning_relations = array( 'EP', 'PC', 'RP', 'PZ' ); |
| $people = find_relations($planning_relations); |
| ksort($people); |
| foreach($people as $name=>$value) { |
| echo " <tr>" . $value[0] . "</tr>\n"; |
| } |
| ?> |
| </table> |
| <ul> |
| <li><a href="http://wiki.eclipse.org/Planning_Council">Planning Council's wiki page and meeting minutes</a>. |
| </ul> |
| </div> |
| <div class="homeitem3col"> |
| <h3><a name="architecture"></a>Architecture council</h3> |
| <p align=right><em>Architecture Council members and the projects they are mentoring.</em> |
| <p/> |
| <table class="table table-bordered table-hover"> |
| <?php |
| // Architecture Council |
| $architecture_relations = array( 'AC', 'RA', 'EA', 'AZ' ); |
| $people = find_relations($architecture_relations, true); |
| ksort($people); |
| |
| $mentors = array(); |
| $result = $App->foundation_sql(" |
| SELECT |
| PP.PersonID, PP.ProjectID, P.UrlIndex, P.ProjectPhase |
| FROM PeopleProjects PP |
| INNER JOIN Projects P ON PP.ProjectId = P.ProjectID |
| WHERE |
| P.IsActive |
| and P.ProjectPhase like 'Incubation%' |
| and Relation = 'ME' |
| and InactiveDate is null |
| "); |
| |
| while($obj = mysql_fetch_object($result)) { |
| if( !isset($mentors[$obj->PersonID]) ) $mentors[$obj->PersonID] = array(); |
| |
| // WTB While we're here... set the link to go to the project info page. |
| $mentors[$obj->PersonID][] = "<a href=\"/projects/project.php?id=$obj->ProjectID\">$obj->ProjectID</a>"; |
| } |
| |
| foreach($people as $name => $value) { |
| echo " <tr>" . $value[0] . "</tr>\n"; |
| if( isset($mentors[$value[1]]) ) { |
| echo "<tr class=\"info\"><td colspan=\"3\" class=\"small\">Mentor for: " . implode(', ', $mentors[$value[1]] ) . "</td></tr>\n"; |
| } |
| } |
| ?> |
| </table> |
| |
| <ul> |
| <li><a href="http://wiki.eclipse.org/Architecture_Council">Architecture Council's wiki page and meeting minutes</a>. |
| </ul> |
| </div> |
| |
| <p><em>* chair</em></p> |
| </div> |
| <?php |
| |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |