Branch: get-rid-of-the-mirrors
Deleted commits count: 1
User: Derick Rethans <der...@php.net>         Mon, 01 Apr 2019 10:27:50 +0000

Changed paths:
  M  download-docs.php
  M  error.php
  A  include/historical_mirrors.inc
  M  include/layout.inc
  M  mailing-lists.php
  M  mirroring.php
  M  releases/feed.php
  M  thanks.php

diff --git b/download-docs.php a/download-docs.php
index c450ce2..1dfec33 100644
--- b/download-docs.php
+++ a/download-docs.php
@@ -109,7 +109,7 @@ foreach ($LANGUAGES as $langcode => $language) {
         if (file_exists($filepath)) {
 
             // Mirror selection download URL
-            $link_to = "/get/$filename/from/a/mirror";
+            $link_to = "/distributions/manual/$filename";
 
             // Try to get size and changed date
             $size    = @filesize($filepath);
diff --git b/error.php a/error.php
index 76f2278..1da1f27 100644
--- b/error.php
+++ a/error.php
@@ -464,11 +464,6 @@ $external_redirects = array(
     "release/5_3_0.php" => "/releases/5_3_0.php", // PHP 5.3.0 release 
announcement had a typo
     "ideas.php"   => "http://wiki.php.net/ideas";, // BC
     "releases.atom" => "/releases/feed.php", // BC, No need to pre-generate it
-    // We used to do reST rendering of README files
-    "rest/readme.release_process"   => 
"http://git.php.net/?p=php-src.git;a=blob_plain;f=README.RELEASE_PROCESS;hb=HEAD";,
-    "rest/readme.mailinglist_rules" => 
"http://git.php.net/?p=php-src.git;a=blob_plain;f=README.MAILINGLIST_RULES;hb=HEAD";,
-    "rest/readme.git-rules"         => 
"http://git.php.net/?p=php-src.git;a=blob_plain;f=README.GIT-RULES;hb=HEAD";,
-    "rest/coding_standards"         => 
"http://git.php.net/?p=php-src.git;a=blob_plain;f=CODING_STANDARDS;hb=HEAD";,
     "spec"        => "https://github.com/php/php-langspec";,
     "sunglasses"  => "https://www.youtube.com/watch?v=dQw4w9WgXcQ";, // 
Temporary easter egg for bug#66144
 );
diff --git b/include/historical_mirrors.inc a/include/historical_mirrors.inc
new file mode 100644
index 0000000..ec7ef37
--- /dev/null
+++ a/include/historical_mirrors.inc
@@ -0,0 +1,89 @@
+<?php
+$historical_mirrors = array(
+       array("ARG", "ar2.php.net", "XMundo Hosting Solutions", 
"http://www.xmundo.net";),
+       array("ARM", "am1.php.net", "ARMINCO Global Telecommunications", 
"http://www.arminco.com/";),
+       array("AUS", "au1.php.net", "Melbourne IT Pty Ltd", 
"https://www.melbourneit.com.au/";),
+       array("AUS", "au2.php.net", "Servers Australia Pty. Ltd.", 
"http://www.serversaustralia.com.au/";),
+       array("AUT", "at1.php.net", "Goodie Domain Service", 
"http://www.gdsw.at/";),
+       array("AUT", "at2.php.net", "Yalwa Local Directory Services Austria", 
"http://www.yalwa.at/";),
+       array("BGD", "bd1.php.net", "IS Pros Limited", 
"http://www.ispros.com.bd";),
+       array("BEL", "be2.php.net", "Cu.be Solutions", "http://www.cu.be/";),
+       array("BIH", "ba1.php.net", "BHTelecom", "https://www.bhtelecom.ba/";),
+       array("BRA", "br1.php.net", "HostNet Internet", 
"http://www.hostnet.com.br";),
+       array("BRA", "br2.php.net", "Umbler", "http://umbler.com";),
+       array("BGR", "bg2.php.net", "Data.BG", "http://www.data.bg";),
+       array("CAN", "ca1.php.net", "easyDNS", "http://www.easydns.com/";),
+       array("CAN", "ca2.php.net", "Parasane, LLC", 
"http://www.parasane.net/";),
+       array("CAN", "ca3.php.net", "egateDOMAINS", 
"http://www.egatedomains.ca/?RP=DJFEIWHFEWQ";),
+       array("CHL", "cl1.php.net", "Caos Consultores", "http://www.caos.cl";),
+       array("CHN", "cn2.php.net", "Sina App Engine (SAE)", 
"http://sae.sina.com.cn/";),
+       array("CZE", "cz1.php.net", "Czech Technical University in Prague", 
"http://www.cvut.cz/";),
+       array("CZE", "cz2.php.net", "Softaculous Ltd.", 
"http://www.softaculous.com/";),
+       array("DNK", "dk1.php.net", "Siminn Denmark", "http://www.siminn.dk";),
+       array("DNK", "dk2.php.net", "Kobalt", "http://kobalt.dk/";),
+       array("EST", "ee1.php.net", "Zone Media LLC", "https://www.zone.ee/";),
+       array("FIN", "fi1.php.net", "Avenla Oy", "http://www.avenla.fi/";),
+       array("FIN", "fi2.php.net", "Planeetta Internet OY", 
"http://www.planeetta.net/";),
+       array("FRA", "fr2.php.net", "Crihan", "http://www.crihan.fr/";),
+       array("DEU", "de1.php.net", "@GLOBE GmbH", "http://www.globe.de/";),
+       array("DEU", "de2.php.net", "Locanto Kleinanzeigen", 
"http://www.locanto.de/";),
+       array("HKG", "hk1.php.net", "Nethub Online Limited", 
"http://www.nethub.com.hk/";),
+       array("HKG", "hk2.php.net", "Website Solution Web Hosting", 
"http://www.website-solution.net/";),
+       array("ISL", "is1.php.net", "Hýsingarfélagið ehf", 
"http://www.hysingar.is/";),
+       array("ISL", "is2.php.net", "Dotgeek", "http://dotgeek.org/";),
+       array("IND", "in1.php.net", "Directi Web Hosting", 
"http://www.directi.com";),
+       array("IND", "in3.php.net", "IndiaLinks Web Hosting Pvt Ltd", 
"http://www.indialinks.com";),
+       array("IDN", "id1.php.net", "PT Pasifik Satelit Nusantara", 
"http://www.pesat.net.id";),
+       array("IRN", "ir1.php.net", "Golha.IR", "http://www.golha.ir/";),
+       array("IRN", "ir2.php.net", "ParsPack.com", "http://parspack.com/";),
+       array("IRL", "ie1.php.net", "Yalwa - Local Directory Services Ireland", 
"http://www.yalwa.ie/";),
+       array("IRL", "ie2.php.net", "Hosting Ireland", 
"http://www.hostingireland.ie/";),
+       array("ISR", "il1.php.net", "SPD HOSTING LTD", "http://www.spd.co.il/";),
+       array("ITA", "it1.php.net", "Register.it", "http://www.register.it/";),
+       array("ITA", "it2.php.net", "Interalta", "https://www.interalta.com/";),
+       array("JAM", "jm2.php.net", "Teamopolis Sports Websites Inc.", 
"http://www.teamopolis.com/";),
+       array("JPN", "jp1.php.net", "PacketBusiness, Inc.", 
"http://www.packetbusiness.com/";),
+       array("JPN", "jp2.php.net", "snotch", 
"http://bloggers.ja.bz/sunouchi/";),
+       array("KOR", "kr1.php.net", "ask.sarang.net", "http://ask.sarang.net";),
+       array("LIE", "li1.php.net", "Telecom Liechtenstein AG", 
"http://www.telecom.li/";),
+       array("LTU", "lt1.php.net", "UAB \"Interneto vizija\"", 
"http://serveriai.lt/";),
+       array("LUX", "lu1.php.net", "root eSolutions ISP", 
"http://www.root.lu";),
+       array("LVA", "lv1.php.net", "Māris Ozoliņš", "http://netparks.lv/";),
+       array("MYS", "my1.php.net", "MaxDedicated", 
"http://www.maxdedicated.com/";),
+       array("MEX", "mx1.php.net", "uServers Mexico", 
"http://www.uservers.net/?in=php";),
+       array("MEX", "mx2.php.net", "Universidad Autónoma Metropolitana 
Azcapotzalco", "http://www.azc.uam.mx";),
+       array("MDA", "md1.php.net", "dev.md", "http://www.dev.md/";),
+       array("NCL", "nc1.php.net", "Nautile", "http://www.nautile.nc/";),
+       array("NLD", "nl1.php.net", "Stream Service", 
"http://www.streamservice.nl/";),
+       array("NLD", "nl3.php.net", "Computel Standby BV", 
"http://www.computel.nl/";),
+       array("NZL", "nz2.php.net", "Catalyst IT Ltd", 
"http://catalyst.net.nz/";),
+       array("NOR", "no1.php.net", "Pål Sollie", "https://sparkz.no/";),
+       array("NOR", "no2.php.net", "Verdens Gang AS", "http://www.vg.no";),
+       array("PAN", "pa1.php.net", "Unidominios", 
"http://www.unidominios.com/";),
+       array("POL", "pl1.php.net", "WEBdev", "http://webdev.pl/";),
+       array("ROU", "ro1.php.net", "SpiderVPS", "http://www.spidervps.com/";),
+       array("RUS", "ru2.php.net", "Cronyx Plus LLC", "http://isp.rinet.ru/";),
+       array("SGP", "sg2.php.net", "Xssist Group (Singapore) Pte Ltd", 
"http://www.xssist.com/";),
+       array("ESP", "es1.php.net", "GRN Serveis Telematics", 
"http://www.grn.es/classic";),
+       array("SVN", "si1.php.net", "DOMENAR.net", "http://www.domenar.net/";),
+       array("SVN", "si2.php.net", "Domene in gostovanje NEOSERV", 
"http:///www.neoserv.si";),
+       array("SWE", "se1.php.net", "Portlane AB", "http://www.portlane.com/";),
+       array("SWE", "se2.php.net", "SpaceDump IT AB", 
"http://www.spacedump.se/";),
+       array("ZAF", "za1.php.net", "AfriCC", "https://www.afri.cc/";),
+       array("CHE", "ch1.php.net", "ComunidadHosting", 
"http://www.comunidadhosting.com/";),
+       array("TWN", "tw1.php.net", "twemail.com", "http://twemail.com/";),
+       array("TWN", "tw2.php.net", "www.mirror.tw", "http://www.mirror.tw/";),
+       array("THA", "th1.php.net", "THAIWEB.network", 
"http://www.thaiweb.net";),
+       array("TUR", "tr1.php.net", "İstanbul Teknik Üniversitesi Bilgi İşlem 
Daire Başkanlığı", "http://www.itu.edu.tr/";),
+       array("TUR", "tr2.php.net", "DGN Teknoloji", "http://www.dgn.net.tr/";),
+       array("TZA", "tz1.php.net", "Aptus Solutions", "http://aptus.co.tz";),
+       array("UKR", "ua1.php.net", "ELRO Corporation", "http://elro.com";),
+       array("UKR", "ua2.php.net", "Max Khaikin", 
"http://www.masterlogic.net/";),
+       array("GBR", "uk1.php.net", "Camel Network", 
"http://camelnetwork.com/";),
+       array("GBR", "uk3.php.net", "CatN PHP Hosting", "http://www.catn.com/";),
+       array("USA", "us1.php.net", "NEXCESS.NET", "http://www.nexcess.net/";),
+       array("USA", "us2.php.net", "Hurricane Electric", "http://he.net/";),
+       array("USA", "us3.php.net", "C7 Data Centers", "https://www.c7.com/";),
+       array("VNM", "vn1.php.net", "DigiStar Co., Ltd", 
"http://www.digistar.vn/";),
+);
+?>
diff --git b/include/layout.inc a/include/layout.inc
index b4f9230..4ef1de6 100644
--- b/include/layout.inc
+++ a/include/layout.inc
@@ -198,12 +198,7 @@ function download_link($file, $title, $showsize = TRUE, 
$mirror = '')
 
         if(@file_exists($local_file.".asc")) {
             echo " ";
-            $sig_link = "get/$file.asc/from/a/mirror";
-            if ($mirror != '') {
-                $sig_link = $mirror . $sig_link;
-            } else {
-                $sig_link = "/" . $sig_link;
-            }
+            $sig_link = "/distributions/$file.asc";
             print_link($sig_link, "(sig)");
         }
 
diff --git b/mailing-lists.php a/mailing-lists.php
index ed788ff..7d6fbff 100644
--- b/mailing-lists.php
+++ a/mailing-lists.php
@@ -173,7 +173,7 @@ if (isset($_POST['maillist'])) {
 </ul>
 <p>
  And make sure you have read our
- <a 
href="//git.php.net/?p=php-src.git;a=blob_plain;f=README.MAILINGLIST_RULES;hb=HEAD">Mailinglist
 Rules</a>.
+ <a 
href="//git.php.net/?p=php-src.git;a=blob_plain;f=docs/mailinglist-rules.md;hb=HEAD">Mailinglist
 Rules</a>.
 </p>
 <?php
 
diff --git b/mirroring.php a/mirroring.php
index dac8d0e..974fd53 100644
--- b/mirroring.php
+++ a/mirroring.php
@@ -31,8 +31,8 @@ site_header(
 <h1>Mirroring The PHP Website</h1>
 
 <p>
-The PHP project does no have an official mirror program anymore, but you can
-set-up a mirror for your own network or company.
+ The PHP project does no have an official mirror program anymore, but you can
+ set-up a mirror for your own network or company.
 </p>
 
 <p>
@@ -47,20 +47,11 @@ set-up a mirror for your own network or company.
 
 <p>
  First, you need to have a <a href="http://rsync.samba.org/";>rsync</a>
- installed.  To better serve our official mirror providers and maintainers,
- we switched to a geographically-decentralized distribution architecture.  By
- switching from a single United States-based master server to three Regional
- Rsync Nodes (RRNs), we're able to reduce the amount of latency and time to
- transfer data between an RRN and a mirror, serve more requests per hour
- (allowing for a closer to real-time network update globally), and provide
- redundancy in the event of an outage of a sync server.
-</p>
-
-<p>
- To synchronize your server with the appropriate RRN, first view the <a
+ installed. 
+ To synchronize your server with the appropriate rsync location, first view 
the <a
  href="/images/oidk.net-rsync-distribution-plan-may2012.png">coverage map</a>
- and identify which RRN your mirror should be using.  Next, modify the
- following code for use with your mirror.  Replace 
<code>YOUR_RRN_HOSTNAME</code>
+ and identify which location your mirror should be using. Next, modify the
+ following code for use with your mirror. Replace 
<code>YOUR_RRN_HOSTNAME</code>
  with your RRN's hostname as indicated by the coverage map and be sure to
  change <code>/your/local/path</code> with the path to where your php.net
  mirror will reside on the filesystem.
@@ -74,8 +65,7 @@ set-up a mirror for your own network or company.
 
 <a name="exclude"></a>
 <p>
- Setting up an unofficial mirror, and want to only mirror one
- language of the manual? Add:
+ If you only want to mirror mirror one language of the manual? Add:
 </p>
 
 <pre class="info">
@@ -91,7 +81,7 @@ set-up a mirror for your own network or company.
 </p>
 
 <p>
- Official PHP mirror sites should provide the exact content coming from our 
servers,
+ PHP mirror sites should provide the exact content coming from our servers,
  and must not be altered in any way unless explicitly stated in the mirroring
  guidelines. Failing to do will result in immediate termination and permanent
  expulsion of your participation in the program.
@@ -102,9 +92,8 @@ set-up a mirror for your own network or company.
 <p>
  <a href="http://www.sqlite.org";>SQLite</a> is an embedded
  SQL database implementation that has very high performance for applications
- with low write concurrency. PHP mirrors currently employ SQLite for URL
- shortcut lookups, and it is a requirement of all official mirrors to have
- it installed and available to PHP.
+ with low write concurrency. PHP mirrors can currently employ SQLite for URL
+ shortcut lookups.
 </p>
 
 <p>
@@ -139,8 +128,7 @@ set-up a mirror for your own network or company.
           Options -Indexes -MultiViews
      &lt;/Directory&gt;
 
-     ServerName ccx.php.net
-     ServerAlias cc.php.net www.php.net the.cname.you.set.up.example.com
+     ServerName mymirror.example.com
      ServerAdmin yourn...@example.com
      UseCanonicalName On
 
@@ -192,56 +180,12 @@ set-up a mirror for your own network or company.
 </pre>
 
 <p>
- You should only start to set up an Apache VirtualHost for an official
- mirror if you have <a href="#rule">contacted us first</a> and received
- the permanent names for your mirror. The names for all official PHP mirrors
- are in the convention: <code>ccx.php.net</code>, where <code>cc</code>
- stands for the 2-letter ISO country code of your mirror's location and
- <code>x</code> is an incremental identifier for the mirrors of that country.
- Do not assume that you know the code you will receive until your application
- has been reviewed and approved, and do not submit an application saying, for
- example, "We are applying to become DE1.PHP.NET."  It's possible that the
- mirror already exists, but is experiencing issues that have it temporarily
- removed from active rotation, and delisted from the roster of mirrors. We do
- not want anyone to waste their time only to have their application altered
- or rejected. The mirrors should also listen for the <code>cc.php.net</code>
- hostname, as we moved to providing a simple load-balancing solution:
- <a href="http://en.wikipedia.org/wiki/Round-robin_DNS";>round-robin DNS</a>.
- All mirrors are required to be configured for both CC and CCX, so any active
- mirror can receive traffic for their respective <code>cc.php.net</code>
- hostname, thus providing redundancy and improved uptime for visitors.
-</p>
-
-<p>
- Before adding new official mirrors to our DNS, we require the maintainers
- to set up the mirrors with an address we can use as a CNAME in the DNS.
- This subdomain (<code>the.cname.you.set.up.example.com</code> in the above
- example) will be checked by mirror admins before the mirror is added.
- Therefore it is important that the mirror is capable of serving requests
- for this name and the <code>(www.)cc(x).php.net</code> address provided by the
- mirror administrators.
-</p>
-
-<p class="warn">
- The hostname you provide to us must be a configured hostname to be entered
- into our DNS as a CNAME, not an IP address to be used as an A record. Your
- local DNS information may then translate into both IPv4 and IPv6, should
- you so desire and have the capabilities, but may not exclude IPv4 from the
- record until further notice.
-</p>
-
-<p>
  When setting up the vhost, provide an asterisk, a hostname, or an IP
  address in the VirtualHost container's header (depending on whether
  you would like to make the vhost work for all IPs handled by Apache,
  or just a specific hostname/IP address). Consult
  <a href="http://httpd.apache.org/docs/vhosts/index.html";>the Apache
- documentation</a> for the differences of the two methods. It is very
- important to use your <code>ccx.php.net</code> address as the ServerName, so
- URL redirections will keep the requests in the php.net domain, ensuring
- that the My PHP.net service will work.  Failure to do so will also cause
- your mirror to show up as an unofficial mirror, and to be removed from the
- roster page.
+ documentation</a> for the differences of the two methods.
 </p>
 
 <p>
@@ -267,13 +211,13 @@ set-up a mirror for your own network or company.
 <p>
  You must also set up a cron job that periodically does an rsync to
  refresh your web directory. We prefer that all mirrors update from
- the appropriate RRN from the coverage map every five minutes, to
+ the appropriate RRN from the coverage map not more than once an hour, to
  speed up the distribution of updates to the site and available packages.
  Something like:
 </p>
 
 <pre class="info">
-   */5 * * * * rsync -avzC --timeout=600 --delete --delete-after 
--include='distributions/*.exe' YOUR_RRN_HOSTNAME::phpweb /your/local/path
+   5 * * * * rsync -avzC --timeout=600 --delete --delete-after 
--include='distributions/*.exe' YOUR_RRN_HOSTNAME::phpweb /your/local/path
 </pre>
 
 <p>
@@ -314,11 +258,7 @@ set-up a mirror for your own network or company.
  on your hosting company's site if possible. Grab one of the logos
  from the <a href="/download-logos.php">logos download</a> page, and
  link it to your mirror.  This shows the community that you are a
- proud supporter of PHP and open source technology, and you will be
- worshipped every hour, on the hour, in song and dance, by millions of
- <a href="http://en.wikipedia.org/wiki/Proboscis_monkey"; 
target="_blank">proboscis monkeys</a>
- the world over.  Well, okay, perhaps not.... but folks will certainly
- appreciate your generosity and support!
+ proud supporter of PHP and open source technology.
 </p>
 
 <h2>Mirror Setup Troubleshooting</h2>
@@ -330,52 +270,11 @@ set-up a mirror for your own network or company.
  perform many of the tests executed by the automated mirror management tools.
 </p>
 
-<h2>Data Registered About Official Mirrors</h2>
-
-<p>
- Once you have done the above and your site appears to work, send a message
- to <a href="mailto:php-mirr...@lists.php.net";>php-mirr...@lists.php.net</a>
- with the following information, and appropriate steps will be taken to
- integrate your mirror site:
-</p>
-
-<ul>
- <li>
-  Your country.
- </li>
- <li>
-  The ccx.php.net address you used to set up the mirror site, which
-  you obtained previously in a conversation with the mirror admins.
- </li>
- <li>
-  Your name and email address to be registered as the admin of the mirror.
- </li>
- <li>
-  A hostname that we can use as a CNAME for the country-code-based
-  name of the mirror (<code>the.cname.you.set.up.example.com</code> in the
-  above setup example). Using a name means you can move the mirror to
-  another IP address without coordinating with us at all (though, obviously,
-  it must still be in the country you intend to serve).
- </li>
- <li>
-  Whether or not you've installed local stats support on your mirror.
- </li>
- <li>
-  The name of the sponsor approved previously by mirror program staff.
- </li>
- <li>
-  The URL of the sponsor. This link is provided with the sponsor's name
-  at the bottom of pages, with the sponsor image on the front page and
-  in the mirror listing.
- </li>
-</ul>
-
 <p>
  There is a mailing list named <code>"php-mirrors"</code> at
- <code>lists.php.net</code>, to which you are required to subscribe.
+ <code>lists.php.net</code>, to which you can subscribe.
  This mailing list is very low-traffic and only used for communication
- between mirror maintainers and php.net webmasters, and to provide
- automatic information on mirror outages and other issues.
+ between mirror maintainers and php.net webmasters.
 </p>
 <p>
  To subscribe send an empty message
@@ -383,16 +282,6 @@ set-up a mirror for your own network or company.
 </p>
 
 <p>
- We also operate an EFNet channel, and encourage you to join us there.
- If you are interested, please join us at <code>#php.mirrors</code>.
- Many maintainers and staff members idle in the room around the clock,
- and are available to address questions, concerns, or issues in
- real-time (keeping in mind that the mailing list is the official
- support channel, and this is just a convenient additional method of
- communication between teams).
-</p>
-
-<p>
  <em>
   Thank you for your interest in providing a mirror!  If you ever have any
   questions or concerns, drop us a line at
diff --git b/releases/feed.php a/releases/feed.php
index de41bfb..aa218fc 100644
--- b/releases/feed.php
+++ a/releases/feed.php
@@ -49,7 +49,7 @@ XML;
         $maxtime[] = $time = strtotime($source["date"]);
         $released = date(DATE_ATOM, $time);
 
-        echo "        <link rel=\"enclosure\" title=\"{$source["name"]}\" 
href=\"/get/{$source["filename"]}/from/this/mirror\">\n";
+        echo "        <link rel=\"enclosure\" title=\"{$source["name"]}\" 
href=\"/distributions/{$source["filename"]}\">\n";
         foreach (array('md5', 'sha256') as $hashAlgo) {
             if (isset($source[$hashAlgo])) {
                 echo "            
<php:{$hashAlgo}>{$source[$hashAlgo]}</php:{$hashAlgo}>\n";
diff --git b/thanks.php a/thanks.php
index 3303b10..65855e3 100644
--- b/thanks.php
+++ a/thanks.php
@@ -1,6 +1,7 @@
 <?php
 $_SERVER['BASE_PAGE'] = 'thanks.php';
 include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc';
+include_once $_SERVER['DOCUMENT_ROOT'] . '/include/historical_mirrors.inc';
 site_header("Thanks", array("current" => "community"));
 ?>
 
@@ -104,11 +105,6 @@ site_header("Thanks", array("current" => "community"));
 </li>
 
 </ul>
-<p>
- And special thanks to all the companies who donate server space and
- bandwidth to host our international array of
- <a href="/mirrors.php">mirror sites</a>.
-</p>
 
 <h1>Thanks Emeritus</h1>
 
@@ -136,6 +132,22 @@ site_header("Thanks", array("current" => "community"));
 </li>
 </ul>
 
+<p>
+ And special thanks to all the companies who donated server space and
+ bandwidth to host our historical international array of mirror sites.
+</p>
+
+<ul>
+<?php
+$last_country = '';
+foreach ($historical_mirrors as $m) {
+?>
+ <li><?php echo $COUNTRIES[$m[0]]; ?>: <a href='<?php echo $m[3]; ?>'><?php 
echo $m[2]; ?></a></li>
+<?php
+}
+?>
+</ul>
+
 <p>PHP.net is very grateful for all their support.</p>
 
 <?php site_footer(); ?>
-- 
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to