mirror of
https://github.com/php/web-php.git
synced 2026-03-24 07:12:16 +01:00
welcome! A couple of important notes: - I've largely dropped references to Subversion altogether, even knowing that php-doc hasn't migrated yet. We may need to put a few more "Git/SVN account" references in there if php-doc isn't going to be migrated in the near future. - I've removed the quick start hints from git-php.php after an account request has been sent in. The documentation there was pretty skimpy anyway and probably wouldn't have been enough to get a developer going, plus it's harder to distill the Git workflow into three or four snappy commands and I'm not really convinced that a form confirmation page is the right place to have learning materials, since it's a one-time page for most users. Instead I've replaced them with links to the relevant Wiki pages, which seem more likely to be the right place for new developers to learn. News post to come, but I wanted to separate this out for easier review.
73 lines
2.8 KiB
PHP
73 lines
2.8 KiB
PHP
<?php
|
|
// $Id$
|
|
$_SERVER['BASE_PAGE'] = 'source.php';
|
|
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc';
|
|
$SIDEBAR_DATA = '
|
|
<h3>Our source is open</h3>
|
|
<p>
|
|
The syntax highlighted source is automatically generated by PHP from
|
|
the plaintext script.
|
|
If you\'re interested in what\'s behind the several functions we
|
|
used, you can always take a look at the source of the following files:
|
|
</p>
|
|
|
|
<ul class="toc">
|
|
<li><a href="/source.php?url=/include/prepend.inc">prepend.inc</a></li>
|
|
<li><a href="/source.php?url=/include/site.inc">site.inc</a></li>
|
|
<li><a href="/source.php?url=/include/mirrors.inc">mirrors.inc</a></li>
|
|
<li><a href="/source.php?url=/include/countries.inc">countries.inc</a></li>
|
|
<li><a href="/source.php?url=/include/languages.inc">languages.inc</a></li>
|
|
<li><a href="/source.php?url=/include/langchooser.inc">langchooser.inc</a></li>
|
|
<li><a href="/source.php?url=/include/ip-to-country.inc">ip-to-country.inc</a></li>
|
|
<li><a href="/source.php?url=/include/layout.inc">layout.inc</a></li>
|
|
<li><a href="/source.php?url=/include/last_updated.inc">last_updated.inc</a></li>
|
|
<li><a href="/source.php?url=/include/shared-manual.inc">shared-manual.inc</a></li>
|
|
<li><a href="/source.php?url=/include/manual-lookup.inc">manual-lookup.inc</a></li>
|
|
</ul>
|
|
|
|
<p>
|
|
Of course, if you want to see the <a href="/source.php?url=/source.php">source
|
|
of this page</a>, we have it available.
|
|
You can also browse the Git repository for this website on
|
|
<a href="http://git.php.net/?p=web/php.git;a=summary">git.php.net</a>.
|
|
</p>
|
|
';
|
|
site_header("Show Source", array("current" => "FIXME"));
|
|
|
|
// No file param specified
|
|
if (!isset($_GET['url']) || (isset($_GET['url']) && !is_string($_GET['url']))) {
|
|
echo "<h1>No page URL specified</h1>";
|
|
site_footer();
|
|
exit;
|
|
}
|
|
|
|
echo "<h1>Source of: " . htmlentities($_GET['url'], ENT_IGNORE, 'UTF-8') . "</h1>";
|
|
|
|
// Get dirname of the specified URL part
|
|
$dir = dirname($_GET['url']);
|
|
|
|
// Some dir was present in the filename
|
|
if (!empty($dir) && !preg_match("!^(\\.|/)$!", $dir)) {
|
|
|
|
// Check if the specified dir is valid
|
|
$legal_dirs = array("/manual", "/include", "/stats", "/error", "/license", "/conferences", "/archive", "/releases", "/security", "/reST");
|
|
if ((preg_match("!^/manual/!", $dir) || in_array($dir, $legal_dirs)) &&
|
|
strpos($dir, "..") === FALSE) {
|
|
$page_name = $_SERVER['DOCUMENT_ROOT'] . $_GET['url'];
|
|
} else { $page_name = FALSE; }
|
|
|
|
} else {
|
|
$page_name = $_SERVER['DOCUMENT_ROOT'] . '/' . basename($_GET['url']);
|
|
}
|
|
|
|
// Provide some feedback based on the file found
|
|
if (!$page_name || @is_dir($page_name)) {
|
|
echo "<p>Invalid file or folder specified</p>\n";
|
|
} elseif (file_exists($page_name)) {
|
|
highlight_php(join("", file($page_name)));
|
|
} else {
|
|
echo "<p>This file does not exist.</p>\n";
|
|
}
|
|
|
|
site_footer();
|