blob: 26ebd1bf21d0035f1b36777513a05e4757d8e341 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2018 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
*******************************************************************************/
/**
* This script generates a list of trademarks asserted by
* The Eclipse Foundation. There are two types of trademarks:
* registered, which are represented by an "R" in a circle (R),
* and unregistered (or "common law") trademarks, which are
* represented with a "TM" in superscript.
*
* Most of the work is done by the Trademarks class; this
* script is primarily concerned with presenting the information
* to the user.
*
* @see Trademarks
*/
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");
require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/classes/Trademarks.class.inc");
require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/classes/common.php");
$App = new App();
$Nav = new Nav();
$Menu = new Menu();
include($App->getProjectCommon());
$pageTitle = "Eclipse Foundation Trademarks";
$pageKeywords = "";
$pageAuthor = "Wayne Beaton";
$trademarks = Trademarks::getInstance();
/**
* Render a list of trademark terms. Terms are provided
* in the form of an associative array that has a string
* value as a key and an array of values, essentially providing
* groupings of trademarks that are logically related to each other.
*
* Each value is itself an associative array that provides a name
* and link (theoretically, the link could be different for
* each name, though in practice they are usually all the same).
*
* There are, for example, multiple trademarked terms associcated
* with the Eclipse BIRT project.
*
* <pre>{
* ...
* "birt": [
* {
* "name": "Eclipse Business Intelligence and Reporting Tools",
* "link": "https:\/\/projects.eclipse.org\/projects\/birt"
* },
* {
* "name": "Business Intelligence and Reporting Tools",
* "link": "https:\/\/projects.eclipse.org\/projects\/birt"
* },
* {
* "name": "Eclipse BIRT",
* "link": "https:\/\/projects.eclipse.org\/projects\/birt"
* },
* {
* "name": "BIRT",
* "link": "https:\/\/projects.eclipse.org\/projects\/birt"
* }
* ],
* ...
* </pre>
*
* Related terms are rendered together in a single bullet, separated
* by commas. If provided, a symbol is rendered next to each term.
*
* @param mixed $trademarks
* @param string $symbol
*/
function listTerms($trademarks, $symbol='&trade;') {
foreach($trademarks as $id => $terms) {
$list = array();
echo "<li>";
foreach($terms as $term) {
if (!empty($term['link'])) {
$list[] = "<a href=\"{$term['link']}\">{$term['name']}</a>{$symbol}";
} else {
$list[] = "{$term['name']}{$symbol}";
}
}
echo implode(', ', $list);
echo "</li>";
}
}
ob_start();
?>
<div id="maincontent">
<div id="midcolumn">
<h1><?= $pageTitle ?></h1>
<p><strong>EXPERIMENTAL</strong> This page is experimental. It may contain errors.</p>
<p>This document captures a list of trademarks claimed by the Eclipse Foundation. Please read
our <a href="/legal/logo_guidelines.php">Guidelines for Eclipse Logos &amp; Trademarks</a>.
<p>The Eclipse Foundation considers the names of all open source projects, all downloadable
software products, the Eclipse logo, and the logos of our brands and projects to be trademarks
of the The Eclipse Foundation. The Eclipse Foundation owns all of these trademarks on behalf of
our project communities.</p>
<h2>Registered Trademarks</h2>
<ul>
<?php listTerms($trademarks->getRegistered(), ''); ?>
</ul>
<h2>Common Law Trademarks</h2>
<p>All software product and project names are considered trademarks of The Eclipse Foundation,
even if they are not listed below. </p>
<ul>
<?php listTerms($trademarks->getUnregistered(), '&trade;'); ?>
</ul>
</div>
</div>
<?php
$html = ob_get_contents();
ob_end_clean();
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>