| <?php | |
| /******************************************************************************* | |
| * Copyright (c) 2010,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: | |
| * Wayne Beaton (Eclipse Foundation)- initial API and implementation | |
| * Wayne Beaton (Eclipse Foundation) - Bug 355885. | |
| *******************************************************************************/ | |
| require_once(dirname(__FILE__) . '/common.inc'); | |
| mustBeEclipseFoundationCaller(); | |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); | |
| $App = new App(); | |
| header("Content-type: text/plain"); | |
| $result = $App->foundation_sql("SELECT distinct People.PersonID as id, People.EMail as email, People.Comments as comment FROM People join PeopleProjects on (People.PersonID = PeopleProjects.PersonId) where relation='CM'"); | |
| while($row = mysql_fetch_assoc($result)) { | |
| $emails = extractEmails($row['email'], $row['comment']); | |
| $id = $row['id']; | |
| foreach($emails as $email) { | |
| echo "$email\t$id\n"; | |
| } | |
| } | |
| /** | |
| * This function extract the email addresses from the comment and returns | |
| * them--along with the provided primary email address--in an array. | |
| * | |
| * This is a stop-gap solution for the need to represent multiple email addresses | |
| * for some users in some contexts. Alternative email addresses are represented in | |
| * the comment field in the form 'alt-email:somebody@someplace.com'. Multiple | |
| * alternative addresses can be provided. The tag can occur anywhere in the comment | |
| * and--while it is not always required--it is good practice to leave a space | |
| * between multiple entries. | |
| * | |
| * WTB Bug 355885 | |
| */ | |
| function extractEmails($primary, $comment) { | |
| preg_match_all('/alt-email:(\S*)/i', $comment, $matches); | |
| $emails = array(); | |
| $emails[] = $primary; | |
| foreach($matches[1] as $email) { | |
| if ($primary == $email) continue; | |
| $emails[] = $email; | |
| } | |
| return $emails; | |
| } | |
| ?> |