blob: 755ef9e50f76d81805f64158bc7438875374c062 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2012 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
*******************************************************************************/
/*
* Export the release information for a single project, specified
* via the "id" parameter.
*
* e.g. http://www.eclipse.org/projects/export/releases.json.php?id=technology.woolsey
*
* INTERNAL USE ONLY: restricted to callers within the Eclipse Foundation.
*/
require_once(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php");
$App = new App();
require_once(dirname(__FILE__) . "/../classes/common.php");
require_once(dirname(__FILE__) . "/../classes/debug.php");
mustBeEclipseFoundationCaller();
$sql = "SELECT
o.OrganizationId as id, o.SCRM_GUID as sugarCrm, o.Name1 as name, o.Comments as comments,
r.Description as memType, m.Relation as memTypeCode, m.ExpiryDate as expiryDate,
od.DocumentId as docId, od.EffectiveDate as docEffectiveDate,
od.ExpirationDate as docExpiryDate, od.Comments as docComments,
sd.Type as type, sd.Description as description,
oc.PersonId as personId, oc.Relation as relation, oc.Title as title, oc.Comments as contactComments
FROM Organizations as o
LEFT JOIN OrganizationMemberships as m on o.OrganizationId=m.OrganizationId
LEFT JOIN SYS_Relations as r on m.Relation=r.Relation and r.Type='ME'
LEFT JOIN OrganizationDocuments as od on o.OrganizationId=od.OrganizationId
LEFT JOIN SYS_Documents as sd on od.DocumentId = sd.DocumentId
LEFT JOIN OrganizationContacts as oc on o.OrganizationId=oc.OrganizationId";
$organizations = array();
$result = $App->foundation_sql($sql);
while ($row = mysql_fetch_assoc($result)) {
$organizations[$row['id']]['id'] = $row['id'];
$organizations[$row['id']]['sugarCrm'] = $row['sugarCrm'];
$organizations[$row['id']]['name'] = $row['name'];
$organizations[$row['id']]['typeCode'] = $row['memTypeCode'];
$organizations[$row['id']]['type'] = $row['memType'];
$organizations[$row['id']]['expiry'] = normalizeDate($row['expiryDate']);
if (isset($row['docId'])) {
$organizations[$row['id']]['documents'][$row['docId']] = array(
'id' => $row['docId'],
'type' => $row['type'],
'description' => $row['description'],
'effective' => normalizeDate($row['docEffectiveDate']),
'expiry' => normalizeDate($row['docExpiryDate']),
'comments' => utf8_encode($row['docComments'])
);
}
if (isset($row['personId'])) {
$organizations[$row['id']]['contacts'][$row['personId']][$row['relation']] = array(
'id' => $row['personId'],
'relation' => $row['relation'],
'title' => $row['title'],
'comments' => $row['contactComments']
);
}
}
function normalizeDate($date) {
if (!$date) return null;
if ($date == '0000-00-00') return null;
return date('Y-m-d', strtotime($date));
}
echo json_encode($organizations);
?>