| <?php |
| /******************************************************************************* |
| * Copyright (c) 2016, 2017 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 (dirname ( __FILE__ ) . "/../../eclipse.org-common/system/app.class.php"); |
| require_once (dirname ( __FILE__ ) . "/../../eclipse.org-common/system/nav.class.php"); |
| require_once (dirname ( __FILE__ ) . "/../../eclipse.org-common/system/menu.class.php"); |
| require_once dirname(__FILE__) . "/../classes/Project.class.php"; |
| require_once dirname(__FILE__) . "/../classes/common.php"; |
| require_once dirname(__FILE__) . "/../classes/debug.php"; |
| $App = new App (); |
| $Nav = new Nav (); |
| $Menu = new Menu (); |
| include ($App->getProjectCommon ()); |
| |
| mustBeCommitter(); |
| |
| require_once dirname ( __FILE__ ) . '/legal.inc'; |
| |
| $pageTitle = "Legal Documentation Generator"; |
| $pageKeywords = ""; |
| $pageAuthor = "Wayne Beaton"; |
| |
| $project = null; |
| if ($id = @$_GET ['id']) |
| if (isValidProjectId ( $id )) |
| $project = Project::getProject ( $id ); |
| |
| if (! $width = ( int ) @$_GET ['width']) |
| $width = 80; |
| |
| ob_start (); |
| function renderTemplate($function) { |
| echo "<pre style=\"background: lightgrey\">"; |
| $function (); |
| echo "</pre>"; |
| } |
| |
| /** |
| * This function renders a project selection drop-down. |
| * When the |
| * user selects a value, the page is reloaded with the id of the |
| * selected project in the <code>id</code> parameter. All other |
| * parameters that had been passed to the page are preserved via |
| * hidden fields. |
| * |
| * @param string $id |
| * The id of the selected project |
| */ |
| function dumpProjectSelectionForm($id) { |
| echo "<form method=\"get\">"; |
| foreach ( $_GET as $key => $value ) { |
| if ($key == 'id') |
| continue; |
| echo "<input type=\"hidden\" name=\"$key\" value=\"$value\""; |
| } |
| echo "<p>Select a project: "; |
| echo "<select name=\"id\" onchange=\"this.form.submit()\">"; |
| |
| foreach ( Project::getActiveProjects () as $project ) { |
| $indent = str_repeat ( ' ', 4 * (count ( explode ( '.', $project->getId () ) ) - 1) ); |
| $selected = $id == $project->getId () ? ' selected="true"' : ''; |
| echo "<option value=\"{$project->getId()}\"$selected>{$indent}{$project->getFormalName()}</option>"; |
| } |
| |
| echo "</select>"; |
| echo "<input type=\"submit\" value=\"Go!\"/>"; |
| echo "</p>"; |
| echo "</form>"; |
| } |
| |
| ?> |
| <div id="maincontent"> |
| <div id="midcolumn"> |
| <h1><?= $pageTitle ?></h1> |
| <p> |
| <strong>EXPERIMENTAL!</strong> |
| </p> |
| <p> |
| This page provides automatically generated template content for legal |
| documentation, including copyright and license headers, copyright |
| assignments for notices, and more. The information here is generated |
| from information found in our databases. Some information may be |
| missing; it is ultimately the project team's responsibility to |
| provide this information. As we evolve this <em>experimental</em> |
| implementation, we will identify gaps and improve the quality of the |
| output. |
| </p> |
| <p> |
| There is more information in the |
| <a href="https://www.eclipse.org/projects/handbook/#legaldoc">Eclipse |
| Project Handbook</a>. |
| </p> |
| |
| <?php dumpProjectSelectionForm($id); ?> |
| |
| <?php |
| if ($project) { |
| ?> |
| <h2><?php echo $project->getFormalName(); ?></h2> |
| |
| <h3 id="copyright">Copyright and License Header</h3> |
| <p> |
| Where possible, all source code, property files, and metadata files |
| (including application, test, and generated source code as well as |
| other types of files such as XML, HTML, etc.) must include a header |
| with appropriate <a |
| href="/projects/handbook/#ip-copyright-headers">copyright |
| and license notices</a>. |
| </p> |
| <p>The following copyright and license header should be a reasonable |
| default for project files based on the information available in the |
| Eclipse Foundation database.</p> |
| |
| <?php |
| renderTemplate ( function () use (&$project, $width) { |
| echo getDefaultFileHeader ( $project->getLicenses (), $width ); |
| } ); |
| ?> |
| |
| <p>Alternatively, the project team may choose to adopt this more |
| generic copyright header for each file and include the identities of |
| the copyright holders in the notice file.</p> |
| |
| <?php |
| renderTemplate ( function () use (&$project, $width) { |
| echo getAlternativeFileHeader ( $project->getLicenses (), $width ); |
| } ); |
| ?> |
| |
| <h3 id="notice">NOTICE File</h3> |
| |
| <p>The <a href="/projects/handbook/#legaldoc-notice">NOTICE</a> |
| file must include basic project metadata, an expression of the |
| declared project licenses, information regarding the licensing of any |
| third party content, and a statement regarding the use of |
| cryptography in cases where the content employs cryptography.</p> |
| <p>The NOTICE file may have an extension, and should be placed in the root of all project |
| repositories.</p> |
| |
| <?php |
| renderTemplate ( function () use (&$id, $width) { |
| renderNoticeFile ( $id, $width ); |
| } ); |
| ?> |
| |
| <h3 id="license">LICENSE File</h3> |
| |
| <p> |
| The <a href="https://www.eclipse.org/projects/handbook/#legaldoc-license">LICENSE</a> file contains the exact text of the project's declared licenses in human readable form. |
| |
| </p> |
| <p> |
| We don't have a generator for this yet. For most projects, |
| however, this file should contain the text of the |
| Eclipse Public License. |
| </p> |
| |
| <ul> |
| <li><a href="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Ecipse Public License 2.0</a> |
| <li><a href="https://www.eclipse.org/org/documents/epl-1.0/EPL-1.0.txt">Eclipse Public License 1.0</a></li> |
| </ul> |
| |
| <p>The LICENSE file may have an extension, and should be placed in the root of all project |
| repositories.</p> |
| |
| <h3 id="contributing">CONTRIBUTING File</h3> |
| |
| <p>The CONTRIBUTING file describes the steps by which a developer |
| can contribute to the project. This includes information like |
| pointers to the Eclipse Contributor Agreement (ECA), coding |
| guidelines, build instructions, etc.</p> |
| |
| <p>The CONTRIBUTING file may have an extension, and should be placed in the root of all project |
| repositories.</p> |
| |
| <?php |
| renderTemplate ( function () use (&$id, $width) { |
| renderContributingFile ( $id, $width ); |
| } ); |
| ?> |
| <?php |
| } |
| ?> |
| </div> |
| </div> |
| <?php |
| |
| $html = ob_get_contents (); |
| ob_end_clean (); |
| $App->generatePage ( $theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html ); |
| ?> |