1
0
mirror of https://github.com/php/web-php.git synced 2026-03-24 07:12:16 +01:00
Files
archived-web-php/download-docs.php
Damien Seguy eb80abc3b1 update URL
2004-03-05 13:13:17 +00:00

200 lines
6.2 KiB
PHP

<?php
// $Id$
$_SERVER['BASE_PAGE'] = 'download-docs.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc';
$SIDEBAR_DATA='
<h3>Documentation online</h3>
<p>
You can read the
<a href="/docs.php">documentation online</a>
in various languages, even in printer
friendly formats.
</p>
<h3>Tip for Linux and BSD users</h3>
<p>
A free CHM viewer is available for Linux, *BSD and Solaris,
which is capable of reading the CHMs available here, except
the extended CHMs. It is called
<a href="http://xchm.sourceforge.net/">xCHM</a>.
</p>
<h3>File sizes and dates</h3>
<p>
If you are using a capable browser, the file size and
date will show up when you move the mouse above a link.
If you cannot view this information, or would like to see all the
information, you can <a href="/download-docs.php?sizes=1">click
here to see all the file sizes and dates</a>.
</p>
';
site_header("Download documentation");
// Format to look for
$formats = array(
"Single HTML" => "html.gz",
"Many HTML files" => "tar.gz",
"PDF" => "pdf.bz2",
"PalmPilot DOC" => "doc.pdb",
"PalmPilot iSilo" => "isilo.pdb",
"Windows HTML Help" => "chm"
);
?>
<h1>Download documentation</h1>
<p>
The PHP manual is available in a selection of languages and
formats. Note that the English version should be considered
the most accurate, since translations are based on that version.
Most of the translations are not complete, and contain English
parts. Pick a language and format from the table below to start
downloading.
</p>
<p>
Note that the packaged HTML version of the manual
(tar.gz) doesn't contain any directories,
so all of the files will be dumped into your current working
directory when you expand the archive unless the tool you
use does otherwise.
</p>
<?php
$files = array(); $found_formats = array();
// Go through all possible manual languages
foreach ($LANGUAGES as $langcode => $language) {
// Go through all possible manual formats
foreach ($formats as $formatname => $extension) {
// Actual filename of the file
$actual_file = $_SERVER['DOCUMENT_ROOT'] .
"/distributions/manual/php_manual_$langcode.$extension";
// File named after the language and format exists
if (file_exists($actual_file)) {
// Mirror selection download URL
$link_to = "/get/php_manual_$langcode.$extension/from/a/mirror";
// Try to get size and changed date
$size = @filesize($actual_file);
$changed = @filemtime($actual_file);
// Size available, collect information
if ($size !== FALSE) {
$files[$langcode][$extension] = array(
$link_to,
(int) ($size/1024),
date("j M Y", $changed),
$extension
);
if (!in_array($extension, array_keys($found_formats))) {
$found_formats[$formatname] = $extension;
}
}
}
}
}
if (count($found_formats) == 0) {
echo "<p class=\"tip\">This mirror has no documentation files for download.</p>";
} else {
echo '<table border="0" cellpadding="3" cellspacing="2" class="standard">' . "\n" .
"<tr>\n <th>&nbsp;</th>\n";
// Print out the name of the formats
foreach ($formats as $formatname => $extension) {
if (!in_array($extension, array_values($found_formats))) { continue; }
echo " <th valign=\"bottom\">$formatname</th>\n";
}
echo " </tr>\n";
foreach ($files as $langcode => $lang_files) {
// See if current language is the preferred one
if ($langcode == $LANG) { $preflang = TRUE; }
else { $preflang = FALSE; }
// Additional link for special French version of the manual
$language = $LANGUAGES[$langcode];
if ($langcode == "fr") {
$language .= '<br /><a href="http://www.nexen.net/docs/php/index.php">[Special French]</a>';
}
// Highlight manual in preferred language
if ($preflang) {
$cellclass = ' class="highlight"';
} else {
$cellclass = "";
}
echo "<tr>\n<th class=\"subl\">$language</td>\n";
foreach ($formats as $formatname => $extension) {
// Skip if no file found
if (!in_array($extension, array_values($found_formats))) { continue; }
echo "<td align=\"center\"$cellclass>";
if (!isset($lang_files[$extension])) {
echo "&nbsp;";
} else {
$fileinfo = $lang_files[$extension];
echo "<a href=\"$fileinfo[0]\"";
// Only print out tooltip, if explicit information is not printed
if (!$sizes && !$preflang) {
echo " title=\" Size: $fileinfo[1]Kb -- Date: $fileinfo[2]\"";
}
// End link tag
echo ">$fileinfo[3]</a>";
// Sizes required to be printed out (URL parameter or preferred language)
if ($sizes || $preflang) {
echo "<br /><small>Size: $fileinfo[1]Kb<br />Date: $fileinfo[2]</small>";
}
}
// Quite bad looking code tweak to add a link to the extended CHM (en only!)
if ($langcode == "en" && $extension == "chm") {
echo '<br /><a href="/docs-echm.php">extended chm</a>';
}
// End table cell
echo "</td>\n";
}
// End table row
echo "</tr>\n";
}
echo "</table>\n";
}
?>
<hr />
<h1>Documentation howto</h1>
<p>
The PHP Documentation Team has a documentation howto, including coverage
on how to set up a working environment on Unix/Linux/Windows, how to build
HTML formatted docs from the XML sources, what conventions to follow when
writing documentation, etc. If you are interested in the process, or would
like to start/join a translation, you can <a href="/get/dochowto">download
the howto</a>. Note, that <a href="/manual/howto">it is also readable
online</a>.
</p>
<?php site_footer(); ?>